Portfolio Management Toolkit Notes
Portfolio Management Toolkit Notes

How to Calculate return

เงิน 1 ล้านบาท ปีแรกกำไร 100% ปีที่สองขาดทุน 50% สรุปแล้วเราได้ผลตอบแทนเท่าไร?

ซื้อสินทรัพย์ 80 บาท ขาย 100 บาท ได้กำไร 20 บาท แต่ถ้าซื้ออีกสินทรัพย์ที่ 400 บาทแล้วขาย 420 บาท กำไร 20 บาทเท่ากันไม่ได้หมายถึงผลการลงทุนเท่ากัน เพราะเงินที่ใช้เริ่มต้นต่างกัน ตัวแรกให้ผลตอบแทน 25% ส่วนตัวที่สองให้ 5%

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

ตัวเลขในบทนี้เป็นตัวอย่างสมมติสำหรับอธิบายวิธีคำนวณผลตอบแทน

1. Simple return: ได้หรือเสียเท่าไรเมื่อเทียบกับเงินต้น

ให้ Pt−1P_{t-1} เป็นราคาต้นช่วง และ PtP_t เป็นราคาปลายช่วง หน่วยเป็นบาทต่อหุ้นเหมือนกัน เมื่อไม่มีปันผล Simple return คือ

Rt=Pt−Pt−1Pt−1=PtPt−1−1.R_t=\frac{P_t-P_{t-1}}{P_{t-1}}=\frac{P_t}{P_{t-1}}-1.

ตัว tt นับช่วงเวลาที่เลือก เช่น วัน เดือน หรือปี การเปรียบเทียบ 5% ต่อเดือนกับ 5% ต่อปีต้องแปลงให้เป็นช่วงเวลาเดียวกันก่อน

ราคา 80 → 100 ให้ R=0.25R=0.25 หรือ 25% ตัวเลข 0.25 เป็นทศนิยมที่ใช้คำนวณ ส่วน 25% เป็นรูปแสดงผล ห้ามใส่ 25 ลงในสูตรที่ต้องการ 0.25

อีกค่าที่ใช้บ่อยคือ Gross return หรือ Gt=1+RtG_t=1+R_t ซึ่งเป็นตัวคูณเงินลงทุน ตัวอย่างนี้ได้ G=1.25G=1.25 หมายถึงเงินต้น 1 บาทกลายเป็น 1.25 บาท หรือได้กำไร 25%

ถ้ารับปันผล DtD_t ต่อหุ้นเมื่อสิ้นช่วง ผลตอบแทนรวมก่อนภาษีและค่าใช้จ่ายคือ

Rttotal=Pt+Dt−Pt−1Pt−1.R_t^{\mathrm{total}}=\frac{P_t+D_t-P_{t-1}}{P_{t-1}}.

เช่น ซื้อ 80 บาท สิ้นช่วงเหลือ 79 บาท แต่รับปันผล 3 บาท ผลตอบแทนจากราคาเท่ากับ −1.25% ขณะที่ผลตอบแทนรวมเท่ากับ 2.5% หากใช้ราคาหรือดัชนีที่ปรับปันผลไว้แล้ว ต้องตรวจวิธีปรับก่อนเพื่อไม่บวกปันผลซ้ำ การเชื่อมผลตอบแทนรวมหลายช่วงด้วยการคูณสะท้อนการนำเงินที่ได้รับกลับไปลงทุนตามวิธีสร้างชุดข้อมูลนั้น

2. หลายช่วงเวลา: ทำไมบวกเปอร์เซ็นต์ตรง ๆ ไม่ได้

ลองเริ่มจากเงินลงทุน 1,000,000 บาท ปีแรกกำไร 100% และปีที่สองขาดทุน 50% ตลอดสองปีไม่มีการฝากถอนเงินเพิ่ม และสมมติว่าไม่มีปันผล ภาษี หรือค่าใช้จ่าย

การบวก 100%−50%=50%100\%-50\%=50\% จะให้คำตอบว่าได้กำไรครึ่งล้าน ลองเทียบกับจำนวนเงินจริงทีละปี

ช่วงเวลา เงินต้นช่วง Simple return กำไรหรือขาดทุนเป็นบาท เงินปลายช่วง
ปีที่ 1 1,000,000 +100% +1,000,000 2,000,000
ปีที่ 2 2,000,000 −50% −1,000,000 1,000,000

ปีแรกกำไร 100% ของเงิน 1 ล้านบาท จึงได้กำไร 1 ล้านบาท ส่วนปีที่สองขาดทุน 50% ของเงิน 2 ล้านบาท ก็เสีย 1 ล้านบาทเท่ากัน สุดท้ายเงินกลับมาเท่าทุน

1,000,000 → +100%  2,000,000 → −50%  1,000,000.1{,}000{,}000\ \xrightarrow{\,+100\%\,}\ 2{,}000{,}000 \ \xrightarrow{\,-50\%\,}\ 1{,}000{,}000.
เงินเริ่มต้น 1 ล้านบาท เพิ่มเป็น 2 ล้านบาทเมื่อได้กำไร 100% แล้วกลับมา 1 ล้านบาทเมื่อขาดทุน 50% ผลตอบแทนสะสม 0%
แท่งแสดงมูลค่าเงินลงทุนโดยเริ่มแกนที่ศูนย์ ปีแรกได้กำไร 1 ล้านบาท ปีที่สองเสีย 1 ล้านบาท · ตัวอย่างสมมติ · ดาวน์โหลดภาพ SVG

ผลตอบแทนสะสมทั้งสองปีคือ

R0:2=1,000,0001,000,000−1=0.R_{0:2}=\frac{1{,}000{,}000}{1{,}000{,}000}-1=0.

ใช้ตัวคูณเงินลงทุนเชื่อมแต่ละปี

กำไร 100% หมายถึงเงินกลายเป็น 2 เท่า ส่วนขาดทุน 50% หมายถึงเงินเหลือ 0.5 เท่า ตัวคูณของทั้งสองปีจึงเป็น

(1+R1)(1+R2)=2×0.5=1.(1+R_1)(1+R_2)=2\times0.5=1.

เงินปลายทางเท่ากับ 1 เท่าของเงินตั้งต้น เมื่อหักเงินต้นหนึ่งเท่าออก ผลตอบแทนสะสมจึงเป็น 1−1=01-1=0 สำหรับ TT ช่วงเวลาที่ต่อกัน หลักเดียวกันเขียนได้ว่า

R0:T=∏t=1T(1+Rt)−1.R_{0:T}=\prod_{t=1}^{T}(1+R_t)-1.

เครื่องหมาย ∏\prod หมายถึงนำทุกพจน์มาคูณกัน สูตรนี้คูณ gross returns ของทุกช่วงเข้าด้วยกัน แล้วลบหนึ่งเพื่อหาผลตอบแทนสะสม

3. Log return: เปลี่ยนการคูณให้เป็นการบวก

Log return เริ่มจากตัวคูณเงินลงทุนเช่นเดียวกัน แล้วนำมาหาลอการิทึมธรรมชาติ ln⁡\ln ซึ่งมีฐาน ee ไม่ใช่ log ฐาน 10 ให้ VtV_t เป็นมูลค่าเงินลงทุนเมื่อสิ้นช่วง tt

rt=ln⁡(VtVt−1)=ln⁡(1+Rt).r_t=\ln\left(\frac{V_t}{V_{t-1}}\right)=\ln(1+R_t).

ในตัวอย่างนี้ปีแรกเงินเพิ่มเป็น 2 เท่า จึงมี log return เท่ากับ ln⁡2\ln 2 ปีที่สองเงินเหลือครึ่งหนึ่ง จึงมี log return เท่ากับ ln⁡0.5\ln 0.5

ช่วงเวลา ตัวคูณเงินลงทุน Log return (ทศนิยม)
ปีที่ 1 2 ln⁡2≈+0.693147\ln 2\approx+0.693147
ปีที่ 2 0.5 ln⁡0.5≈−0.693147\ln 0.5\approx-0.693147
รวมสองปี 2×0.5=12\times0.5=1 ln⁡1=0\ln 1=0
Log return ปีแรกบวก 0.693147 ปีที่สองลบ 0.693147 แท่งสูงเท่ากันคนละด้านของศูนย์ ผลรวม 0
แท่งบวกกับแท่งลบมีขนาดเท่ากันจึงหักล้างกัน แกนนี้เป็นหน่วย log แบบทศนิยม ไม่ใช่เปอร์เซ็นต์กำไร · ตัวอย่างสมมติ · ดาวน์โหลดภาพ SVG

ถ้ายังไม่คุ้นกับ log ให้เริ่มจากความสัมพันธ์ er=1+Re^r=1+R: log return คือจำนวน rr ที่เมื่อใช้เป็นเลขชี้กำลังของ ee แล้วจะได้ตัวคูณเงินลงทุนกลับมา ปีแรก e0.693147≈2e^{0.693147}\approx2 ส่วนปีที่สอง e−0.693147≈0.5e^{-0.693147}\approx0.5

ทำไม Log return จึงบวกข้ามเวลาได้

ลอการิทึมมีคุณสมบัติว่า ln⁡a+ln⁡b=ln⁡(ab)\ln a+\ln b=\ln(ab) เมื่อ aa และ bb เป็นบวก ดังนั้น

r1+r2=ln⁡2+ln⁡0.5=ln⁡(2×0.5)=ln⁡1=0.r_1+r_2=\ln 2+\ln 0.5 =\ln(2\times0.5)=\ln 1=0.

ผลรวม log returns ของช่วงเวลาที่ต่อกันเท่ากับ log return จากจุดเริ่มต้นถึงจุดสิ้นสุด คุณสมบัตินี้เรียกว่า การบวกข้ามเวลา (time additivity)

ดูเหตุผลอีกแบบหนึ่ง โดยเขียนมูลค่าแต่ละปีเป็น V0,V1,V2V_0,V_1,V_2

r1+r2=ln⁡(V1V0)+ln⁡(V2V1)=ln⁡(V1V0×V2V1)=ln⁡(V2V0).\begin{aligned} r_1+r_2 &=\ln\left(\frac{V_1}{V_0}\right)+\ln\left(\frac{V_2}{V_1}\right)\\ &=\ln\left(\frac{V_1}{V_0}\times\frac{V_2}{V_1}\right)\\ &=\ln\left(\frac{V_2}{V_0}\right). \end{aligned}

มูลค่า V1V_1 ที่คั่นระหว่างสองปีตัดกัน เหลือเพียงมูลค่าสุดท้ายเทียบกับมูลค่าเริ่มต้น เราจึงเลือกคำนวณทีละปีแล้วบวก หรือคำนวณรวดเดียวจากต้นถึงปลายก็ได้คำตอบเดียวกัน หากแบ่งช่วงเดียวกันเป็นรายเดือนแล้วบวก log returns ทุกเดือน ผลรวมก็ยังเท่าเดิม

สำหรับหลายช่วงเวลา

r0:T=∑t=1Trt=ln⁡(VTV0).r_{0:T}=\sum_{t=1}^{T}r_t=\ln\left(\frac{V_T}{V_0}\right).

สูตรนี้ใช้กับมูลค่าบวกของเงินลงทุนก้อนเดียวกัน โดยไม่มีฝากถอนภายนอก หรือใช้อนุกรมที่ปรับกระแสเงินสดไว้แล้ว ช่วงที่นำมารวมต้องต่อกันครบและไม่ซ้อนกัน เช่น รวม log returns รายเดือน 12 เดือนเป็นหนึ่งปีได้ แต่ห้ามนำผลรายปีนั้นมาบวกซ้ำกับ 12 เดือนเดิม

จากผลรวม Log return กลับมาเป็นเงินและเปอร์เซ็นต์

ผลรวมยังอยู่ในหน่วย log แปลงเป็นผลตอบแทนสะสมและเงินปลายทางได้ด้วย

R0:T=er0:T−1,VT=V0er0:T.R_{0:T}=e^{r_{0:T}}-1, \qquad V_T=V_0e^{r_{0:T}}.

ตัวอย่างสองปีมี r0:2=0r_{0:2}=0 จึงได้ผลตอบแทนสะสม e0−1=0%e^0-1=0\% และเงินปลายทาง 1,000,000×e0=1,000,0001{,}000{,}000\times e^0=1{,}000{,}000 บาท ตรงกับจำนวนเงินที่เราติดตามในตาราง

อย่าอ่าน log return 0.6931470.693147 ของปีแรกว่าได้กำไร 69.3147% เงินปีแรกเพิ่มขึ้น 100% เพราะ eln⁡2−1=1e^{\ln 2}-1=1 หรือ 100% หากแสดง log return คูณ 100 ต้องระบุหน่วยว่า log return × 100

คุณสมบัตินี้ใช้ได้แม้เงินไม่กลับมาเท่าเดิม

สมมติปีที่สามได้กำไรอีก 20% เงินจึงเพิ่มจาก 1 ล้านบาทเป็น 1.2 ล้านบาท ผลรวม log returns ทั้งสามปีเป็น

ln⁡2+ln⁡0.5+ln⁡1.2=ln⁡(2×0.5×1.2)=ln⁡1.2≈0.182322.\ln 2+\ln 0.5+\ln 1.2 =\ln(2\times0.5\times1.2)=\ln 1.2\approx0.182322.

แปลงกลับได้ eln⁡1.2−1=20%e^{\ln 1.2}-1=20\% เท่ากับผลตอบแทนจากเงินต้น 1 ล้านบาทไปถึง 1.2 ล้านบาทพอดี

Simple return กับ log return วัดการเปลี่ยนแปลงของเงินก้อนเดียวกัน เมื่อ gross return เป็นบวกจึงแปลงกลับไปมาได้โดยตรง การประมาณเกิดขึ้นเมื่อใช้ rt≈Rtr_t\approx R_t สำหรับผลตอบแทนขนาดเล็ก

ชื่อ continuously compounded return มาจากการเขียนตัวคูณการเติบโตเป็น ere^r เราคำนวณ log return จากมูลค่าที่สังเกตปีละครั้งได้ โดยไม่ต้องสมมติว่าราคาเคลื่อนที่ต่อเนื่อง

ทดลองเปลี่ยนตัวเลข: เงินกับ Log return ไปด้วยกันอย่างไร

เริ่มจาก +100% แล้ว −50% จากนั้นเลือก +100% แล้ว −25% ดูว่าแท่ง Log return ยังหักล้างกันหมดหรือไม่ กด สลับลำดับปี เพื่อเปรียบเทียบเงินระหว่างทางกับเงินปลายทาง แล้วลองเลื่อนค่าเอง

เปิด JavaScript เพื่อปรับผลตอบแทนในตัวทดลอง ภาพและตัวอย่างคำนวณด้านบนอ่านได้โดยไม่ใช้ JavaScript

4. ผลตอบแทนที่ต้องได้เพื่อกลับมาเท่าทุน

เมื่อราคาลดลงแล้วกลับขึ้นมาเท่าเดิม simple return ของขาลงกับขาขึ้นมีขนาดต่างกัน ส่วน log return มีขนาดเท่ากันแต่คนละเครื่องหมาย Motty Shai อธิบายความต่างนี้ไว้ใน เอกสารต้นทาง

ใช้ตัวอย่างสมมติ 80 → 60 → 80 บาท ขาลงคือ −25% แต่ขากลับต้องได้ 80/60−1=33.3333%80/60-1=33.3333\% ส่วน log returns เท่ากับ −0.287682 และ +0.287682 รวมกันเป็นศูนย์

ถ้าขาดทุนเป็นสัดส่วน LL ของเงินเริ่มต้น โดย 0≤L<10\leq L<1 ผลตอบแทนที่ต้องได้จากเงินที่เหลือเพื่อกลับไปเท่าทุนคือ

Rrecovery=11−L−1=L1−L.R_{\mathrm{recovery}}=\frac{1}{1-L}-1=\frac{L}{1-L}.
ขาดทุนจากเงินเริ่มต้น ต้องได้กำไรจากเงินที่เหลือ
10% 11.11%
25% 33.33%
50% 100%
75% 300%

ฐานเงินที่ลดลงทำให้ต้องได้กำไรในอัตราที่สูงขึ้นเพื่อกลับมาเท่าทุน Shai เรียกผลนี้ว่า inverse compound interest ซึ่งคำนวณได้จากสูตรทบต้นข้างต้น การใช้ log return เปลี่ยนวิธีแสดงผล ส่วนจำนวนเงินที่ขาดทุนยังเท่าเดิม

สำหรับการถือสินทรัพย์ long โดยไม่กู้ยืมและไม่มีภาระเพิ่มเติม simple return ต่ำสุดคือ −100% เมื่อมูลค่าลงเป็นศูนย์ แต่ log return ไม่มีค่าจำกัด ณ จุดนั้น เพราะ ln⁡0\ln 0 ไม่ได้ถูกนิยามเป็นจำนวนจริง เมื่อมูลค่าเข้าใกล้ศูนย์ log return จะมุ่งไปที่ −∞-\infty กรณีพอร์ตลงทุนเกินเงินทุนที่มี หรือมูลค่าสุทธิไม่เป็นบวกต้องพิจารณาแยก ไม่ควรลบข้อมูลนั้นเงียบ ๆ เพื่อให้คำนวณ log ได้

5. เมื่อไรสองค่าจึงใกล้กัน

การกระจาย Taylor รอบศูนย์ให้

ln⁡(1+R)=R−R22+R33−⋯ .\ln(1+R)=R-\frac{R^2}{2}+\frac{R^3}{3}-\cdots.

ใกล้ศูนย์ พจน์กำลังสองและสูงกว่ายังเล็ก การใช้ r≈Rr\approx R จึงอาจสะดวก แต่ความคลาดเคลื่อนขึ้นกับขนาดผลตอบแทนและความแม่นยำที่งานต้องการ

Simple return Log return × 100 ส่วนต่าง simple − log (หลังคูณ 100)
+1% +0.9950 0.0050
+5% +4.8790 0.1210
+20% +18.2322 1.7678
−20% −22.3144 2.3144

โดยทั่วไป ln⁡(1+R)≤R\ln(1+R)\leq R สำหรับ R>−1R>-1 และเท่ากันเฉพาะที่ศูนย์ จึงไม่ควรแทนสองค่าเข้าหากันโดยไม่ดูขนาดการเปลี่ยนแปลง โดยเฉพาะช่วงตลาดเคลื่อนไหวแรง

6. ค่าเฉลี่ย: ผลตอบแทนเฉลี่ยกับการเติบโตของเงินเป็นคนละคำถาม

ค่าเฉลี่ยเลขคณิต ของ simple returns คือ

Rˉ=1T∑t=1TRt.\bar R=\frac{1}{T}\sum_{t=1}^{T}R_t.

ในตัวอย่างปีแรก +100% ปีที่สอง −50% ค่าเฉลี่ยเลขคณิตเท่ากับ (100%−50%)/2=25%(100\%-50\%)/2=25\% ต่อปี แต่เงินปลายทางยังเท่ากับเงินต้น 1 ล้านบาท การเฉลี่ยเปอร์เซ็นต์จึงไม่ได้บอกว่าเงินโตทบต้นปีละเท่าไร

ค่าเฉลี่ยเรขาคณิต ตอบว่า ถ้าโตด้วยอัตราคงที่ทุกปี ต้องใช้อัตราเท่าไรจึงได้เงินปลายทางเท่าเดิม

g=[∏t=1T(1+Rt)]1/T−1=exp⁡(rˉ)−1,rˉ=1T∑t=1Trt.g=\left[\prod_{t=1}^{T}(1+R_t)\right]^{1/T}-1 =\exp(\bar r)-1, \qquad \bar r=\frac{1}{T}\sum_{t=1}^{T}r_t.

กรณีนี้ g=2×0.5−1=0%g=\sqrt{2\times0.5}-1=0\% ต่อปี เช่นเดียวกับค่าเฉลี่ย log return ที่เป็นศูนย์: rˉ=(ln⁡2+ln⁡0.5)/2=0\bar r=(\ln 2+\ln 0.5)/2=0 แล้วแปลงกลับด้วย erˉ−1=0e^{\bar r}-1=0

ถ้าวัดเป็นปี ใช้ CAGR (compound annual growth rate) โดยให้ YY เป็นจำนวนปีที่ถือ และ VV เป็นมูลค่าเงินลงทุนที่ไม่มีฝากถอนภายนอก

CAGR=(VTV0)1/Y−1.\mathrm{CAGR}=\left(\frac{V_T}{V_0}\right)^{1/Y}-1.

เงิน 1,000 → 1,210 บาทในสองปีมี CAGR 10% ต่อปี ไม่ใช่ 21% ÷ 2 = 10.5% และ CAGR ไม่ได้บอกว่าแต่ละปีได้ 10% จริง การทำข้อมูลระยะสั้นให้เป็นอัตราต่อปีเป็นเพียงการแปลงหน่วยด้วยการทบต้น ไม่ใช่การพยากรณ์ว่าจะทำซ้ำได้ทั้งปี

7. รวมข้ามสินทรัพย์: กลับมาใช้ simple return

ให้ wi,t−1w_{i,t-1} เป็นน้ำหนักสินทรัพย์ ii ตามมูลค่าพอร์ตต้นช่วง โดยน้ำหนักรวมเท่ากับหนึ่ง ถ้าไม่มีฝากถอนหรือซื้อขายระหว่างช่วง และรวมกระแสเงินสดกับค่าใช้จ่ายในผลตอบแทนอย่างสอดคล้องกัน

Rp,t=∑i=1Nwi,t−1Ri,t.R_{p,t}=\sum_{i=1}^{N}w_{i,t-1}R_{i,t}.

สมมติพอร์ต 1,000 บาท ลงทุน A 600 บาท และ B 400 บาท ในเดือนเดียวกัน A ได้ +20% ส่วน B ได้ −10%

สินทรัพย์ มูลค่าต้นเดือน ผลตอบแทน มูลค่าปลายเดือน
A 600 +20% 720
B 400 −10% 360
รวม 1,000 +8% 1,080

ผลตอบแทนพอร์ตเท่ากับ 0.6(0.20)+0.4(−0.10)=0.080.6(0.20)+0.4(-0.10)=0.08 ส่วน log return ของพอร์ตต้องคำนวณจาก

rp,t=ln⁡(1+Rp,t)=ln⁡(∑iwi,t−1eri,t).r_{p,t}=\ln(1+R_{p,t}) =\ln\left(\sum_i w_{i,t-1}e^{r_{i,t}}\right).

ได้ ln⁡(1.08)=0.076961\ln(1.08)=0.076961 แต่การถ่วงน้ำหนัก log return ของสินทรัพย์ตรง ๆ ได้ 0.6ln⁡(1.2)+0.4ln⁡(0.9)=0.0672490.6\ln(1.2)+0.4\ln(0.9)=0.067249 ซึ่งไม่เท่ากัน

เมื่อขึ้นเดือนใหม่ น้ำหนัก A กลายเป็น 720/1080=2/3720/1080=2/3 และ B เป็น 1/31/3 ถ้าไม่ได้ปรับพอร์ต การคงน้ำหนัก 60/40 ในทุกเดือนเท่ากับสมมติว่าปรับพอร์ตกลับสู่น้ำหนักเป้าหมายทุกต้นเดือน ต้องนับต้นทุนการปรับด้วยเมื่อนำไปใช้งานจริง

การรวมข้ามเวลาใช้การคูณ gross returns หรือบวก log returns ของพอร์ตเดียวกัน ส่วนการรวมสินทรัพย์ในช่วงเดียวกันใช้ simple returns ถ่วงด้วยน้ำหนักต้นช่วง แล้วค่อยแปลงผลรวมเป็น log หากต้องการ

8. เปลี่ยนเป็น log ไม่ได้ทำให้ข้อมูลเป็น Normal

คุณสมบัติการบวกข้ามเวลาเป็นความสัมพันธ์ทางคณิตศาสตร์ ใช้ได้แม้ log returns ไม่เป็น Normal หรือมีความสัมพันธ์กัน การแจกแจงและความเป็นอิสระจึงเป็นสมมติฐานที่ต้องตรวจแยกกัน

ถ้าตั้งสมมติฐานว่า log returns หลายช่วงมีการแจกแจงปกติร่วมกัน ผลรวมจึงเป็น Normal และเมื่อราคาเริ่มต้นเป็นค่าคงที่บวก ราคาปลายทางที่เขียนเป็น PT=P0e∑trtP_T=P_0e^{\sum_t r_t} จะเป็น Lognormal กรณีผลตอบแทนแต่ละช่วงเป็น Normal และเป็นอิสระกันเป็นเงื่อนไขหนึ่งที่เพียงพอ แต่ความเป็นบวกของราคาอย่างเดียวไม่เพียงพอ

บทความของ Simon Leung ชวนพิจารณาข้อจำกัดของสมมติฐานการแจกแจง ในการใช้งานจริงต้องตรวจข้อมูลและวิธีทดสอบเพิ่มเติม การประมาณพารามิเตอร์จากตัวอย่างแล้วใช้ KS test แบบมาตรฐานกับตัวอย่างเดิมต้องปรับวิธีหาค่า p-value ให้รองรับการประมาณนั้น จึงไม่ควรยกค่า p-value ในบทความมาเป็นข้อยืนยันแบบจำลองของเรา บทความต้นทาง

9. ลองเช็กความเข้าใจด้วยตัวเอง

ถ้าสลับลำดับเป็นปีแรกขาดทุน 50% แล้วปีที่สองกำไร 100% เงินปลายทางจะเปลี่ยนหรือไม่? ใช้เงินต้น 1 ล้านบาทเหมือนเดิม ไม่มีฝากถอนและค่าใช้จ่าย ลองคิดทั้งจำนวนเงิน ตัวคูณ และ log return ก่อนเปิดคำตอบ

ดูคำตอบ: สลับปีขาดทุนกับปีกำไร

เงินเปลี่ยนจาก 1,000,000 → 500,000 → 1,000,000 บาท ตัวคูณรวมคือ 0.5×2=10.5\times2=1 ส่วน log return รวมคือ ln⁡0.5+ln⁡2=0\ln 0.5+\ln 2=0 ผลตอบแทนสะสมจึงเท่ากับ 0% เหมือนเดิม

เมื่อไม่มีฝากถอนและตรึงผลตอบแทนแต่ละปีไว้ ลำดับของตัวคูณไม่เปลี่ยนผลคูณ แต่เส้นทางเงินต่างกัน: กรณีนี้เคยเหลือครึ่งล้าน ขณะที่กรณีเดิมเคยเพิ่มเป็นสองล้าน ผลตอบแทนต้น–ปลายจึงไม่ได้บอกความเสี่ยงระหว่างทางทั้งหมด

แล้วถ้าปีแรกกำไร 100% และปีที่สองขาดทุนเพียง 25% ล่ะ? ผลรวม log returns จะยังเป็นศูนย์หรือไม่?

ดูคำตอบ: ปีที่สองขาดทุน 25%

เงินเปลี่ยนจาก 1,000,000 → 2,000,000 → 1,500,000 บาท จึงได้ผลตอบแทนสะสม 50% ตัวคูณรวมเท่ากับ 2×0.75=1.52\times0.75=1.5

ln⁡2+ln⁡0.75=ln⁡1.5≈0.405465,eln⁡1.5−1=50%.\ln 2+\ln 0.75=\ln 1.5\approx0.405465, \qquad e^{\ln 1.5}-1=50\%.

ผลรวม log returns ไม่จำเป็นต้องเป็นศูนย์ แต่จะเท่ากับ log return ที่คำนวณตรงจากต้นถึงปลายเสมอภายใต้เงื่อนไขเดียวกัน ส่วนการบวก simple returns เป็น 100%−25%=75%100\%-25\%=75\% ยังให้คำตอบผิด เพราะแต่ละปีใช้ฐานเงินต่างกัน

10. เลือกใช้ให้ตรงคำถาม

คำถาม วิธีคำนวณ
ช่วงนี้เงินเพิ่มหรือลดกี่เปอร์เซ็นต์? Simple total return ที่นับกระแสเงินสดครบ
ถือหลายช่วงแล้วเงินโตเท่าไร? คูณ gross returns แล้วลบหนึ่ง หรือรวม log returns แล้วแปลงกลับ
เงินโตเฉลี่ยแบบทบต้นเท่าไร? Geometric mean หรือ CAGR พร้อมระบุช่วงเวลา
พอร์ตหลายสินทรัพย์ได้เท่าไรในช่วงเดียวกัน? ถ่วงน้ำหนัก simple returns ด้วยน้ำหนักต้นช่วง
จะใช้ log returns สร้างแบบจำลองได้ไหม? ตรวจมูลค่าบวก คุณภาพข้อมูล และสมมติฐานของแบบจำลองก่อน

กรณีมีฝากถอน เงินเข้าพอร์ตไม่ใช่กำไรจากการลงทุน อัตราเปลี่ยนแปลงของยอดบัญชีจึงใช้ตรง ๆ ไม่ได้ ต้องแยกกระแสเงินสดภายนอกก่อน เช่น แบ่งช่วงตามจุดฝากถอนเพื่อวัด time-weighted return หรือใช้ money-weighted return เมื่อคำถามเกี่ยวกับผลตอบแทนของเงินที่ผู้ลงทุนใส่จริง

แหล่งอ้างอิงและข้อสังเกตในการอ่าน

  1. Motty Shai. Simple return vs. Logarithmic return — additional aspects. 1 กุมภาพันธ์ 2025 ปรับปรุง 2 มีนาคม 2025 ตามไฟล์ PDF ที่ได้รับ — SSRN 5161959. ใช้ประเด็นผลตอบแทนขาไป–ขากลับและการเปลี่ยนผลคูณเป็นผลบวก ไม่รับข้อสรุปว่าการใช้ log เพียงอย่างเดียวทำให้ Backtest ดีขึ้นหรือแก้ความเสี่ยงได้โดยอัตโนมัติ
  2. Simon Leung. A brief overview on simple returns and log returns in financial data. 5 ธันวาคม 2024 — Medium. ใช้เป็นกรอบเปรียบเทียบสองนิยามและข้อควรระวังเรื่องการแจกแจง ตัวอย่างราคา 100 → 110 → 90 → 120 ในต้นทางต้องได้ผลตอบแทนรวม 20% พอดีเมื่อไม่ปัดเศษระหว่างทาง ไม่ใช่ 20.04%
  3. AlgoAddict Diary. Simple Return VS Log Return ความแตกต่างที่ไม่ควรมองข้าม!. 10 มกราคม 2019 — Medium. ใช้เป็นจุดเริ่มต้นเรื่องการบวกผลตอบแทนข้ามเวลา สูตรแปลงกลับต้องเป็น er−1e^r-1: eln⁡(1.5)=1.5e^{\ln(1.5)}=1.5 คือ gross return จึงต้องลบหนึ่งก่อนรายงานกำไร 50% ไม่จำเป็นต้องใช้ log เสมอไปหากทบต้น simple returns ถูกต้อง

ค้นหาในหนังสือ