gpt4 book ai didi

python - 使用Python数组存储数据(HAR-RV信用风险模型实现)

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:20 31 4
gpt4 key购买 nike

这是我第一次来到 Stack,也是我第一次接触 Python。我正在处理 HAR-RV 模型,尝试运行这个方程,但没有成功将我的操作存储在数组上

这是我要计算的内容:

r_[t,i] = Y_[t,i] - Y_[t,i-1]

https://cdn1.imggmi.com/uploads/2019/8/30/299a4ab026de7db33c4222b30f3ed70a-full.png

我在这里使用第一个关系,其中“r”表示返回,“Y”表示股票价格

t = 10 # daily intervals

i = 30 # number of days

s = 1

# (Here I've just created some fake numbers, intending to simulate some stock prices)

Y = abs(np.random.random((10,30)) + 1)

# initializing my return array
return = np.array([])

# (I also tried to initialize it as a Matrix before..) :
return = np.zeros((10,30))

# here is my for loop to store each daily return at its position on the "return" Array. I wanted an Array but got just "() size"

for t in range(0,9):
for i in range(1,29):
return = np.array( Y.item((t,i)) - Y.item((t,i-1)) )

...所以,我期待这样的事情:

return = [一阶差分、二阶差分、三阶差分...]

我该怎么做?

最佳答案

首先不要使用return作为Python中的变量名,因为它是Python关键字(它表示函数的结果)。我已将您的变量 return 更改为 ret_val

您想要在数组中的每个位置进行更改,因此对 for 循环进行以下更改:

for t in range(0,10):
for i in range(1,30):
ret_val[t][i] = Y[t][i] - Y[t][i-1]
print(ret_val)

这表示要更改索引 ret_val[t][i] 处的值,结果是减去 Y 中该特定索引处的值。打印时您应该看到相同形状的数组。

此外,Python中的range函数不包含上限数字。因此,当您说 for i in range(0,9) 时,您是在说要包含数字 0-8。对于您的数组,您需要执行 for i in range(0,10) 以包含数组中的所有值。相应地,您需要对 range(1,30) 中的 i 执行相同的操作。

关于python - 使用Python数组存储数据(HAR-RV信用风险模型实现),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57731770/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com