私は時系列のHurst指数をPythonで計算しようとしています。これは、量的財務の時系列の平均復帰特性を決定する値です。私は、任意の長さの時系列を取り、それをデータのまとまりに分割することを選択しました。このプロセスは、ハースト指数(いくつかの方法の1つ)の計算の一部です。私はこれを関数として書いています。私は「Y」と私は「N」としたいチャンクの数などの時系列(セキュリティの価格を)持っている想像:3DギザギザのNumPy配列の2D平均の計算
問題は今のアレイは、チャンクの1に分割されていることdef hurst(y,n):
y = array_split(y,n)
チャンクは他のチャンクと同じサイズではありません。私は平均、標準偏差、平均中心シリーズ、平均中心シリーズの累積合計、および各チャンクの累積合計の範囲を見つけたいと思います。しかし、アレイのサイズが均一ではないので、私はこれを達成する方法を見出していません。基本的に私が試行したときに
mean(y,axis=0)
または軸の1または2、私はエラーが発生します。 N = 20を使用している場合、私は多分、「ベクトル化」は私を助けることができると思った、配列の形状は
(20,)
として与えられていますか?しかし、私はそれをどのように使用するかを考えていません。私はデータをループすることを避けようとしています。
サンプルデータ、それが分割された後:あなたは、単にlist comprehensionを使用することができます平均値のリストを作るために
[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
は 'y'のですか?単純なデータの例を提供してください。 –
'y'はパンダのデータフレームとして開始します。それから私は 'as_matrix'を使って配列形式にしています。それから私はそれに 'array_split'を使用しています。最終的な形式は 'list'だと思います。私は非常にPythonの初心者です – denbjornen505
変数 'a'の型を知りたければ' print(type(a)) 'を使うことができます –