4 July 2022 — เกริ่นนำก่อนนะฮะ FIN พัฒนามาตลอดกว่าหลายปี ก็มีการเพิ่ม feature อะไรต่างๆ พอสมควร และ ล่าสุด ก็เพิ่ม วิธีการคำนวณผลตอบแทน ที่เป็น Industry standard ในแวดวง Finance เข้ามานะครับ คือการคิดผลตอบแทนแบบ TWR (Time-weighted rate of return) ซึ่งปัจจุบัน ค่อนข้างนิยมมากๆ ครับ ในกลุ่ม กองทุนรวมนะฮะ ดังนั้นตั้งแต่ FIN version 4.0 เป็นต้นไป (July 2022) FIN จะมีวิธีการคิดผลตอบแทน Total Return แบบทางเลือกด้วยวิธี TWR ซึ่งในบทความนี้จะอธิบายวิธีการคิดผลตอบแทนแบบนี้โดยมีตัวอย่างให้ดูนะครับ
หรืออาจจะ search Google ด้วย keyword “คิดผลตอบแทน twr” ก็จะเห็นบทความอธิบายเรื่องนี้ อยู่พอสมควรครับ
ซึ่ง TWR เป็น ทางเลือกนึงๆ ในการคิดคำนวณภายใน FIN นะครับ (ซึ่งเป็นทางเลือกที่ นิยมกันมากในโลก Finance) แต่ว่า หาก user รู้สึกว่า ยังไม่เคลียร์หรือกระจ่างชัดจริงๆ หรือไม่ชอบดูตัวเลข TWR นี้ ภายใน FIN จะสามารถให้ user กำหนด ปิดหรือเปิด การแสดงผล ค่า TWR ในหน้า Portfolio ได้ครับ โดยการกดที่ ปุ่ม Manage ที่หน้า Portfolio แล้ว เมื่อเข้าไปแล้ว ก็ scroll ลงมาล่างสุด จะเห็น “ปิดการแสดงผล % TWR ในแต่ละ Asset” ให้ปิด switch ไม่ให้เป็นสีเขียว ก็จบครับ 🙂 FIN จะพยายามรองรับทุกทางเลือก
FIN version เก่า การคิด %Total Return นั้น จะใช้วิธี แบบ Simple ครับ ซึ่งใช้วิธีคิดแบบง่าย เพื่อให้เข้าใจง่าย แต่ว่าก็เป็นวิธีที่ ไม่ได้คำนึงถึง การเปลี่ยนแปลงของ cost (พวก buy/sell transaction ที่บันทึกเข้าไป) ในช่วงเวลาต่างๆ ในอดีต การคิดจะง่ายและตรงไปตรงมา (แต่ไม่ได้สะท้อน performance ที่แท้จริงของ การลงทุนนั้นๆ) แต่ใช้งานได้ล่ะครับ เพราะหลายๆ App ก็จะยังใช้วิธีแบบ Simple Total Return แต่ เมื่อมีทางเลือกอื่นอย่าง TWR ซึ่งจัดเป็น วิธีที่นิยมกันมากพอสมควร ก็เลยสร้างมาใน FIN version 4.0 ด้วยครับ
ที่ว่าการคิดง่ายและตรงไปตรงมา คือ เอาค่า Unrealized PL ปัจจุบัน + Dividend (ถ้ามี และถ้าต้องการนำมารวม) + Realized PL (ถ้ามี และถ้าต้องการนำมารวม) มา sum กันทั้งหมด (เป็นการ Sum ข้ามเวลาจากจุดในอดีตมาถึงปัจจุบัน) แล้วก้อนนี้ จะหารด้วย current active cost ทั้งหมด (cost จากอดีต “ที่เหลืออยู่” รวมๆ กันมาจนถึงจุดปัจจุบัน) ในครั้งเดียว หารกันออกมา ได้ค่า % อันนึง จบ ซึ่ง กรณีที่กองนั้นๆ เรามี transaction ซื้อ/ขาย จำนวนมาก cost ในอดีตมันก็จะหายไปจาก current active cost ด้วยครับ ทำให้การคิด %Return ตรงนี้ พร่องหายไปครับ
ด้วยความที่วิธีนี้ factor หลายอย่างมันพร่องหายไป เพราะ % ที่ได้ นั้น คือ มันไม่แฟร์ ต่อ Transaction เก่าๆ ในอดีตฮะ ถ้า transaction เก่าๆ ในอดีต ทำ % Return ไว้ดีมาก (หรือในทางตรงกันข้าม) จะถูกกลืนหมดด้วยสูตรการคิดแบบด้านบนครับ
ก่อนจะเข้ายกตัวอย่าง ถึงจุดนี้ ให้ แยกความเข้าใจ ระหว่าง % Return กับ ปริมาณเงิน นะครับ สูตรของ TWR จะเน้นๆ ที่ % Return (ไม่ได้สนใจ ที่ปริมาณเงิน สนใจที่ค่าสัดส่วน) นั่นหมายความว่า ปกติ % Return นั้น จะคิดจากการนำ ตัวเลขปริมาณเงิน A หารด้วย ตัวเลขปริมาณเงิน B เป็นค่าสัดส่วนออกมา จะเห็นว่า การหารกันตรงนี้ ปริมาณเงิน มันจะไม่อยู่ในสมการให้เห็นแล้วนะครับ เป็น % ทั้งหมด (เป็นค่า สัดส่วน)
ยกตัวอย่างนะครับ สมมติ ลงทุนกองทุนนึง เริ่มที่ 1 ล้านบาทถ้วน (Lot 1) ลงทุนวันที่ 1 July 2021
ผ่านไป 6 เดือน (วันที่ 1 Jan 2022) Current Value ของกองนี้อยู่ที่ 1.5 ล้านบาท (%Return ณ จุดเวลานี้คือ 50%)
ซึ่ง ณ จุดนี้ มีการลงทุนเพิ่มอีก 1 ล้านบาทด้วย (Lot 2) ในวันนั้น รวม Current Value จุดนี้คือ 2.5 ล้านบาท
ผ่านไปอีก 6 เดือน ณ วันที่ 1 July 2022 Current Value อยู่ที่ 2.0 ล้านบาท ok หยุดที่จุดเวลานี้ แล้วคิด Return ตามวิธีด้านล่าง
ถ้าคิดด้วยวิธีแบบง่ายคือ เอา Unrealized Profit คือ 0.0 บาท หารด้วย Total Active Cost คือ 2.0 ล้านบาท (เราลงทุน 1 ล้านบาท 2 ครั้ง) % Total Return คือ 0% นะครับ
ซึ่งถามว่า ใช่หรือเปล่า ?
เงินของ Lot 1 ที่เราใส่ไป 1 ล้านบาท เมื่อ 1 ปีที่แล้ว Return ไม่มีเลย? ค่าออกมา 0% ไม่น่าใช่นะครับ Lot นี้ยังไงก็มี %Return ค่าเป็น + แต่จะโดนกลบด้วยสูตรการคิดแบบด้านบนฮะ
ถ้าคิดด้วย วิธีของ TWR จากตัวอย่างนี้ คือ Total Return ที่ 20.0% ครับ ดูจาก Online Calculator อันนี้ได้ฮะ
Screenshot: https://bit.ly/twr-online-calculator
Online Calculator: https://www.rateofreturnexpert.com/time-weighted-return-calculator/
ถ้าแสดงวิธีคิดตามสูตร คือ มี 2 sub-period
Period 1: ช่วงเวลา 1 ล้าน ไปเป็น 1.5 ล้าน อันนี้ Return คือ 1.5 ( 0.5 / 1.0 ) + 1
Period 2: ช่วงเวลา 2.5 ล้าน เหลือ 2 ล้าน อันนี้ Return คือ 0.8 ( -0.5 / 2.5 ) + 1
เมื่อนำเข้าสูตร TWR จะได้ ( 1.5 x 0.8 ) – 1 = 0.2 ( 20% นั่นเองครับ )
อันนี้จะสะท้อน performance ที่แท้จริงออกมาครับ ในมุมของ % Return ที่แท้จริงนะครับ (ต้องแยกให้ออก ระหว่าง % Return กับ ปริมาณเงิน ว่าเป็นคนละแบบ)
คือถ้าดูจริงๆ ให้มองว่า Return ของ ช่วงเวลาแรก นั้นคือ 1.5 จากนั้น ถูกลดทอนลงที่ 0.8 (ของฐาน 1.5) มันเลยออกมาเป็นแนวการคูณกันเพื่อลดทอน %Return ลงไปในสัดส่วน 0.8 (ในเคสนี้นะครับ) มันเลยเหลือที่ 1.2 (หรือ 20% นั่นเอง %Return ที่แท้จริง)
OK มาเริ่มลงรายละเอียดของสูตรวิธีการคิดของ TWR ณ จุดนี้
ใจความหลักของเนื้อหานี้ จะอ้างอิงจากบทความที่ Investorpedia – https://www.investopedia.com/terms/t/time-weightedror.asp แต่จะแทนตัวอย่างด้วย กองทุนภายในประเทศไทย เพื่อเป็นตัวอย่างการคำนวณแบบ TWR
วิธีคิดแบบ TWR นั้นค่อนข้างดีในเชิงการคิด Performance ของการลงทุนจริงๆ เพราะ เป็นการคิดผลตอบแทนแบบทบต้น และ ไม่ได้มีการอิงตัวแปรพวก money inflows เงินเข้า หรือ money outflows เงินออก ที่จะส่งผลกระทบต่อค่า Total Return การคำนวณจะเป็นการคำนวณด้วยช่วงเวลาต่างๆ และ ผลตอบแทนเป็นลักษณะการ คูณกันของผลตอบแทนในแต่ละช่วง จากจุดเริ่มต้นยาวไปจนถึงจุดปัจจุบัน สูตรจะเป็นไปในลักษณะของ geometric mean คูณต่อเนื่อง (ดูรายละเอียดเพิ่มเติมได้ที่ https://www.investopedia.com/terms/g/geometricmean.asp) แต่สูตรของ TWR จะเป็นไปตามลักษณะดังนี้ (จะไม่ได้เหมือนกับ geometric mean แบบเป๊ะๆ ที่จะมี การถอด root n)

หากพิจารณาจากตัวแปรต่างๆ ในสูตรนี้ จะพบว่าสูตรจะสนใจแค่ค่า Return (หรือในสูตรคือค่า HP มาจากการคิดแบบ ปลาย-ต้น หารทั้งหมดด้วยต้น ผลที่ได้ออกมาคือค่า Return ประเภทนึง) ในแต่ละช่วงเวลา และ จำนวนของช่วงเวลา เท่านั้น จะไม่ได้สนใจเรื่องปริมาณของเงินลงทุน (ว่ามีการนำเงินเข้ามาเพิ่ม หรือนำเงินออกไป มากน้อยขนาดไหน) การคิดคำนวณก็จะเป็นไปตามสูตรนี้ ซึ่งมีการคูณกันต่อเนื่องในแต่ละช่วงเวลา ดังนั้นแล้ว คำนวณด้วย มือแบบ manual ก็ถ้าข้อมูลไม่เยอะมาก อาจจะทำได้ครับ แต่ถ้าเยอะมาก ใช้ FIN คำนวณ น่าจะดีกว่า เพราะ ออกแบบการคิดเรื่องนี้มาโดยเฉพาะ และคิดอย่างละเอียด ดูรายละเอียดเพิ่มเติมได้ท้ายๆ บทความ
ยกตัวอย่างการคิด TWR ของจริงกับกองทุนรวม สักหนึ่งกองนะครับ เพื่อความง่ายในการคิด จะขอกองที่ไม่ได้มีค่าธรรมเนียมในการซื้อหรือขาย เพื่อที่จะได้ง่ายต่อการคิดตรงๆ ดังนี้นะครับ สมมติ transaction ต่างๆ ดังนี้
- วันที่ 4 August 2020 ผมเริ่มเข้าซื้อของกอง B-INNOTECHRMF จำนวนเงิน 1,000,000.00 บาท (1 ล้าน ได้ที่ราคา 14.6287 บาทต่อหน่วย และ จำนวนหน่วยทั้งสิ้น 68,358.7741 หน่วย)
- หนึ่งปีต่อมา วันที่ 4 August 2021 NAV ของ B-INNOTECHRMF อยู่ที่ 21.2353 นั่นแปลว่า มูลค่า Current Market Value ของกองทุนนี้ที่ผมถืออยู่คือ 21.2353 * 68,358.7741 = 1,451,619.07564573 (1.45 ล้าน)
- คำนวณ Sub Period ที่ 1 ในกรณีนี้ดังนี้นะครับ (1,451,619.07564573 – 1,000,000.00) / 1,000,000.00 = 0.451619 (หรือ 45.1619%)
- และในวันนั้นเอง (4 August 2021) ผมซื้อเพิ่มอีก 1,000,000 บาท (ได้ที่ราคา 21.2354 บาทต่อหน่วย จำนวนหน่วย: 47,091.1779 หน่วย) มูลค่า Current Market Value ของวันที่ 4 August 2021 คือ 2,451,614.3657056 (2.45 ล้าน) มาจาก จำนวนหน่วย 115,449.952 คูณด้วย NAV 21.2353
- จุดปัจจุบัน (อิงจากบทความนี้) B-INNOTECHRMF ค่า NAV วันล่าสุดคือวันที่ 29 June 2022 นั้นค่า NAV คือ 17.7870 Current Market Value คือ 2,053,508.296224
- คำนวณ Sub Period ที่ 2 ดังนี้นะครับ 2,053,508.296224 – (1,451,619.07564573 + 1,000,000.00) / (1,451,619.07564573 + 1,000,000.00) = -0.162386882765167 (หรือ -16.2386882765167%)
- จากนั้นคำนวณ TWR ของ Sub Period 2 ช่วงเวลา จนถึงจุดปัจจุบัน 29 June 2022 ได้ดังนี้ ((1+0.451619) * (1-0.162386882765167)) – 1 = 0.215895 (หรือ 21.5895%)
- ค่า TWR ของกองทุนนี้ ตามรายละเอียดด้านบน คือ +21.5895% ถ้าปัดเศษก็คือ +21.59% ถ้าดูจากหน้าจอของ FIN ของกองทุนนี้ตามรายการที่บันทึกไปด้านบน ก็จะได้เป๊ะ ตามรูปนี้ครับ

ทีนี้มาวิเคราะห์กันต่อ แบบง่ายๆ ไม่ต้อง TWR ให้วุ่นวายหรือซับซ้อน ดูกันที่ NAV ของกองทุนนี้ครับ
NAV ของจุดเริ่มต้นคือ 14.6286 (4 Aug 2020) NAV ของจุดปัจจุบันคือ 17.7870 (29 June 2022) กองนี้ไม่ได้มีปันผล ดังนั้นคิดส่วนต่างกันตามปกติ จะได้ที่ (17.7870 – 14.6286) / 14.6286 = 21.59% เช่นกัน นั่นยืนยันการคิดสูตรของ TWR นั้น ไม่ได้สนใจ ขนาดเงินเข้าหรือออกในการคำนวณ ทุกอย่างอิง Return ในแต่ละ Sub Period และนำมาคูณกันตามสูตร ซึ่งก็จะมี Total Return ที่สอดคล้องตามกองทุนนี้จริงๆ ถ้าดูจาก การเปลี่ยนแปลงของ NAV ของกองทุน
ทั้งหมดนี้คือ การคิดแบบอย่างง่ายนะครับ แต่ในความเป็นจริง กองทุนที่เราซื้อหรือขายนั้นอาจจะมี อีกหลายค่าที่มาเกี่ยวข้อง ที่ทำให้ การคิด Return แต่ละช่วงเวลานั้น ไม่ได้ ง่ายๆ อย่างตามตัวอย่างด้านบน เพราะว่าจะมีเรื่องของ
- ค่าธรรมเนียมซื้อหรือขาย ของแต่ละ Transaction (ถ้ามี)
- เงินปันผล (ถ้ามี)
- ถ้ามีการขายเกิดขึ้น ไม่ว่าจะเป็นการขายโดยนักลงทุน หรือ ระบบการขายแบบ auto-redemption ขายคืนอัตโนมัติ จะมีค่า Realized Profit/Loss เกิดขึ้นที่ต้องนำมาคิดเข้าไปด้วย เพราะค่าเหล่านี้คือค่า กำไรจริง/ขาดทุนจริง ซึ่งค่า Realized Profit/Loss ตรงนี้ ก็จะขึ้นกับ วิธีการคิดต้นทุนที่เราสามารถเลือกด้วยครับ ว่าจะใช้แบบ FIFO หรือ Weight Average ในการคิด
ค่าต่างๆ เหล่านี้ จะใช้คิดตอนที่เราคิด Return ในแต่ละ Sub Period ครับ ว่าต้องบวก ต้องลบ อะไรเข้าไปบ้าง
วิธีการคิดแบบ TWR นี้ จะทำให้เราวัด Performance ของ กองทุนที่เราซื้อขาย ได้ค่อนข้างดีเพราะ TWR สะท้อน performance จริงออกมาครับ เพราะโดยปกติแล้วการลงทุน เราจะเป็นแนวมีการ ซื้อหลายรอบ (หลายช่วงเวลา) หรือ อาจจะขายหลายรอบเช่นกัน (แล้วแต่ลักษณะการลงทุน) นั่นแปลว่า Cost เราจะไม่คงที่ครับ จะเปลี่ยนแปลงตลอดเวลา การคิด %Return ที่อิงกับ Cost ที่เป็นตัวเลขล่าสุดนั้น จะไม่ใช่วิธีที่ดีครับ เพราะมันไม่ได้สะท้อน Return จริงๆ ออกมา
อย่างกรณีนี้ หากดูว่า Cost คือ 2,000,000.00 (เพราะเราซื้อ ไว้ รอบละ 1 ล้าน จำนวน 2 รอบ) แล้วดู Current Market Value อยู่ที่ 2,053,508.30 แล้วเห็นกำไร +53,508.30 แล้วนำมาหารด้วย Cost 2 ล้าน แล้วจะได้ +2.675% อันนี้ไม่สะท้อน performance ที่แท้จริง เพราะกำไรตรงนี้ มันมาจาก cost 2 ส่วน คนละช่วงเวลากัน
ยกเว้นว่า เราจะลงทุนในกองนั้นๆ แค่ครั้งเดียว แล้วปล่อยยาวๆ ไม่ได้ทำอะไรเพิ่ม อันนั้น อาจจะคิด Return จาก Cost ได้ตรงไปตรงมา แต่ถึงจะเป็นแบบนี้ ใช้วิธีแบบ TWR ก็จะ ได้ค่าเดียวกันอยู่ดี นั่นแปลว่า TWR จะใช้คำนวณได้ในหลายกรณีหลากหลาย adaptive, dynamic กว่านั่นเอง
ซึ่ง กระบวนการคิดต่างๆ เหล่านี้ ผมพัฒนาเข้าไปใน FIN version 4.0 เรียบร้อยแล้ว และมีการคิด Sub Period คือ อิงกับ NAV ทุกวันทำการของกองทุนรวมนั้นๆ (คือคิด Sub Period ทุกวันทำการ) แล้วนำมาคิด TWR จากจุดเริ่มต้นจนถึงปัจจุบัน โดยที่สามารถ plot ออกมาเป็น chart ต่างๆ ตามรูปด้านบน ซึ่งคุณผู้ใช้ สามารถใช้ได้อย่างสะดวกเลยครับ แค่กรอก transaction ต่างๆ ให้ครบถ้วน เดี๋ยว FIN version 4.0 จะคำนวณออกมาให้หมดครับ
และยังมีอีกหลายความสามารถที่ต่อยอดการคิดจากเรื่องนี้ครับ FIN สามารถคิด Total Return ได้หลายระดับ ตั้งแต่ระดับของแต่ละกองทุนที่บันทึกเข้าไป, ระดับของทั้ง Portfolio หรือ ระดับหลาย Portfolio รวมกัน (กำหนด portfolio ได้ว่าจะให้รวม portfolio ใดบ้าง) ทำให้เราเห็นภาพรวมของ Total Return ได้ครบในหลายๆ มิติ และยังนำมาใช้ในอีกหลายๆ ความสามารถของ FIN version 4.0
อ่านถึงจุดนี้แล้ว คุณสามารถโหลด FIN ได้บน Apple App Store https://apple.co/2HSKplH Version 4.0 นั้นรองรับ iOS, iPad OS 15 ขึ้นไป และรวมถึง macOS ที่ใช้ chip Apple Silicon M1, M2 ด้วยครับ คาดการณ์ว่าน่าจะเริ่ม update FIN version 4.0 ได้ตั้งแต่ วันพุธที่ 6 July 2022 เป็นต้นไป
ลองใช้ FIN ใหม่ดูครับ หากมีความคิดเห็นใดๆ สามารถเขียนมาในหน้า Feedback ใน FIN ได้เลยนะครับ
ขอบคุณครับ