問題タブ [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.

0 投票する
2 に答える
1746 参照

r - rollapplyで複数の列と1つの列の間のローリング相関を計算する方法は?

問題

rollapply を使用して、 stock_returns (xts オブジェクト) の列とmarket_return (個別の xts オブジェクト、市場のリターンを含む 1 つの列のみ)の 39 株のそれぞれの間のローリング相関を計算する場合:

rolling_3yearcor <- rollapply(stock_returns,width=750,FUN=cor,y=market_return)

次のエラーが表示されます。

Error in FUN(.subset_xts(data, (i - width + 1):i, j), ...) : incompatible dimensions

market_returnの単一の列をサブセット化したとしても

rolling_3yearcor <- rollapply(stock_returns,width=750,FUN=cor,y=market_return$market)

寸法が同じなのに、エラーが発生しますか?! (1 列、同じ行数)。

私がしたいこと:

私は、stock_returns の毎日のリターンの代わりに、39 の在庫列のそれぞれで、stock[i] と 750 日のローリング ウィンドウの市場との相関を持つ xts オブジェクトが必要です。

rollapply はまさにそれを行うべきではありませんか?

編集 1: 1 日後方シフトの問題のデータ サンプル

コードで:

私に与えます:

次に:

それは私に与えます: