我正在尝试用 Python 计算时间序列的 Hurst 指数,该值决定了量化金融时间序列的一些均值回归特征。我采用了任意长度的时间序列,并选择将其拆分为数据 block ,该过程是计算 Hurst 指数(几种方法之一)的一部分。我把它写成一个函数。假设我的时间序列(证券价格)为“y”,我想要的 block 数为“n”:
def hurst(y,n):
y = array_split(y,n)
问题是现在数组被分成 block ,其中一个 block 的大小与其他 block 不相等。我想找到每个 block 的均值、标准差、均值居中序列、均值居中序列的累积和以及累积和的范围。但是由于数组的大小不统一,我还没有找到实现这个的方法。基本上当我试图通过时
mean(y,axis=0)
或者 1 或 2,对于轴,我得到一个错误。当使用 n=20 时,数组的形状为
(20,)
我想也许“向量化”可以帮助我?但是我还没有完全弄清楚如何使用它。我试图避免循环遍历数据。
拆分后的示例数据:
[array([[ 1.04676],
[ 1.0366 ],
[ 1.0418 ],
[ 1.0536 ],
[ 1.0639 ],
[ 1.06556],
[ 1.0668 ]]), array([[ 1.056 ],
[ 1.053 ],
[ 1.0521 ],
[ 1.0517 ],
[ 1.0551 ],
[ 1.0485 ],
[ 1.05705]]), array([[ 1.0531],
[ 1.0545],
[ 1.0682],
[ 1.08 ],
[ 1.0728],
[ 1.061 ],
[ 1.0554]]), array([[ 1.0642],
[ 1.0607],
[ 1.0546],
[ 1.0521],
[ 1.0548],
[ 1.0647],
[ 1.0604]])
数据类型列表
最佳答案
关于python - 计算 3D 锯齿状 NumPy 数组的 2D 均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38429927/