返品データの(まあ、多くの)列を終値の列に変換しようとしています。Clojureでは、を使用しますreductions
。これはのようなものですreduce
が、すべての中間値のシーケンスを返します。
例えば
$ c
0.12
-.13
0.23
0.17
0.29
-0.11
# something like this
$ c.reductions(init=1, lambda accumulator, ret: accumulator * (1 + ret))
1.12
0.97
1.20
1.40
1.81
1.61
注意:実際の終値は重要ではないため、初期値として1を使用します。「模擬」終値が必要です。
私のデータの実際の構造は、TimeSeriesの名前付き列のDataFrameです。私は似たような関数を探しているとapplymap
思いますが、その関数で何かハッキーなことをしたくないし、その中からDFを参照します(これはこの問題の1つの解決策だと思いますか?)
returns
さらに、データを保持したいが、それで終値の「価格」を持っている場合はどうすればよいですか?代わりにタプルを返し、TimeSeriesのタイプを指定する必要があり(returns, closing_price)
ますか?