शुरू करेंमुफ़्त में शुरू करें

Periodic rebalancing के साथ optimization

Periodic rebalancing के साथ optimization चलाना और backtest के out-of-sample परिणामों का विश्लेषण करना, constraints और objectives को बेहतर समझने और आवश्यकता होने पर सुधारने का एक अहम कदम है. optimize.portfolio.rebalancing() periodic rebalancing (backtesting) के साथ optimization को सपोर्ट करता है ताकि out-of-sample performance देखी जा सके. optimize.portfolio() के arguments के अलावा, periodic rebalancing frequency को rebalance_on से निर्दिष्ट करना होगा, शुरुआती optimization के लिए training data के रूप में इस्तेमाल होने वाले periods की संख्या के लिए training_period, और optimization की window width के periods की संख्या के लिए rolling_window. अगर rolling_window को NULL रखा गया है, तो हर optimization उस दिए गए period तक उपलब्ध सभी डेटा का उपयोग करेगा जिस समय optimization चलाया जाता है.

इस अभ्यास में computation time कम करने के लिए, random portfolios का सेट rp 50 permutations के साथ जनरेट किया गया है, और search_size (कितने portfolios टेस्ट करने हैं) को 1000 पर सेट किया गया है. अगर आप वास्तविक रूप से अपने portfolios optimize कर रहे हैं, तो आप शायद ज़्यादा portfolios टेस्ट करना चाहेंगे (डिफ़ॉल्ट search_size 20,000 है)!

यह अभ्यास पाठ्यक्रम का हिस्सा है

R में इंटरमीडिएट पोर्टफोलियो विश्लेषण

पाठ्यक्रम देखें

अभ्यास निर्देश

  • Quarterly rebalancing के साथ optimization चलाएँ. training_period और rolling_window दोनों को 60 periods पर सेट करें. डेटासेट monthly डेटा है, इसलिए हम 5 साल का historical डेटा इस्तेमाल कर रहे हैं. Optimization के आउटपुट को opt_rebal नाम के वैरिएबल में असाइन करें.
  • Optimization के परिणाम प्रिंट करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Run the optimization backtest with quarterly rebalancing
opt_rebal <- optimize.portfolio.rebalancing(R = ___, portfolio = ___, optimize_method = ___, rp = rp, trace = TRUE, search_size = 1000, rebalance_on = ___, training_period = ___, rolling_window = ___)


# Print the output of the optimization backtest
कोड संपादित करें और चलाएँ