【BTC/JPY】ドンチャンチャネルブレイクアウト戦略のバックテスト(日足)
ドンチャンチャネル(高値安値バンド)を使った、ビットコイン取引戦略(日足)のバックテストをしたいと思います。
ドンチャンチャネルは、トレンドフォロワーにはかなり人気の高い指標で、暗号資産の世界でも2018年頃に人気でした。
今回は、Yahoo financeからBTC/JPYペアのデータを使います。
検証期間は2018/01/01から2023/06/30で、単利運用とします。
末尾の有料パートでこのバックテストで使用したpythonコードのファイルを貼っています。
取引ルールは、2つのパラメータ(期間1)と(期間2)を使って以下になります。
(期間1)日前から前日までの高値を当日終値が上回ったら、100万円分のBTCをロングで参入する。
(期間2)日前から前日までの安値を当日終値が下回ったら、ロングポジションを決済する。
(期間1)日前から前日までの安値を当日終値が下回ったら、100万円分のBTCをショートで参入する。
(期間2)日前から前日までの高値を当日終値が上回ったら、ショートポジションを決済する。
言い換えると、
(期間1)のドンチャンチャネルを終値がブレイクしたときに、ブレイクした方向のポジションで参入し、
(期間2)のドンチャンチャネルを終値がポジションの反対方向にブレイクしたら、ポジションを閉じます。
手仕舞いしたら反対のポジションを持つ、ドテン方式です。
損切、利食い目標が無いため、トレンドが続く限りポジションを持ち続けます。
取引の度に0.1%の手数料がかかるとします。
最適化したいパラメータは(期間1)と(期間2)の二つになります。
ここではドローダウンを、未実現損益(評価損益)を含めた数値で計算しました。(ドローダウン) = (いままでの実現損益の最大値) - (現在の実現損益+未実現損益)
パラメータを変えたときの利益の分布

上のグラフは、パラメータを変えたときのドンチャンチャネル(DC)ブレイクアウト戦略の利益の分布を表しています。
縦が参入時に使うDCの期間、横が決済時の期間です。
一つのドンチャンチャネルで、参入と決済で両方同じ期間を使う場合は、丁度20か40の期間が使いやすそうです。
利益を最大にしたパラメタ(期間1=15, 期間2=23)
期間1:15
期間2:23
のとき利益が最大になりました。直近1年は厳しい成績が続いているようです。
利益:676万円
最大ドローダウン:46万円
トレード回数:34
プロフィットファクター:5.07
勝率:50%

上がBTC/JPY価格、真ん中が資産推移、一番下がドローダウンです。
資産推移の水色は評価損益を含めた損益でオレンジは実現損益を表しています。
利益÷最大ドローダウンを最大にしたパラメタ(期間1=58, 期間2=21)
期間1:58
期間2:21
のとき利益÷最大ドローダウンが最大になりました。
利益:506万円
最大ドローダウン:23万円
トレード回数:22
プロフィットファクター:10.10
勝率:59%

直近1年の成績は比較的良い結果ですが、ダメなときはダメなのは変わらないので注意です。
プロフィットファクターが異常に高いですね。トレンドフォロー戦略にしては勝率が59%と高めです。取引回数が少なすぎるので、他のエントリー時のシグナルと組み合わせて使いたい。
使用したpythonコード
この記事にあるグラフを出力するために使ったpythonコードのファイルを有料部分に張っています。テスト期間や通貨ペアを変えてご活用ください。
ソースコードには以下の内容が含まれます。
・yahoo financeのAPIから、ビットコインのろうそく足データをダウンロードする。
・複数のパラメータでバックテストを行う。並列処理を使って高速化しています。
・バックテスト結果をグラフに出力する。
ここから先は
¥ 300
この記事が気に入ったらチップで応援してみませんか?