Prices and Returns
ราคาหุ้นลดลงหลังจ่ายปันผล ผู้ลงทุนขาดทุนเท่ากับราคาที่ลดลงหรือไม่?
“ราคาสินทรัพย์เปลี่ยนแปลงอยู่เสมอเมื่อตลาดการเงินเปิดทำการ”
“Asset prices are dynamic, changing frequently whenever the financial markets are open.”
— Stephen J. Taylor · Asset Price Dynamics, Volatility, and Prediction, Preface, น. xiii · แปลไทยเพื่อประกอบบทเรียน
ราคาที่เห็นกับผลตอบแทนที่ได้รับ
ราคา 100 บาทบอกมูลค่าต่อหุ้น ณ เวลาหนึ่ง ผลตอบแทนต้องเทียบกับราคาที่ซื้อและเงินที่ได้รับระหว่างถือ ถ้าซื้อที่ 100 ขายที่ 99 และรับปันผล 2 ผู้ลงทุนได้ผลตอบแทน 1% แม้ราคาหุ้นลดลง 1%
ก่อนวิเคราะห์ข้อมูล เราจึงต้องระบุว่าใช้ราคาอะไร วัดช่วงใด และรวมกระแสเงินสดใดบ้าง ข้อตกลงเหล่านี้มีผลต่อทั้งค่าเฉลี่ย ความผันผวน และการเปรียบเทียบสินทรัพย์
หน้านี้ครอบคลุมหัวข้อ Prices and Returns ในสารบัญบท 2 ของ Taylor โดยใช้ตัวอย่างที่คำนวณขึ้นใหม่ อ่านต่อที่ Stochastic Processes เพื่อแยกข้อมูลที่เกิดขึ้นแล้วออกจากแบบจำลองที่ใช้สร้างและพยากรณ์ข้อมูล
ดูราคาสองเส้นให้เทียบกันได้
ให้ เป็นราคาปิดเมื่อสิ้นช่วง t และเรียงข้อมูลตามเวลา เราเรียกชุด ว่าอนุกรมเวลา หรือ time series ดัชนี t ในตัวอย่างนี้นับวันซื้อขาย วันที่ 1 กับวันที่ 2 จึงอาจมีวันหยุดคั่นอยู่
ใช้ราคาสมมติสองชุดซึ่งเริ่มและจบเท่ากัน เพื่อดูว่าระหว่างทางต่างกันอย่างไร
| วันซื้อขาย | ราคา A | ราคา B |
|---|---|---|
| 0 | 100 | 100 |
| 1 | 102 | 98 |
| 2 | 101 | 103 |
| 3 | 103 | 99 |
| 4 | 102 | 106 |
| 5 | 104 | 104 |
ทั้งสองชุดเพิ่มขึ้น 4% ในห้าวัน แต่ B ขึ้นลงแรงกว่า A หลายวัน ผลตอบแทนต้น–ปลายช่วงจึงยังไม่บอกความเสี่ยงระหว่างถือ
หากสินทรัพย์เริ่มที่ราคาต่างกัน ใช้ดัชนีฐาน 100 เพื่อเทียบการเปลี่ยนแปลงเชิงสัดส่วน
การตั้งฐานใหม่ไม่เปลี่ยนผลตอบแทน และไม่ใช่การปรับปันผลหรือแตกหุ้น ส่วนกราฟราคาแบบ logarithmic ใช้ระยะห่างเท่ากันแทนการเปลี่ยนแปลงในอัตราส่วนเท่ากัน เช่น 100 → 110 และ 200 → 220 ต่างเพิ่ม 10%
ราคาสมมติหกจุดให้ผลตอบแทนห้าค่า ใช้สาธิตวิธีอ่านกราฟ ไม่ใช้ประมาณพฤติกรรมตลาดจากตัวอย่างขนาดเล็กนี้
ตรวจข้อมูลก่อนคำนวณ
คำว่า closing price อาจหมายถึงราคาซื้อขายสุดท้าย ราคาประมูลปิด หรือราคาที่ผู้ให้บริการประเมินไว้ ต้องอ่านนิยามของแหล่งข้อมูลก่อนนำหลายชุดมาต่อกัน
| เรื่องที่ต้องตรวจ | ผลที่อาจเกิดกับอนุกรม | วิธีจัดการ |
|---|---|---|
| เวลา เขตเวลา และปฏิทิน | ราคาปิดคนละตลาดอาจบันทึกคนละเวลา แม้อยู่วันเดียวกัน | เก็บ timestamp พร้อมเขตเวลา และกำหนดช่วงถือให้ตรงกัน |
| วันหยุดกับข้อมูลหาย | การเติมราคาซ้ำสร้างผลตอบแทนศูนย์ | แยกวันไม่เปิดตลาดออกจากวันที่ขาดข้อมูล บันทึกวิธีเติมถ้าจำเป็น |
| ราคาค้างหรือซื้อขายบาง | ผลตอบแทนศูนย์หลายวันแล้วกระโดดเมื่อมี trade | ตรวจเวลาซื้อขายล่าสุด ปริมาณ และราคา bid–ask ประกอบ |
| ปันผลและแตกหุ้น | ราคาเปลี่ยนโดยไม่ได้สะท้อนกำไรขาดทุนของผู้ถือทั้งหมด | ตรวจ corporate actions และนิยาม adjusted price |
| รายชื่อสินทรัพย์ | ใช้เฉพาะบริษัทที่ยังอยู่วันนี้แล้วมองข้ามบริษัทที่ถูกเพิกถอน | ใช้รายชื่อที่ทราบ ณ เวลานั้นและรวม delisting returns หากมี |
| ข้อมูลที่ถูกแก้ย้อนหลัง | การทดสอบอาจใช้ข้อมูลที่ผู้ลงทุนยังไม่รู้ในวันตัดสินใจ | เก็บวันที่เผยแพร่และวันที่แก้ไข ใช้ข้อมูลแบบ point-in-time เมื่อจำเป็น |
| หน่วยและสกุลเงิน | บาทกับสตางค์ หรือ USD/JPY กับ JPY/USD ให้ตัวเลขต่างกัน | ระบุหน่วยและทิศทางการเสนอราคาไว้กับชุดข้อมูล |
ตัวอย่างแตกหุ้น 2 ต่อ 1: ก่อนแตกถือหนึ่งหุ้นราคา 100 หลังแตกถือสองหุ้นราคาหุ้นละ 50 มูลค่ายังเป็น 100 การใช้ราคาดิบ 100 → 50 จะรายงาน −50% อย่างผิดความหมาย ถ้าปรับราคาเดิมเป็น 50 แล้ว ผลตอบแทนของเหตุการณ์นี้เป็นศูนย์
Adjusted close ของแต่ละผู้ให้บริการอาจใช้วิธีปรับต่างกัน บางชุดรวมปันผลและสมมติการนำกลับไปลงทุนแล้ว การบวกปันผลเข้าไปอีกครั้งจะนับซ้ำ เก็บราคาดิบ เหตุการณ์ปรับราคา และวิธีคำนวณแยกกันเมื่อทำได้
ราคาศูนย์หรือติดลบใช้ log return ไม่ได้ อย่าลบรายการเหล่านี้โดยอัตโนมัติ ต้องตรวจว่าข้อมูลผิดหรือเป็นราคาที่เกิดขึ้นได้ในตลาดนั้น เช่น futures บางประเภท แล้วเลือกตัวแปรที่สอดคล้องกับสัญญา
แปลงราคาสองชุดเป็นผลตอบแทน
เมื่อไม่มีปันผล simple return ของแต่ละวันคือ ตัวอย่าง B วันที่ 2 เพิ่มจาก 98 เป็น 103 จึงได้ ต้องหารด้วยราคาวันก่อน ไม่ใช่ราคาเริ่มต้น 100 ทุกวัน
| วัน | Simple return A | Simple return B |
|---|---|---|
| 1 | 2.0000% | −2.0000% |
| 2 | −0.9804% | 5.1020% |
| 3 | 1.9802% | −3.8835% |
| 4 | −0.9709% | 7.0707% |
| 5 | 1.9608% | −1.8868% |
กราฟราคาเน้นมูลค่าสะสม ส่วนกราฟผลตอบแทนช่วยเห็นขนาดการเปลี่ยนแปลงแต่ละช่วง การเพิ่มหรือลดระดับราคาทั้งชุดด้วยตัวคูณเดียวกันเปลี่ยนกราฟราคา แต่คงผลตอบแทนเดิม ลองปรับราคาเริ่มต้นของ B ในตัวทดลองแล้วสลับไปดูผลตอบแทน
ราคาที่มีแนวโน้มไม่ได้รับรองว่าผลตอบแทนจะพยากรณ์ได้ และการแปลงเป็นผลตอบแทนก็ไม่ได้รับรอง stationarity ต้องตรวจพฤติกรรมของชุดที่แปลงแล้วอีกครั้ง
Simple return, log return และผลตอบแทนสะสม
ให้ เป็นปันผลต่อหุ้นที่รับเมื่อสิ้นช่วง โดยยังไม่หักต้นทุนซื้อขาย
Simple return เป็นสัดส่วนกำไรต่อเงินต้น ส่วน log return คือ logarithm ของอัตราส่วนความมั่งคั่งปลายช่วงต่อต้นช่วง ใช้ได้เมื่อ ที่ R=−100% จะไม่มี log return ที่เป็นจำนวนจำกัด
สำหรับผลตอบแทนขนาดเล็ก ใช้การขยาย Taylor ได้ว่า
จึงประมาณ r≈R ได้ใกล้ศูนย์ แต่ที่ R=20% ค่า r≈18.2322% ความต่างไม่เล็กพอจะละเสมอไป ต้องเก็บค่าทศนิยม .20 ในการคำนวณ แล้วค่อยคูณ 100 เมื่อต้องการแสดงเปอร์เซ็นต์
ผลตอบแทนหลายช่วงคำนวณดังนี้ โดยถ้ามีปันผลให้สมมติการนำกลับไปลงทุนอย่างสอดคล้องกัน
ขึ้น 20% แล้วลง 20% เหลือเงิน ผลตอบแทนสะสมคือ −4% ค่าเฉลี่ยเลขคณิตของ simple returns เท่ากับศูนย์ แต่ค่าเฉลี่ยเรขาคณิตต่อช่วงคือ
สำหรับน้ำหนักพอร์ต ณ ต้นช่วง ซึ่งรวมเป็น 1 ผลตอบแทน simple ของพอร์ตเท่ากับ แล้วจึงหา ผลรวมถ่วงน้ำหนักของ log returns โดยทั่วไปไม่เท่ากับ log return ของพอร์ต
อัตราผลตอบแทนต่อปีต้องระบุวิธีแปลง ถ้ามี T วันซื้อขายและใช้ 252 วันต่อปี อัตราเติบโตทบต้นที่เทียบเป็นรายปีคือ
นี่เป็นการเทียบอัตราจากช่วงที่สังเกต ไม่ใช่การพยากรณ์ปีถัดไป ส่วนการใช้ เป็นค่าเฉลี่ยแบบเลขคณิตที่แปลงหน่วย มีความหมายต่างกัน
เมื่อเปลี่ยนสินทรัพย์ นิยามผลตอบแทนต้องตามไปด้วย
ดัชนีราคาและดัชนี total return อาจเริ่มที่ฐานเดียวกันแต่แยกจากกันเมื่อมีปันผล เลือกชุดให้ตรงกับผลตอบแทนที่ผู้ลงทุนได้รับ ส่วนการเปรียบเทียบข้ามประเทศต้องระบุว่าจะวัดในสกุลเงินท้องถิ่นหรือสกุลเงินของผู้ลงทุน
หากสินทรัพย์ให้ผลตอบแทน และสกุลเงินท้องถิ่นแข็งค่าต่อสกุลเงินผู้ลงทุนในอัตรา จะได้
ตัวอย่างสินทรัพย์เพิ่ม 5% และสกุลเงินเพิ่ม 2% ให้ผลตอบแทนในสกุลผู้ลงทุน หากกลับทิศทางการ quote FX log return จะเปลี่ยนเครื่องหมาย ส่วน simple return ต้องคำนวณ
ตราสารหนี้มี coupon, accrued interest และการเปลี่ยนราคา การใช้ clean price อย่างเดียวอาจตกหล่นกระแสเงินสด ส่วน futures ต้องระบุการวางเงิน การ mark-to-market และวิธีต่อสัญญา การกระโดดที่วัน roll ใน continuous series อาจเกิดจากวิธีต่อข้อมูล จึงไม่เท่ากับผลตอบแทนที่ซื้อขายได้โดยตรง
สำหรับข้อมูลระหว่างวัน การใช้ trade price กับ midpoint ให้ผลต่างกันจาก bid–ask spread อ่านต่อใน ข้อมูลความถี่สูง ส่วนการเปรียบเทียบรายวัน รายสัปดาห์ และรายเดือนต้องใช้ช่วงข้อมูลเดียวกันก่อนแยกผลของความถี่
ลองคำนวณ
- ใช้ราคาทั้งสองชุดในตาราง คำนวณผลตอบแทนสะสมจากผลคูณ simple returns และจากผลบวก log returns ผลตรงกันหรือไม่?
- ซื้อหนึ่งหุ้นที่ 100 รับปันผล 2 และขายที่ 99 ได้ผลตอบแทนเท่าไร? ถ้าผู้ให้ข้อมูลปรับปันผลไว้แล้ว จะป้องกันการนับซ้ำอย่างไร?
- ถือสินทรัพย์ที่ให้ผลตอบแทน 5% แต่สกุลเงินท้องถิ่นอ่อนลง 2% ผลตอบแทนในสกุลผู้ลงทุนเป็นเท่าไร?
เปิดแนวคำตอบ
ข้อ 1 ทั้งสองชุดได้ simple return สะสม 4% และ log return สะสม
ข้อ 2 ได้ simple return 1% และ log return ประมาณ 0.9950% ต้องอ่านนิยาม adjusted price และเลือกคำนวณจากราคาที่รวมปันผลแล้ว หรือจากราคาดิบกับกระแสเงินสด โดยไม่รวมสองวิธีซ้ำกัน
ข้อ 3 ได้
ดาวน์โหลด Notebook มีราคาสองชุด ตารางผลตอบแทน ตัวอย่างปันผล แตกหุ้น การทบต้น และการแปลงสกุลเงิน พร้อมผลรัน
แหล่งอ้างอิงและบทถัดไป
- Stephen J. Taylor, Asset Price Dynamics, Volatility, and Prediction (2005), หัวข้อบท 2 · สารบัญและคำนำจากเว็บไซต์ผู้เขียน
- หน้าหนังสือและทรัพยากรของผู้เขียน
- Stochastic Processes สำหรับตัวแปรสุ่ม stationarity และแบบจำลองอนุกรมเวลา
- ตารางเทียบหัวข้อบท 2–4
ตัวอย่างตัวเลขและภาพในหน้านี้สร้างใหม่เพื่อการเรียนรู้ ไม่ใช่การคัดลอกอนุกรมราคาหรือตารางสถิติจากหนังสือ