对于在列表中选择特定项目和for
循环,我有一个简短的问题。
我已经预测了下表中列出的一些差异。 h描述了预测范围,下面的值是方差。如果使用[]
选择元素,则整行从h.1到h.5。因此,我的第一个问题是例如仅选择h.1的元素。是否有可能或者我必须将值保存在单独的列表中?
[ h.1 h.2 h.3 h.4 h.5
timestamp
2016-01-31 0.020961 0.020271 0.020224 0.020221 0.020221,
h.1 h.2 h.3 h.4 h.5
timestamp
2016-02-29 0.068519 0.064562 0.061911 0.060134 0.058944]
我的下一步是根据上述差异对未来价格进行预测。这就是为什么我定义了一个函数。输入参数和功能定义如下。除方差外,所有参数均已定义且为外部参数。因此,如果我使用预定义变量作为方差,则函数可以正常工作。我正在为时间范围和个人起点(此处为s0)使用一个循环,因此我预计总共有10个价格。问题是我有随时间变化的方差。我想我需要另一个循环来使用特定时间的方差。有人有什么主意吗?
def generate_asset_price(S,v,r,T):
return S * exp((r - 0.5 * v**2) * T + v * sqrt(T) * gauss(0,1.0))
# USER INPUT
S0 = []
for month in months:
s0 = month['average_price'].iloc[-1]
S0.append(s0)
mu = 0.02
dt = 1
T = 5
years = 5
S_path=[]
for i in range(years):
for s0 in S0:
S_t = generate_asset_price(s0,v,mu,i)
s0 = S_t
S_path.append(S_t)
非常感谢您!