Python में पोर्टफोलियो जोखिम प्रबंधन का परिचय
Dakota Wixom
Quantitative Analyst | QuantCourse.com
$$ R_p = R_{a_1} w_{a_1} + R_{a_2} w_{a_2} + ... + R_{a_n} w_{a_1} $$
StockReturns अगर स्टॉक रिटर्न्स का pandas DataFrame है, तो आप दिए गए पोर्टफोलियो वेट्स के लिए पोर्टफोलियो रिटर्न इस तरह निकाल सकते हैं:
import numpy as np
portfolio_weights = np.array([0.25, 0.35, 0.10, 0.20, 0.10])
port_ret = StockReturns.mul(portfolio_weights, axis=1).sum(axis=1)
port_ret
Date
2017-01-03 0.008082
2017-01-04 0.000161
2017-01-05 0.003448
...
StockReturns["Portfolio"] = port_ret
StockReturns अगर स्टॉक रिटर्न्स का pandas DataFrame है, तो equally weighted पोर्टफोलियो का रिटर्न इस तरह निकालें:
import numpy as np
numstocks = 5
portfolio_weights_ew = np.repeat(1/numstocks, numstocks)
StockReturns.iloc[:,0:numstocks].mul(portfolio_weights_ew, axis=1).sum(axis=1)
Date
2017-01-03 0.008082
2017-01-04 0.000161
2017-01-05 0.003448
...
Python में daily returns प्लॉट करने के लिए:
StockPrices["Returns"] = StockPrices["Adj Close"].pct_change()
StockReturns = StockPrices["Returns"]
StockReturns.plot()

कई पोर्टफोलियो के cumulative returns प्लॉट करने के लिए:
import matplotlib.pyplot as plt
CumulativeReturns = ((1 + StockReturns).cumprod() - 1)
CumulativeReturns[["Portfolio","Portfolio_EW"]].plot()


Market capitalization: किसी कंपनी के सार्वजनिक रूप से ट्रेड होने वाले शेयरों का कुल मूल्य.
इसे Market cap भी कहते हैं.
किसी स्टॉक n का मार्केट कैप वेट निकालने के लिए:
$$ w_{mcap_n} = \frac{mcap_n}{ \sum_{i=1}^n mcap_i } $$
Python में मार्केट कैप वेट्स निकालने के लिए, मान लें कि आपके पास हर कंपनी के मार्केट कैप का डेटा है:
import numpy as np
market_capitalizations = np.array([100, 200, 100, 100])
mcap_weights = market_capitalizations/sum(market_capitalizations)
mcap_weights
array([0.2, 0.4, 0.2, 0.2])
Python में पोर्टफोलियो जोखिम प्रबंधन का परिचय