yuce = pd.read_excel("E:/应统案例大赛/附件1-股票交易数据/yuceclose.xlsx",index_col=0) # 计算预期收益和样本协方差矩阵 mu3 = expected_returns.mean_historical_return(yuce) # 使用历史数据计算预期收益 S3 = risk_models.sample_cov(yuce) # 使用历史数据计算协方差矩阵 # Optimize for maximal Sharpe ratio ef = EfficientFrontier(mu3, S3) raw_weights = ef.max_sharpe() cleaned_weights = ef.clean_weights() ef.save_weights_to_file("yuceweight.csv") # saves to file print(cleaned_weights) ef.portfolio_performance(verbose=True)如何绘图表示
时间: 2024-02-25 12:51:46 浏览: 81
huiselilun_yuce.rar_yuce_灰色预测 matlab
可以使用matplotlib库绘制有效前沿图。代码示例如下:
```
import numpy as np
import matplotlib.pyplot as plt
# 计算有效前沿
ef = EfficientFrontier(mu3, S3)
raw_frontier = ef.efficient_frontier()
cleaned_frontier = ef.clean_frontier()
# 绘制有效前沿图
fig, ax = plt.subplots()
ax.plot(cleaned_frontier[0], cleaned_frontier[1], label='Efficient Frontier')
ax.plot(np.sqrt(np.diagonal(S3)), mu3, 'o', markersize=5, label='Stocks')
ax.set_title('Efficient Frontier')
ax.set_xlabel('Volatility')
ax.set_ylabel('Expected Return')
ax.legend()
plt.show()
```
此代码将有效前沿和各个资产的预期收益率和波动率作为散点图进行可视化,并标注有效前沿的位置。可以通过修改mu3和S3变量中的值来适应不同的投资组合。
阅读全文