所以我试图从给出的累积收益
hist_data = (hist_data - hist_data.iloc[0]) / hist_data.iloc[0]
我正在尝试从这种累积收益转变为每日收益,但是却在如何有效地做到这一点方面空白。有任何想法吗?
我以为如果减一就可以
(hist_data[1:] - hist_data[:-1]) / hist_data[:-1]
最佳答案
如果hist_data
包含累积收益,则这是计算每日收益的常用快捷方式。假设hist_data
是返回百分比的向量,则需要将1.0
添加到hist_data中,如下所述。这样,我们就有了收益率向量而不是收益率百分比。
import numpy as np
daily_returns = np.exp(np.log(hist_data + 1.0).diff())
在这里,我们只是使用自然日志(
ln
)的属性,即ln(a/b) = ln(a) - ln(b)
a/b = exp(ln(a) - ln(b))
关于python - 使用 Pandas 将累积 yield 转换为每日 yield ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45820852/