Simple Return VS Log Return ความแตกต่างที่ไม่ควรมองข้าม!

AlgoAddict Diary
Jan 10, 2019 · 3 min read

ใครที่เคยทำระบบเทรดหุ้น หรือ ทำงานกับข้อมูลทางไฟแนนซ์มาบ้าง ถ้าใช้โปรแกรมสำเร็จรูป เช่น Amibroker หรือ Metastock ก็แล้วไปครับ เราอาจจะไม่ต้องเข้าใจในส่วนของ Return มากนัก เพราะโปรแกรมสำเร็จรูปเค้าจัดการตรงส่วนนี้ให้เราแล้ว

แต่ถ้าเรามีความสนใจที่จะวิเคราะห์ข้อมูลพวกนี้ให้ลึกซึ้งขึ้น โดยจะวิเคราะห์ข้อมูลทางสถิติ หรือ จะสร้างโมเดล Machine Learning เราต้องให้ความสำคัญกับการใช้ Return ให้มากๆครับ เพราะ ถ้าเราใช้ผิด การวิเคราะห์ของเราอาจจะผิดไปทั้งหมดได้เลย

Return คืออะไร?

Return ก็คือผลตอบแทนหุ้นในแต่ละวันนั้นแหละครับ ถ้าหุ้นวันนี้ 100 บาท พรุ่งนี้ ขึ้นไป 110 บาท Return ของหุ้น ณ วันพรุ่งนี้ก็คือ 10% นั่นเอง แต่ 10%นี่มันเป็นเพียงแค่ Return แบบหนึ่งครับ ซึ่ง Return แบบนี้ เราเรียกว่า “Simple Return”

จริงๆ แล้วในการทำงานกับข้อมูล Time Series มันจะมี Return อีกแบบชื่อว่า “Log Return” ครับ ซึ่งเป็นอีกค่าที่นักลงทุนทุกคนควรจะต้องรู้จักเอาไง เดี๋ยวในบทความสั้นๆ นี้ผมจะพาพวกเราไปดูความแตกต่างระหว่าง Return ทั้งสองแบบนี่กันครับ

Simple Return

มาดูแบบแรกกันก่อน Simple Return ชื่อก็บอกอยู่ครับว่ามัน Simple หรือ พื้นฐานมากๆ อย่างที่บอกไปแล้วถ้าหุ้นขึ้นจาก 100 ไป 110 คือ 10% ถ้าเรามองเป็นสมการจะสามารถเขียนได้ ดังนี้

Pt คือ ราคาวันนี้

Pt-1 คือ ราคาเมื่อวาน

ก็ง่ายๆครับ คือราคาวันนี้หารกับราคาเมื่อวานเพื่อดูว่ามันขึ้นมากี่เปอร์เซ็นเท่านั้นเอง จากด้านบนก็จะได้ (110/100)-1 = 1.1–1 = 0.1 หรือ 10% นั่นเอง

ข้อดีและข้อเสียของ Simple Return

ข้อดีของ Simple Return คือมันง่าย และ มันก็เป็นค่าจริงครับ เพราะหุ้นขึ้นจาก 100 มา 110 มันขึ้นมา 10% จริงๆ และ ถ้าหุ้นขึ้นไปที่ค่าต่างๆ ก็สามารถคิดได้เป็น % ดังตารางด้านล่าง

ตรงช่อง “pct_change” คือ Simple Return ณ วันนั้นๆ ดูช่องนี้จะเห็นว่าทุกช่องดูจริงหมดเลยใช่ไหมครับ 110 ไป 130 ก็เพิ่ม 18.19% จริงๆ จาก 130 ไป 150 ก็เพิ่มขึ้น 15.39 % จริงๆ

แต่พอมา cumulative หรือ รวมค่า Simple Return สะสม ก็จะเจอปัญหาทันทีครับ! ปัญหามันอยู่ตรงนี้ครับ จะเห็นว่าพอเอาค่าที่ “ดูจริง” ทั้งสามวันมาบวกกัน คือ 10 + 18.19 + 15.39 มันดันได้ 43.58% ดูเหมือนจะไม่มีอะไรผิดพลาด แต่เดี๋ยวก่อนครับ … ถ้าเราวงกลับมาดูที่ราคาตั้งต้นจากวันแรก 100 มาจบ 150 มันไม่ได้ขึ้นมา 43.58% ซักหน่อย แต่มันคือ การขึ้นมาที่ 50% ต่างหากครับ โดยสามารถคิดได้จาก การเอาราคาวันสุดท้าย หารด้วยราคาวันแรก ดังนี้ครับ (150/100)-1 = 1.5–1 = 0.5 เห็นมั้ยครับ ขึ้นมา 50% ซึ่งถ้าคำนวณจากราคาแบบนี้ มันก็จริงอีกนั่นแหละ เพราะมันขึ้นมา 50% จริงๆ

แล้วยังไงล่ะครับ ค่า Cumulative Return ที่คำนวณสองแบบไม่เท่ากันซะแล้ว!

ค่ารวมกันของ Simple ที่คิดจากรายวัน รวมกันได้ 43.58% มันไม่เท่ากับ 50% ที่คิดจากวันแรกกับวันสุดท้ายแบบนี้ เราเรียกได้ว่า “Simple Return ไม่มีคุณสมบัติคำนวณผ่านช่วงเวลานั่นเอง” ฉะนั้นเราจึงมี อีกตัวขึ้นมา ซึ่งก็คือ

Log Return! (continuous return)

“Log Return” นั้นมีการคำนวณที่คล้ายคลึงกับ Simple Return แต่ต่างกันตรงที่มีการ take logarithm เข้ามาด้วยนั่นเอง

มาลองคำนวณดูซักอัน ณ วันที่หุ้นขึ้นจาก 100 ไป 110 ก็จะได้ log(110/100) = 0.0953 หรือ ขึ้นมา 9.53 % การคำนวณยุ่งขึ้นมานิดหนึงก็เรื่องหนึงแล้ว แถมค่าที่ได้ก็ดูไม่จริงอีกแหนะ! เพราะดูยังไงราคาที่วิ่งจาก 100 มา 110 มันต้อง 10% สิ ถ้าอย่างนั้น Log Return นี่มันมีดีอะไรล่ะ? เดี๋ยวมาดูกันครับ

ก่อนอื่นดูสมการนิดหนึง

เหมือนกับข้างบนนะครับ ต่างกันตรงที่มีการ take log เข้ามา แล้วก็ไม่มี -1 เท่านั้นเอง ตัวอย่างการคิด Log return ที่ค่าราคาต่างๆ แสดงดังตารางด้านล่างนะครับ

เหมือนเดิมครับ ช่อง pct_change อันนี้จะเป็นของ Log Return แต่ไม่มีซักค่าเลยที่เป็นจริง (แน่ล่ะเพราะเรา take log เข้ามา) เช่น จาก 100 ไป 110 ไม่ได้ขึ้น 9.53% ซะหน่อย แต่ค่า Log Return มันดันคิดได้แบบนี้ และค่าอื่นๆก็เช่นกันครับ 110 ไป 130 ก็ไม่ได้ขึ้น 16.71% ซักหน่อย สุดท้าย 130 ไป 150 ก็ไม่ได้ขึ้น 14.31% อีกนั่นแหละ ถ้างั้นมันมีดีอะไรกันล่ะไอ่เจ้า Log Return นี่???

ข้อดีของ Log Return

ถ้าถามว่าเจ้า Log Return นี้มันดียังไง ให้ลองมองดูช่อง cumulative ดูครับ จะเห็นว่าเมื่อเรานำ Log Return แต่ละวันมารวมกันมันจะได้ +40.55%

ถ้าเราทำเหมือนตอน Simple return คือ เอาวันแรกกับวันสุดท้ายมาหา Log Return กันจะได้ log(150/100) = 0.4055 หรือ 40.55% ซึ่งเท่ากันกับ cumulative ที่คำนวณไว้พอดี!!! นี่แหละครับ หลักสำคัญของมันเลย

คือ Log Return มีความสามารถคำนวณผ่านช่วงเวลาได้ หรือมันมีคุณสมบัติเป็น Continuous นั่นเองครับ

เพราะฉะนั้น เราควรใช้ Log Return นี่แหละครับมาคำนวณการทำระบบเทรดหรือข้อมูลทาง Finance ที่เราต้องทำงานเกี่ยวกับเวลา เช่น การคิดกำไรรายวันของระบบเราต้องใช้ Log Return ครับ เพราะมันมีคุณสมบัติความเท่ากันของการคำนวณผ่านช่วงเวลาต่างๆครับ การคำนวณกำไรขาดทุนของเราจะได้ไม่ผิดพลาด

แล้วที่ว่าราคา Log Return มันดูไม่จริง เช่น จาก 100 ไป 150 มันต้องขึ้น 50% ไม่ใช่ 40.55% เราจะทำยังไง?? จริงๆ แล้วก็แก้ได้ไม่ยากเลยครับ เราก็แค่ take Exponential เข้าไปในการคำนวณกลับเป็นค่า Return จริง ก็เท่านั้นก็จบครับ โดยการใส่ Exponential เพื่อคำนวณกลับ สามารถทำได้ ดังนี้

EXP(0.4055) = 0.5 เห็นมั้ยครับ เราก็จะได้ 50% Return กลับมาแล้ว

สรุปมันมีทั้งคุณสมบัติ Continuous แถมยังสามารถคำนวณกลับมาเป็นค่าจริงได้ด้วย เราจึงควรใช้มันในการคำนวณผ่านช่วงเวลาครับ

เห็นมั้ยครับ จุดเล็กๆ น้อย ที่เราอาจจะไม่เคยสังเกตุ แต่ในการทำงานจริง อาจจะส่งผลลัพธ์ต่อการคำนวณอย่างใหญ่หลวงได้! หวังว่าจากนี้ไป ทุกๆ ท่านจะมีความเข้าใจ และ สามารถคำนวณค่า Return ผ่านช่วงเวลาอย่างถูกต้องได้อย่างสบายๆ แล้วนะครับ

ด้วยความปรารถนาดี
AlgoAddict

More From Medium

Related reads

Related reads

Decision Tree

164

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade