2 回答
TA贡献1836条经验 获得超13个赞
很可能不是图形或代码搞砸了 - 而是您的输入。尝试使用资产。可能是您包含在优化算法中的资产高度正相关 - 导致多样化的影响可以忽略不计。反过来,这会影响您的有效边界的形状。
编辑:
如果这不是问题的根源。也许使用以下代码行重试该程序:
def monteCarlo_Simulation(returns):
noa = len(tickers)
random_returns = []
random_volatility = []
for i in range (10000):
weights = np.random.random(noa)
weights = weights / np.sum(weights)
random_returns.append(np.sum(returns.mean()*weights)*252)
random_volatility.append(np.sqrt(np.dot(weights.T, np.dot(returns.cov()*252, weights))))
random_returns = np.array(random_returns)
random_volatility = np.array(random_volatility)
fig_random = plt.figure(figsize = [6,4])
plt.scatter(random_volatility, random_returns,
c= random_returns / random_volatility, marker = '.')
plt.grid(True)
plt.xlabel('Expected volatility')
plt.ylabel('Expected return')
plt.colorbar(label='Sharpe ratio')
plt.title('Mean Variance Analysis Plot')
plt.show()
TA贡献1943条经验 获得超7个赞
我遇到了类似的问题,我通过查看 NaN 值解决了这个问题,有些公司的 IPO 很晚,有些是在同一年。因此,您需要收集与您的股票投资组合中最新 IPO 相同的数据。或者剔除在您检索数据之日之前未 IPO 的所有股票。
添加回答
举报