สูตรมอนติคาร์โล ซิมูเลชัน และความคลาดเคลื่อนของผลจาก 1,000 เส้นทาง
คณิตศาสตร์เบื้องหลังการจำลองมอนติคาร์โลของแผนลงทุนรายเดือน ทั้งสมการเวียนเกิดของยอดเงิน วิธีหาเปอร์เซ็นไทล์และอัตราความสำเร็จ และผลจาก 1,000 เส้นทางคลาดเคลื่อนได้แค่ไหน
อัปเดต
คณิตศาสตร์เบื้องหลังการจำลองมอนติคาร์โลของแผนลงทุนรายเดือน ทั้งสมการเวียนเกิดของยอดเงิน วิธีหาเปอร์เซ็นไทล์และอัตราความสำเร็จ และผลจาก 1,000 เส้นทางคลาดเคลื่อนได้แค่ไหน
อัปเดต
การจำลองมอนติคาร์โล (Monte Carlo simulation) คือวิธีหาคำตอบด้วยการทดลองแบบสุ่มซ้ำหลายครั้ง แล้วนับดูว่าผลลัพธ์กระจายตัวอย่างไร[1] สำหรับแผนลงทุน การทดลองหนึ่งครั้งคือการคำนวณยอดเงินไปข้างหน้าทีละเดือนด้วยสูตรที่อัปเดตยอดเงินจากเดือนก่อน (สมการเวียนเกิด หรือ recursion) โดยสุ่มผลตอบแทนของแต่ละเดือน ไปจนถึงเดือนสุดท้าย ใน compoundsim เส้นทางหนึ่งเส้นคำนวณขั้นรายเดือนนี้ 240 ครั้งสำหรับแผน 20 ปี และเครื่องจำลองคำนวณ 1,000 เส้นทาง ค่ามัธยฐานที่ได้จาก 1,000 เส้นทางขยับเพียงไม่กี่เปอร์เซ็นต์เมื่อตัวเลขสุ่มเปลี่ยน สัดส่วนก็ขยับไม่มากเช่นกัน สิ่งที่เปลี่ยนผลลัพธ์ได้มากกว่านั้นมากคือวิธีสุ่มผลตอบแทนรายเดือน
บทความนี้ไม่ลงรายละเอียดของแบบจำลองผลตอบแทน แต่เขียนการคำนวณที่ทุกแบบจำลองใช้ร่วมกันออกมาเป็นสูตร ถ้าต้องการคำอธิบายเรื่องเดียวกันแบบไม่ใช้สูตร อ่านได้ที่มอนติคาร์โล ซิมูเลชันคืออะไร
ให้เดือนมีหมายเลข ให้ เป็นยอดเงิน ณ สิ้นเดือนที่ และ เป็นเงินลงทุนรายเดือน เครื่องคำนวณดอกเบี้ยทบต้นแบบผลตอบแทนคงที่ ถืออัตราต่อปี เป็นอัตราที่ทบต้นครบปีแล้ว (effective rate) แปลงเป็นอัตราการเติบโตรายเดือน แล้วใช้ค่าเดียวกันทุกเดือน
การจำลองมอนติคาร์โลเปลี่ยน เป็นตัวคูณการเติบโต ที่สุ่มใหม่ทุกเดือน โดย คือผลตอบแทนแบบลอการิทึม (log return) ของเดือนนั้น (หัวข้อถัดไป)
เงินลงทุนรายเดือนเข้ามาตอนสิ้นเดือน หลังผลตอบแทนของเดือนนั้น ตามลำดับเดียวกับการคำนวณแบบผลตอบแทนคงที่ ถ้าตัดความสุ่มออก ทั้งสองแบบจะให้ผลตรงกัน แผน 20 ปีมี การคำนวณผ่านครบทั้ง 240 เดือนหนึ่งรอบคือหนึ่งเส้นทาง และเครื่องจำลองคำนวณ 1,000 เส้นทาง
เครื่องจำลองการถอนใช้ ทำกลับลำดับกัน คือถอนเงินตอนต้นเดือนก่อน แล้วจึงให้ส่วนที่เหลือเติบโต ยอดถอน เริ่มจากหนึ่งในสิบสองของยอดถอนปีแรก และเพิ่มขึ้นตามเงินเฟ้อทุกเดือน
เดือนแรกที่การถอนทำให้ยอดเงินเหลือศูนย์หรือต่ำกว่า ถือว่าเส้นทางนั้นเงินหมด และยอดเงินจะอยู่ที่ศูนย์ต่อไป
เครื่องจำลองมอนติคาร์โลเมื่อเลือกมุมมอง “ที่แท้จริง” และเครื่องจำลองการถอนใช้ทุกครั้ง จะหารยอดเงินด้วยระดับราคาสินค้า ณ เวลานั้น ถ้าอัตราเงินเฟ้อที่สมมติคือ ต่อปี (ค่าเริ่มต้น 2%) ยอดเงินที่แท้จริงในเดือนที่ คือ ราคาสินค้าเพิ่มขึ้นในอัตราคงที่นี้ ไม่มีตัวเลขสุ่มเข้ามาเกี่ยว
ถ้า คือผลตอบแทนอย่างง่ายของเดือน (0.05 สำหรับ 5%) ผลตอบแทนแบบลอการิทึมคือ แบบจำลองของเครื่องจำลองปรับให้เข้ากับผลตอบแทนรายเดือนในอดีตที่แปลงเป็นลอการิทึมแล้ว ในรูปลอการิทึม การเติบโตตลอดหลายเดือนกลายเป็นผลบวก เมื่อมีเงินลงทุนเริ่มต้นและไม่มีเงินลงทุนรายเดือน
ผลรวมของ จะเข้าใกล้การแจกแจงที่สมมาตรมากขึ้นเมื่อจำนวนเดือนเพิ่มขึ้น ถ้าเขียน แทนค่าคาดหมาย (ค่าเฉลี่ย) ค่ามัธยฐานของผลรวมนี้จะอยู่ราว และค่ามัธยฐานของยอดเงินอยู่ราว แต่ โค้งขึ้น ค่าเฉลี่ยของยอดเงินจึงออกมาสูงกว่านั้น () เส้นทางที่ดีมากเพียงไม่กี่เส้นดึงค่าเฉลี่ยขึ้น แต่แทบไม่ขยับค่ามัธยฐาน
ค่ามัธยฐานจึงเป็นตัวเลขที่เส้นทางไม่กี่เส้นนั้นแทบไม่มีผล ส่วนต่างระหว่างผลตอบแทนเฉลี่ยอย่างง่ายกับอัตราที่เงินเติบโตจริง (ผลฉุดจากความผันผวน หรือ volatility drag) อธิบายไว้ในผลตอบแทนเฉลี่ยไม่ใช่อัตราที่เงินของคุณเติบโต เมื่อมีเงินลงทุนรายเดือน สูตรจะไม่อยู่ในรูปนี้แล้ว แต่ค่าเฉลี่ยก็ยังอยู่สูงกว่าค่ามัธยฐานด้วยเหตุผลเดียวกัน
เรียงยอดเงินของ 1,000 เส้นทางในเดือนหนึ่งจากน้อยไปมาก โดย เปอร์เซ็นไทล์ที่ คือค่าที่ลำดับ ถ้า ไม่ใช่จำนวนเต็ม จะอ่านค่าจากเส้นตรงที่ลากระหว่างสองเส้นทางที่อยู่ติดกันสองข้าง ( คือ ที่ปัดเศษลงเป็นจำนวนเต็ม) ในบรรดาวิธีคำนวณเปอร์เซ็นไทล์ของโปรแกรมสถิติต่าง ๆ วิธีนี้จัดอยู่ในนิยามที่ 7[2] เขียนเป็นสัญลักษณ์ได้ว่า
ค่ามัธยฐานคือ บนกราฟ แถบนอกครอบคลุมตั้งแต่ ถึง และแถบในตั้งแต่ ถึง แถบของแต่ละเดือนคำนวณแยกกัน ขอบของแถบจึงไม่ได้เดินตามเส้นทางใดเส้นทางหนึ่ง
สัดส่วนคือจำนวนเส้นทางที่เข้าเงื่อนไขหารด้วย อัตราความสำเร็จของเครื่องจำลองการถอนใช้คือสัดส่วนของเส้นทางที่เงินอยู่ได้จนถึงสิ้นสุดช่วงเวลา
ดรอว์ดาวน์ (drawdown) คือระยะที่ยอดเงินอยู่ต่ำกว่าค่าสูงสุดที่เคยไปถึง ค่าสูงสุดเริ่มนับจากเงินลงทุนเริ่มต้น และยอดเงินรวมเงินลงทุนรายเดือนที่ใส่เข้าไปแล้ว (ในมุมมองที่แท้จริง วัดจากยอดเงินที่แท้จริง)
ที่ลึกที่สุดตลอดเส้นทางคือดรอว์ดาวน์สูงสุดของเส้นทางนั้น
และ ทุกตัวในที่นี้บรรยาย 1,000 เส้นทางที่แบบจำลองสร้างขึ้น จะเพิ่มจำนวนเส้นทางเท่าใดก็บอกไม่ได้ว่าแบบจำลองตรงกับโลกจริงหรือไม่
เมื่อจำนวนเส้นทาง (จำนวนครั้งที่ทดลอง) มีจำกัด จุดตั้งต้นของตัวเลขสุ่มที่ต่างกัน (ซีด หรือ seed) ก็ให้ผลต่างกันเล็กน้อย สูตรบอกได้ว่าต่างกันมากแค่ไหน
สัดส่วน นับว่าเหตุการณ์ที่มีความน่าจะเป็น เกิดขึ้นบ่อยเพียงใดในการทดลอง ครั้ง ส่วนเบี่ยงเบนมาตรฐานของมัน (ค่าคลาดเคลื่อนมาตรฐาน หรือ standard error) จึงเป็น
สำหรับอัตราความสำเร็จ 90% ค่านี้คือ หรือค่าคลาดเคลื่อนมาตรฐานราว 0.95 จุดเปอร์เซ็นต์ ภายในราวสองเท่าของค่านี้ทั้งขึ้นและลง คือประมาณ 88% ถึง 92% อัตรานี้ขยับได้จากความบังเอิญเพียงอย่างเดียว
เปอร์เซ็นไทล์ก็มีสูตรคล้ายกัน ถ้า คือความหนาแน่นของการแจกแจงยอดเงินที่เปอร์เซ็นไทล์นั้น (เส้นทางกระจุกตัวรอบจำนวนเงินนั้นหนาแน่นเพียงใด)
ที่ปลายหางซึ่งเส้นทางอยู่ห่างกัน มีค่าน้อย ความคลาดเคลื่อนจึงมากกว่า ทั้งสองสูตรลดลงตาม ถ้าจะลดความคลาดเคลื่อนลงครึ่งหนึ่งจึงต้องใช้เส้นทางมากขึ้นสี่เท่า
เพื่อให้เห็นว่าความคลาดเคลื่อนนี้ใหญ่แค่ไหน เราคำนวณแบบเดียวกับเครื่องจำลองมอนติคาร์โล ซ้ำ 50 รอบ โดยเปลี่ยนเพียงซีด ใช้ S&P 500 (SPY รวมเงินปันผล แบบจำลองปรับให้เข้ากับข้อมูลย้อนหลังทั้งหมดตั้งแต่ปี 1993) เป็นดอลลาร์สหรัฐตามตัวเงิน ลงทุนเดือนละ 1 ดอลลาร์เป็นเวลา 20 ปี (เงินต้น 240 ดอลลาร์)
| ยอดเงินหลัง 20 ปี | ค่าเฉลี่ยของ 50 รอบ (เท่าของเงินต้น) | การกระจายเมื่อใช้ 1,000 เส้นทาง | การกระจายเมื่อใช้ 250 เส้นทาง |
|---|---|---|---|
| เปอร์เซ็นไทล์ที่ 10 | 1.7 เท่า | 3.0% | 4.1% |
| ค่ามัธยฐาน | 3.5 เท่า | 2.5% | 5.5% |
| เปอร์เซ็นไทล์ที่ 90 | 7.6 เท่า | 3.1% | 6.5% |
การกระจายในที่นี้คือส่วนเบี่ยงเบนมาตรฐานของผล 50 รอบหารด้วยค่าเฉลี่ยของผลเหล่านั้น เมื่อใช้ 1,000 เส้นทาง ค่ามัธยฐานหลัง 20 ปีขยับจากรอบหนึ่งไปอีกรอบราว 2.5% ค่ามัธยฐานจาก 1,000 เส้นทางจึงควรอ่านโดยเผื่อความคลาดเคลื่อนไม่กี่เปอร์เซ็นต์นี้ไว้
ลองตรวจแบบเดียวกันกับสัดส่วน สัดส่วนของเส้นทางที่ดรอว์ดาวน์สูงสุดลึกถึง −30% หรือลึกกว่า มีค่าเฉลี่ยตลอด 50 รอบที่ 21.3% ส่วนเบี่ยงเบนมาตรฐานในตารางถัดไปคือระยะที่สัดส่วนนั้นเองขยับ หน่วยเป็นจุดเปอร์เซ็นต์
| สัดส่วนที่ดรอว์ดาวน์สูงสุดถึง −30% หรือลึกกว่า | 1,000 เส้นทาง | 250 เส้นทาง |
|---|---|---|
| ส่วนเบี่ยงเบนมาตรฐานที่วัดได้จาก 50 รอบ | 1.5% | 2.8% |
| สูตร | 1.3% | 2.6% |
สำหรับสัดส่วน ค่าที่วัดได้กับค่าจากสูตรเกือบตรงกัน เมื่อใช้เส้นทางเพียงหนึ่งในสี่ การกระจายของตัวชี้วัดส่วนใหญ่เพิ่มขึ้นราวสองเท่า แต่ส่วนเบี่ยงเบนมาตรฐานที่วัดจาก 50 รอบเองก็ไม่แน่นอนราวหนึ่งในสิบ อัตราส่วนของสองค่านั้นยิ่งไม่แน่นอนกว่า บางแถวจึงห่างจากสองเท่าไปมาก อย่างแถวเปอร์เซ็นไทล์ที่ 10 ในตารางแรก
แต่ละเส้นทางจะสุ่มผลตอบแทนเฉลี่ยของแบบจำลองและโอกาสสลับภาวะชุดของตัวเองใหม่ก่อน แล้วจึงสุ่มแต่ละเดือน เส้นทางยังเป็นอิสระต่อกัน กฎ จึงใช้ได้ตามเดิม
ซีดของเครื่องจำลองคือวันที่ที่เปิดหน้า (ตาม UTC) ในรูปตัวเลขแปดหลัก ตัวสร้างเลขสุ่มเทียมขนาดเล็กชื่อ mulberry32 แปลงตัวเลขนี้เป็นเลขสุ่มแบบสม่ำเสมอในช่วง แล้วใช้ไปตามลำดับตั้งแต่เส้นทางแรก ใครก็ตามที่เปิดหน้าในวันเดียวกันด้วยการตั้งค่าเดียวกันจะได้ 1,000 เส้นทางชุดเดียวกัน
เมื่อเปิดหน้าในวันอื่น ซีดจะเปลี่ยน หน้าจึงสุ่ม 1,000 เส้นทางชุดใหม่ (หน้าที่เปิดค้างไว้ยังใช้ซีดเดิมแม้เลยเที่ยงคืนไปแล้ว) การทดลองข้างต้นก็เปลี่ยนเพียงซีดตลอด 50 รอบ ค่ามัธยฐานที่ขยับไม่กี่เปอร์เซ็นต์จากวันหนึ่งไปอีกวันจึงอยู่ในช่วงการกระจายที่วัดได้ในการทดลองนั้น ความต่างที่มากกว่านั้นมากมาจากการเปลี่ยนการตั้งค่าหรือข้อมูลย้อนหลังที่ใช้ปรับแบบจำลอง หรือจากการอัปเดตข้อมูลซึ่งทำให้ปรับแบบจำลองใหม่
สำหรับสินทรัพย์ตัวเดียว ในสมการเวียนเกิดมาจากผลตอบแทนแบบลอการิทึมรายเดือน ของสินทรัพย์นั้น สำหรับพอร์ตที่ผสมหลายสินทรัพย์ โดยให้น้ำหนัก กับสินทรัพย์ (น้ำหนักรวมกันเท่ากับ 1) และปรับสมดุลกลับสู่น้ำหนักเหล่านั้นทุกเดือน ตัวคูณการเติบโตคือ
เครื่องจำลองพอร์ตโฟลิโอ (เมื่อไม่ซื้อด้วยมาร์จิน) และเครื่องจำลองการถอนใช้ใส่ นี้ลงในสมการเวียนเกิดแทน
เมื่อดูเป็นสกุลเงินอื่นที่ไม่ใช่ดอลลาร์ เช่น เงินบาท และเปิด “รวมความผันผวนค่าเงิน” ไว้ (ค่าเริ่มต้น) การเปลี่ยนแปลงรายเดือนของมูลค่าเป็นดอลลาร์ของเงินสกุลนั้นหนึ่งหน่วยจะถูกสุ่มจากแบบจำลองไปพร้อมกับสินทรัพย์ ถ้า คือการเปลี่ยนแปลงแบบลอการิทึมของมัน ตัวคูณการเติบโตในสกุลเงินนั้นคือ โดย คือการเปลี่ยนแปลงเฉลี่ยระยะยาวของอัตราแลกเปลี่ยนในแบบจำลองที่ปรับให้เข้ากับข้อมูลย้อนหลัง แนวโน้มระยะยาวของอัตราแลกเปลี่ยนไม่จำเป็นต้องดำเนินต่อไป จึงตัดส่วนนี้ออก เหลือไว้เพียงการแกว่งและจังหวะเวลาของการแกว่ง
การสุ่ม และ โดยสลับไปมาระหว่างภาวะสงบกับภาวะผันผวน อธิบายไว้ในมอนติคาร์โล ซิมูเลชันคืออะไร
การกระจายข้างต้นเกิดจากการคำนวณเส้นทางจำนวนจำกัดจากแบบจำลองที่กำหนดไว้ เส้นทางที่มากขึ้นทำให้มันเล็กลง แต่มีสองอย่างที่ไม่เปลี่ยนไม่ว่าจะคำนวณกี่เส้นทาง
อย่างแรกคือแบบจำลองผลตอบแทน การที่ มาจากแบบจำลองใดเปลี่ยนตัวการแจกแจงเอง และแบบจำลองที่ปรับให้เข้ากับข้อมูลย้อนหลังแทบไม่สร้างตลาดที่ไม่เหมือนตลาดใดในข้อมูลนั้นเลย
อย่างที่สองคือสิ่งที่การคำนวณไม่ได้รวมไว้ ไม่มีการหักภาษี ค่าธรรมเนียมการซื้อขาย และค่าธรรมเนียมบัญชี (ค่าใช้จ่ายของ ETF เองรวมอยู่ในผลตอบแทนแล้ว) เงินลงทุนรายเดือนคงที่ตลอดช่วงเวลา และราคาสินค้าเพิ่มขึ้นในอัตราคงที่
สมมติฐานเหล่านี้เปลี่ยนผลลัพธ์ได้มากกว่าความคลาดเคลื่อนไม่กี่เปอร์เซ็นต์ของ 1,000 เส้นทางมาก ด้วยการตั้งค่าเดียวกับการทดลองข้างต้น เปลี่ยนเพียงข้อมูลย้อนหลังที่ใช้ปรับแบบจำลอง และคำนวณ 1,000 เส้นทางครั้งเดียวด้วยซีดเดียวกัน ค่ามัธยฐานหลัง 20 ปีคือ 3.4 เท่าของเงินต้นเมื่อใช้ข้อมูลย้อนหลังทั้งหมด และ 4.1 เท่าเมื่อใช้ข้อมูลย้อนหลัง 5 ปีล่าสุด ช่องว่างนี้กว้างกว่าการกระจายที่มาจากจำนวนเส้นทาง (2.5%) มาก