【シストレ開発#18】「ボリンジャーバンド」バックテスト完了!その結果は・・・

「ボリンジャーバンド」の有効性がはっきりしました! たっきん(Twitter)です!

前回は「ボリンジャーバンド」のシステムトレード(自動売買システム)の開発に着手し、まずは「ボリンジャーバンド」の損益シミュレーション開発から作り込みを始めました。

そして現在は無事に損益シミュレーション開発も完了し、過去チャートを使ってバックテストを実際に行ってみましたのでその結果を公表したいと思います!(^^)

「ボリンジャーバンド」には一般的に「順張り型」と「逆張り型」の2種類のアプローチ戦略があるので、バックテストも2種類の方法で実装しました。

もちろんバックテストの結果はヒートマップを使って、どの条件の時にパフォーマンスが良いのかが一目瞭然になるようにしています。

果たして「ボリンジャーバンド」のシストレは本当に有効なのか?

その結果が判明しましたので、今日はその結果を報告していきたいと思います!(^^)

Sponsored Link

Entry・Exitポイント

前回の記事でも書きましたが、改めて「ボリンジャーバンド」シストレを実行するにあたってのEntry・Exitポイントを今一度おさらいしていきましょう!

バックテストもこの基準に従ってプログラムしています。

順張り型

○Entryポイント

・現在価格が「(+x)標準偏差(σ)」と「(-x)標準偏差(σ)」で構成されるバンド帯から逸脱したタイミング
 (+x)標準偏差(σ) ⇒ 買いエントリー
 (-x)標準偏差(σ) ⇒ 売りエントリー

○Exit(利確)ポイント

・ 現在価格が「Entryポイント+z」または、「Entryポイント-z」へ到達したタイミング
 買いエントリー ⇒ Entryポイント + z
 売りエントリー ⇒ Entryポイント - z
 (z:任意の値)

○Exit(損切)ポイント

・ 現在価格が移動平均線へ到達したタイミング

逆張り型

○Entryポイント

・現在価格が「(+x)標準偏差(σ)」と「(-x)標準偏差(σ)」で構成されるバンド帯から逸脱したタイミング
 (+x)標準偏差(σ) ⇒ 売りエントリー
 (-x)標準偏差(σ) ⇒ 買いエントリー

○Exit(利確)ポイント

・ 現在価格が移動平均線へ到達したタイミング

○Exit(損切)ポイント

・ 現在価格が「Entryポイント+z」または、「Entryポイント-z」へ到達したタイミング
 売りエントリー ⇒ Entryポイント - z
 買いエントリー ⇒ Entryポイント + z​
 (z:任意の値)

バックテスト結果

では、お待ちかねのバックテスト結果になります。

バックテストは下記の条件のもと実施しました。

○バックテスト条件

・対象通貨ペア:ドル円
・過去チャート期間:2017年1月1日~2021年12月31日(5年間)
・時間足:「1分足」、「10分足」、「1時間足」の3パターンで実施

結果はヒートマップで見える化しており横軸、縦軸は下記のとおりとなってます。

  • 横軸:標準偏差σの係数
  • 縦軸:移動平均の算出期間

色分布は下記のとおりとなります。

  • :損益プラス
  • :損益ゼロ
  • :損益マイナス

また、今回お見せするバックテスト結果は全体の一部分のみの公開とさせていただきます。

本当に有益な情報はそう簡単に公開できませんので(笑)

順張り型

「1分足」、「10分足」、「1時間足」のヒートマップになります。

下記に公開しているのは利確閾値z=100[pips]の場合になります。

<1分足>

<10分足>

<1時間足>

逆張り型

「1分足」、「10分足」、「1時間足」のヒートマップになります。

下記に公開しているのは損切閾値z=100[pips]の場合になります。

<1分足>

<10分足>

<1時間足>

ボリンジャーバンドの有効性

あらゆるパラメータを変化させてバックテストを行った結果、ボリンジャーバンドのシステムトレードで一番利益率が優れている条件は「順張り型」「1時間足」という結果になりました。

最もパフォーマンスが優れていたポイントの累積損益推移のグラフは以下のようになりますが、下記のグラフを見る限りこのポイントで過去5年間(2017年~2021年)シストレをした場合、約14,000pipsもの利益が出たことになります。

しかもコンスタントに右肩上がりのグラフとなっているため、この傾向が今後も続くのであれば比較的安定して利益を出せるのではないでしょうか?

早速、このパフォーマンスに優れたポイントのパラメータをプログラムに組み込み、本番口座で運用を開始することにしました。

また「ボリンジャーバンド」アプリ追加にともない、シストレ・アーキテクチャ設計も一部仕様変更しました。

<変更点>

  • 「trade_apl」からの通信「order_request」をトピック→サービスに変更
  • 通信「trade_close_request」サービスを追加

さいごに

「ボリンジャーバンド」の損益シミュレーション開発が完了し、過去チャートを使ったバックテスト行いました。

結果としては「順張り型」「1時間足」で優れたパフォーマンスが得られることがわかり、ヒートマップから最も利益率の高いポイントで本番口座で運用を開始しています。

運用を始めたばかりなのでまだ何も結果は出ていませんが、時間に余裕ができたときにでもシストレ運用状況報告ブログも書いていきたいと思っています。

テクニカル分析のシストレも「窓埋め」、「仲値&ゴトー日」、「SMA」、「ボリンジャーバンド」と少しづつバリエーションも増えてきております。

(SMAアプリケーションは少し改良の余地がありますが・・・)

「ボリンジャーバンド」アプリの開発も一通り完了したので、次のアプリケーション作成に入っていこうと思います。

まだ何のアプリケーションにするかは決まっていませんが、現時点ではテクニカル分析系にしようと考えています。

では、今日はこの辺で。

シストレ開発に進捗があったら、ブログで近況を報告していきたいと思います。

※ソースコードの一部はGitHubで公開しています。

Sponsored Link

このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシー利用規約が適用されます。