pyfolio は どんなデータを入れても複利運用として計算してしまうので、人によっては望まない検証方法だったりしますよね。今回は mock を使ってそれを解決してみます。
daily_result に pandas の daily の収支が入っているとします。
mock を使って解決。
import mock
import pyfolio as pf
def cum_returns(returns, starting_value=0):
return returns.cumsum() + starting_value
with mock.patch("empyrical.stats.cum_returns", cum_returns):
pf.plot_monthly_returns_heatmap(daily_result)
plt.show()
cum_returns 内で Series.cumprod が呼ばれてしまっているので、今回のモンキーパッチで cumsum に切り替えました。
コメント