Python・FX・株式のバックテストツール

その売買ルールは、
なぜ勝って、
なぜ負けたのか。

Hawk Backtesterは、損益の合計で終わらないバックテストツールです。相場ごとの成績と、トレード1件ごとの値動き・決済理由まで分解するので、次に直すべき場所がわかります。

  • 登録・インストール不要
  • 戦略コードはPCの外に出ない
  • 約定の前提をすべて公開
Hawk Backtesterの画面。相場の種類で色分けしたチャート、パラメータのスライダー、資産推移、エントリー時の相場別の成績表
デモの画面(合成データ)。下の表は、エントリー時の相場ごとの取引数・勝率・損益です。

合計の損益だけでは足りない理由

同じ −2.8% でも、直す場所は逆になる。

損益の合計が同じ2つの戦略でも、負け方が違えば、直すべき場所は変わります。合計だけを見て利確幅をいじると、効かない方を直してしまいます。

戦略A:一度は含み益だった負けが多い

−2.8%

  • 負け21件のうち15件は、途中で+0.8%以上の含み益があった
  • 利確に届く前に反転して、損切りで終わっている

直すのは出口(利確幅・決済の条件)

戦略B:入ってすぐ逆行した負けが多い

−2.8%

  • 負け21件のうち17件は、一度も含み益にならずに損切り
  • レンジ相場でのエントリーに負けが集中している

直すのは入口(エントリー条件・相場の絞り込み)

※ 説明のための例です。Hawk Backtesterでは、この分け方をトレード一覧と「改善のヒント」で確認できます。

Hawk Backtesterでわかること

数字ではなく、理由で返すバックテスト。

どの相場で勝ち、どの相場で負けたか

相場ごとの成績

エントリー時の相場を、上昇トレンド・下降トレンド・レンジ・急変動に分けて、取引数・勝率・損益を集計します。トレンドでは勝つのにレンジで全部失う、といった戦略の性格がひと目でわかります。

相場環境別に結果を分ける方法 →
エントリー時の相場別の成績表。上昇トレンド・下降トレンド・レンジ・急変動ごとの取引数、勝率、損益
負けたのは入口か、出口か

トレード1件ずつの分解

トレードごとに、最大含み益(MFE)・最大含み損(MAE)・決済理由(利確・損切り・反対シグナル)を記録します。「改善のヒント」を押すと、その根拠になったトレードだけに一覧を絞り込めます。

MFE・MAEで負けトレードを分ける →
取引から自動で出る改善のヒント。一度は含み益だった負けの割合などを示す
直した効果は本物か

前回の実行との差分

戦略を直して再実行すると、前回からどのトレードが変わったかを表示します。Pythonのファイルは、保存するだけで自動で再実行されます。

利確幅を1%から2%にしたとき、取引数は60件のまま、20件の結末が変わり、その約半分は悪化していました。合計だけなら「少し良くなった」に見える変更です。

Pythonでバックテストする方法 →
そのパラメータは偶然ではないか

総当たりのヒートマップ

2つのパラメータを総当たりし、成績をヒートマップで表示します。一番良いマスの隣に周囲の平均も並べるので、たまたま当たった値を選ぶ失敗を防げます。

過剰最適化を避ける方法 →
2つのパラメータを総当たりした成績のヒートマップと、最良値の周囲の平均
結果をどう読めばいいか

AIによる読み解き

集計した数値をAIが読み、見るべき点と次に試す検証を返します。送るのは集計値だけで、コードや生データは送りません。売買をすすめる内容は出しません。

AIがバックテスト結果を要約し、次に試す検証を提案している画面

結果を信じられるように

前提を隠さない。コードを預からない。

戦略コードはPCの外に出ない

Pythonの戦略は手元のPCで動き、ブラウザとはローカルの接続でやり取りします。GPUや外部APIなど、好きなライブラリをそのまま使えます。

約定の前提をすべて公開

自分のエンジンで約定のバグを4つ見つけ、直したら成績が最大4%動きました。それ以来、窓開け・同じ足での利確と損切り・スプレッドの扱いを公開しています。

シミュレーションモデル →

データは自分のもの

CSV、合成データ、自分のデータAPIキー(Twelve Dataなど)で検証できます。キーは暗号化して保存し、データをほかのユーザーと共有することはありません。

データAPIについて →

使い方

ブラウザだけでも、自分のPythonでも。

まず試す

ブラウザだけで

移動平均クロス・ブレイクアウト・ボリンジャーバンド・RSIの内蔵戦略を、スライダーで動かして検証します。インストールは不要です。

デモを開く →
本番の検証

自分のPythonで

Paramと書いた値がブラウザのスライダーになり、動かすと手元のコードがその値で再実行されます。

pip install -U hawk-bt
hawk-bt run my_strategy.py
Python SDKのドキュメント →
自動化

AIエージェントから

Agent APIを使うと、Claude CodeなどのAIエージェントが、戦略の作成・実行・分析・改善を繰り返せます。結果は構造化JSONで返ります。導入の伴走(有料パイロット)も相談できます。

Agent APIのドキュメント →

比較

無料のPythonライブラリと、何が違うのか。

backtesting.py・vectorbt・Backtraderは、計算の速さと自由度に優れたライブラリです。Hawk Backtesterは、計算の後にある「読み解き」を最初から画面に用意しています。戦略をPythonで書く点は同じです。

一般的なPythonライブラリHawk Backtester
戦略の書き方PythonPython(または内蔵戦略)
相場ごとの成績集計のコードを自分で書く標準で表示
MFE・MAE・決済理由ライブラリによる。多くは自分で計算するトレードごとに表示し、ヒントから絞り込める
前回の実行との差分結果を保存して自分で比べる保存すると自動で再実行し、変わったトレードを表示
パラメータの総当たり実行はできる。図は自分で描くヒートマップと周囲の平均を表示
コードの置き場所手元のPC手元のPC(サーバーに送らない)
費用無料(オープンソース)無料プランあり
バックテストツールの選び方(TradingView・MT5も含めて比較)→

まだできないこと

  • 1回の検証は1銘柄まで(ポートフォリオは未対応)
  • ローソク足のデータのみ(ティックは未対応)
  • 市場データの同梱はなし(CSV・合成データ・自分のAPIキー)
  • アプリ本体はPC向け(デモはスマホでも動きます)

料金

¥0 から

  • 無料のTrialでも、バックテストは回数無制限
  • 結果の保存5件、総当たり25通り、AI要約 月3回まで
  • 有料プランは月2,200円から

料金プランの詳細 →

FAQ

よくある質問

無料で使えますか?

使えます。デモは登録なしで動きます。無料のTrialプランでも、バックテストは回数無制限です。結果の保存やパラメータ総当たりの回数を増やしたい場合は、有料プラン(月2,200円から)があります。

自分の戦略コードはアップロードされますか?

されません。Pythonの戦略は手元のPCで動き、ブラウザとはローカルのWebSocketでつながります。戦略のコードがサーバーに送られることはありません。

backtesting.py や vectorbt とは何が違いますか?

計算そのものは、どのライブラリでもできます。Hawk Backtesterは、相場別の成績、トレードごとの最大含み益と最大含み損、決済理由、前回との差分といった「なぜ勝ち負けしたか」を読むための分析を、最初から画面に用意しています。Pythonで戦略を書く点は同じです。

どんなデータで検証できますか?

CSVのアップロード、合成データの生成、自分のデータAPIキー(Twelve Dataなど)での取り込みに対応しています。株式・ETF・FX・暗号資産のOHLCV(ローソク足)を扱えます。市場データの同梱はありません。

FXや株のバックテストに使えますか?

使えます。ローソク足のデータがあれば、銘柄の種類は問いません。スプレッドと手数料も設定できます。現時点では1回の検証で1銘柄で、ティックデータには対応していません。

スマホで使えますか?

デモはスマホでも動きます。アプリ本体はPC向けです。自分のPythonと接続するため、PCのChromeでの利用を推奨しています。

約定はどう計算していますか?

利確と損切りは指定した価格で約定し、窓を開けて飛び越えた場合は始値で約定します。同じ足で両方に届いた場合は、損切りが先と仮定します。シグナルの足の終値で入るか、次の足の始値で入るかを選べます。詳しくはシミュレーションモデルのページで公開しています。

投資助言や売買シグナルを提供していますか?

していません。Hawk Backtesterは売買ルールを検証・分析するためのツールです。AIによる要約も、結果の読み方と次に試す検証を示すだけで、売買はすすめません。

解説

バックテストの結果を読むための解説

まず、30秒だけ動かしてみてください。

登録もインストールも不要です。スライダーを動かすと、相場ごとの成績がその場で変わります。

登録なしでデモを試す