問題タブ [rolling-computation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 時系列 r の変動性が最も低い期間を見つける
時系列があり、連続した変動性が最も低い期間、つまり、ローリング SD が連続する最長の時間ステップの最小値付近でホバリングする期間を見つけたいと考えています。
データまたはグラフから、変動性が最小の最長期間が t=11 で始まることが簡単にわかります。おそらくローリングウィンドウの異なるサイズを自動的に試して、この継続的な低変動性の期間を見つけるのに役立つ機能はありますか? SD が最も低い時間ステップを見つけることには興味がありませんが、この低い SD が他よりも一貫している期間を見つけます。
今のところ考えられるのは、rol[i]-rol[i+1] の違いを調べて、ベクトルをループし、カウンターを使用して SD の連続した低い値の期間を見つけることだけです。また、クラスター分析を使用することも考え kmeans(rol, 5)
ていましたが、複雑な長い時系列を持つことができ、クラスターの数を手動で選択する必要があります。
python - パンダのローリングを使用したデータフレームのすべての値の実際の平均
次のような df がある場合:
そして、2行のウィンドウで平均を計算したい場合は、これを使用できます:
戻り値:
これは、単一行の要素の平均を使用した、2 行のウィンドウでの平均です。たとえば、rolling_mean
row1 の (4) は、row0 の平均と row1(1+1)/2 = 1
の値 (7)の平均です。(1+7)/2 = 4
代わりに、最初の 2 行のこれら 3 つの値の平均が必要な場合は、次の結果が必要です(1+1+7)/3 = 3
。それを取得するために、私はこれを使用しました:
それは私の望ましい出力を返します:
私の質問は次のとおりです:これを行うためのよりエレガントでpythonicな方法はありますか? ありがとう
r - 共分散行列を推定するためのローリング ウィンドウ
資産リターンの 4 年間の時系列を取得し、6 か月のキャリブレーション期間で分散共分散行列を推定するために、ローリング ウィンドウを実行しようとしています。全体として、40 の共分散行列を取得する必要があります。以下に書かれたコードを実行しようとしましたが、間違っています。この R コードを変更するにはどうすればよいですか?
20 日間にわたる 5 つの資産の収益を含むマトリックスをデータセットとして考えます
5 日間にわたる収益の共分散行列を調整したいので、1、2、3、4、5 日を考慮します。次に、6、7、8、9、10 日を考慮して別の共分散行列を調整します。など、ローリング ウィンドウを使用します (ループ for を使用してこれを試みました)。
ただし、ウィンドウ サイズを 5 に設定すると、コードは最初のマトリックスでは 1、2、3、4、5 日を考慮しますが、2 番目のマトリックスでは、コードは 2、3、4、5、6 日を考慮します (6 日ではありません)。 、7、8、9、10 が必要です)。これは私の問題です。この「分割」を2日目から6日目に行うためにコードを変更する方法がわかりません。