我正在尝试将(嗯,很多)返回数据列转换为收盘价列。在 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
,但我宁愿不对该函数做一些hacky并从其中引用DF(我想这是解决这个问题的一种方法?)
此外,如果我想保留returns
数据,但有收盘“价格”,我会怎么做?我应该返回一个元组,并让 TimeSeries 是类型(returns, closing_price)
吗?