python - 计算 3D 锯齿状 NumPy 数组的 2D 均值

标签 python multidimensional-array mean exponent quantitative-finance

我正在尝试用 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]])

数据类型列表

最佳答案

要列出平均值,您可以简单地使用 list comprehension :

    [mean(x[axis]) for axis in range(len(x))]

它遍历轴并计算每个部分的平均值。

关于python - 计算 3D 锯齿状 NumPy 数组的 2D 均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38429927/

相关文章:

node.js - Mongoose 与 MongoDB 验证

matlab - MATLAB 中的均值滤波器没有循环或信号处理工具箱

python urllib2 发布请求

c++ - 访问顺序序列元素的通用方法

Python Notepad++编码错误

python - 删除pytorch中的零维

matlab - 按照模式创建多维数组

python - 从非常大的列表中排除特定值的平均值

Python freezeset 散列算法/实现

python - python中的属性文件(类似于Java Properties)