रिटर्न का मूल्यांकन करें
अब देखते हैं कि हमारा पोर्टफोलियो चयन, केवल SPY में निवेश करने की तुलना में कैसा प्रदर्शन करता। हम ऐसा इसलिए करेंगे ताकि कम R\(^2\) वैल्यू के बावजूद यह समझ सकें कि हमारी भविष्यवाणियाँ कितनी आशाजनक हैं।
हम अपने निवेश के लिए $1000 की शुरुआती वैल्यू सेट करेंगे, फिर अपनी भविष्यवाणियों से मिले रिटर्न और SPY दोनों पर लूप चलाएँगे। हम अपने पोर्टफोलियो चयन और SPY के मासिक रिटर्न को शुरुआती कैश बैलेंस पर अप्लाई करेंगे। इससे हमें महीने-दर-महीने यह तस्वीर मिलेगी कि हमारा निवेश कैसा कर रहा है, और हम देख पाएँगे कि कुल मिलाकर हमारी भविष्यवाणियाँ SPY के मुकाबले कैसी रहीं। अगला कदम, हम अपनी भविष्यवाणियों से बने पोर्टफोलियो का प्लॉट बनाएँगे और उसे SPY से तुलना करेंगे।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Finance के लिए Machine Learning
अभ्यास निर्देश
algo_cashऔरspy_cashदोनों की पहली लिस्ट एंट्रियों को एक ही अमाउंट (cash) पर सेट करें।- हमारे
test_returnsलूप मेंcashको1 + rसे गुणा करें ताकि रिटर्नcashपर अप्लाई हो जाए। - जैसे
test_returnsलूप में किया, वैसे ही SPY परफॉर्मेंस लूप में भी,1 + rसेcashको गुणा करने के बाद रिटर्न जोड़ने हेतुcashकोspy_cashमें append करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Calculate the effect of our portfolio selection on a hypothetical $1k investment
cash = 1000
algo_cash, spy_cash = [cash], ____ # set equal starting cash amounts
for r in test_returns:
cash *= 1 + r
algo_cash.append(cash)
# Calculate performance for SPY
cash = 1000 # reset cash amount
for r in returns_monthly['SPY'].iloc[train_size:]:
cash ____ ____
____
print('algo returns:', (algo_cash[-1] - algo_cash[0]) / algo_cash[0])
print('SPY returns:', (spy_cash[-1] - spy_cash[0]) / spy_cash[0])