Pythonで学ぶ定量的リスク管理
Dr. Jamsheed Shorish
Computational Economist
Pandas データ分析ライブラリprices.pct_change() メソッドreturns の .dot() メソッドprices = pandas.read_csv("portfolio.csv")returns = prices.pct_change()weights = (weight_1, weight_2, ...)portfolio_returns = returns.dot(weights)
returns の DataFrame メソッド .cov() を使い年率換算
covariance = returns.cov()*252print(covariance)

returns の DataFrame メソッド .cov() を使い年率換算covariance の対角は各資産の分散
covariance = returns.cov()*252print(covariance)

returns の DataFrame メソッド .cov() を使い年率換算covariance の対角は各資産の分散covariance = returns.cov()*252print(covariance)

weightsに依存@ 演算子で計算可能weights = [0.25, 0.25, 0.25, 0.25] # 資産が4つと仮定portfolio_variance = np.transpose(weights) @ covariance @ weightsportfolio_volatility = np.sqrt(portfolio_variance)
Series.rolling() でウィンドウ作成windowed = portfolio_returns.rolling(30)volatility = windowed.std()*np.sqrt(252) volatility.plot() .set_ylabel("Standard Deviation...")

Pythonで学ぶ定量的リスク管理