เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Backtest พร้อมการปรับสมดุลเป็นระยะ

ในขั้นตอนนี้ เราจะรัน backtest โดยใช้ข้อกำหนดพอร์ตโฟลิโอที่สร้างไว้ในแบบฝึกหัดก่อนหน้า พร้อมกำหนดให้ปรับสมดุลทุกไตรมาส เพื่อประเมินประสิทธิภาพแบบ out-of-sample พารามิเตอร์อื่นที่ต้องกำหนดสำหรับ backtest ได้แก่ ช่วงฝึกฝน (training period) และขนาดหน้าต่างแบบเลื่อน (rolling window) โดย training period กำหนดจำนวนจุดข้อมูลที่ใช้สำหรับการ optimization รอบแรก ส่วน rolling window กำหนดจำนวนงวดที่ใช้ในแต่ละช่วง โจทย์นี้สามารถแก้ได้ด้วย quadratic programming solver จึงใช้ "ROI" เป็นวิธีการ optimization

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์พอร์ตโฟลิโอระดับกลางใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • รัน optimization โดยกำหนดให้ปรับสมดุลทุกไตรมาส ตั้งค่า training period และ rolling window ให้ใช้ข้อมูล 5 ปี แล้วกำหนดผลลัพธ์ให้กับตัวแปรชื่อ opt_rebal_base
  • แสดงผลลัพธ์ของการ optimization
  • สร้างกราฟแสดงค่าน้ำหนัก
  • คำนวณผลตอบแทนของพอร์ตโฟลิโอโดยใช้ Return.portfolio แล้วกำหนดผลตอบแทนให้กับตัวแปรชื่อ returns_base

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์


# Run the optimization
opt_rebal_base <- optimize.portfolio.rebalancing(R = ___, 
                                                 portfolio = ___, 
                                                 optimize_method = "ROI", 
                                                 rebalance_on = ___, 
                                                 training_period = ___,
                                                 rolling_window = ___)

# Print the results


# Chart the weights


# Compute the portfolio returns
returns_base <- Return.portfolio(R = ___, weights = ___)
colnames(returns_base) <- "base"
แก้ไขและรันโค้ด