sixqueens’s blog

コンピュータ、読書、語学学習、ゲーム、資産運用等に関する雑記を書きます。

Backtraderことはじめ

株のバックテストの為に、BacktraderというPythonのライブラリを使い始めた。

元々backtesting.pyというライブラリを使っていたが、このライブラリは1つの銘柄に対してバックテストを行う為のものであり、1つのポートフォリオに複数の銘柄を入れて、毎月の成績に応じて銘柄を入れ替えたり、リバランスして保有比率を変える、といったようなことに対応出来なかった。

 

Backtraderはこのような機能を有しており、知名度もそれなりにありそうなので検証してみた。

参考にさせて頂いたのは以下のコード。

github.com

 

例えば、「米国のセクター別ETF10数種の中から、過去半年のリターンが高いETFを4つ保有して、四半期ごとにローテションを行う」という戦略を作り、2011年~2021年の過去データでバックテストを行った際の結果を出すと以下のようになる。

 

売買履歴(緑が買いで赤が売り)

f:id:sixqueens:20210516143712j:plain

結果レポート

f:id:sixqueens:20210516143718j:plain

CAGR、シャープレシオ、ドローダウン、年毎や月毎のリターンが分かるレポートが出力される。

入力データはYahooFinanceなどでcsvファイル形式で入手してこればいいので、色々と応用も効きそう。

個別株の裁量取引はギャンブル要素が強すぎるし…、でもインデックスガチホ投資は脳死過ぎて嫌…、というような人にお勧めしたい。

Githubでbacktraderで検索をかけると、参考になるコードが公開されているので、スモールスタートで始めると良いと思う。