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 的 .cov() 方法並年化
covariance = returns.cov()*252print(covariance)

returns 的 .cov() 方法並年化covariance 的對角線為個別資產變異數
covariance = returns.cov()*252print(covariance)

returns 的 .cov() 方法並年化covariance 的對角線為個別資產變異數covariance 的非對角線為資產間的共變異數covariance = returns.cov()*252print(covariance)

weights@ 計算weights = [0.25, 0.25, 0.25, 0.25] # 假設組合含四檔資產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 量化風險管理