我想为10家不同的公司创建多个蒙特卡罗分析。MC函数有3个参数,根据公司的不同而变化,其代码如下所示:
import numpy as np
def monte_carlo(start_price, days, mu, sigma):
price = np.zeros(days)
price[0]= start_price
shock = np.zeros(days)
drift = np.zeros(days)
for x in range (1,days):
shock[x] = np.random.normal(loc = mu *dt, scale = sigma * np.sqrt(dt) )
drift[x] = mu*dt
price[x] = price[x-1] + (price[x-1] * (drift[x] + shock[x]) )
return price
然后,该函数由for循环绘制100次:
for run in range(100):
plt.plot(monte_carlo(start_price,days,mu,sigma))
plt.xlabel('Days')
plt.ylabel('Price')
plt.title('MCA for ')
这一切都适用于一组起始价格、mu、sigma的值,但我希望它能循环通过10个不同的集合
我有一些东西看起来像这样:
for stock in start_price, sigma, mu:
for run in range(100):
plt.plot(monte_carlo(start_price[stock],days,mu[stock],sigma[stock]))
plt.xlabel('Days')
plt.ylabel('Price')
plt.title('MCA for %' %stock)
但这根本不起作用,我得到了一个“只能通过布尔值的数据帧”错误
我希望这是有道理的,我是一个彻头彻尾的傻瓜,所以任何帮助都是感激的
目前没有回答
相关问题 更多 >
编程相关推荐