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 的非对角线是资产间协方差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 中的定量风险管理