ドキュメント1.0 (latest)
ページテスト結果 · 18 / 29

テスト結果

バックテスト(コードの実行の Test)のたびに、IDE は実行したファイルの Test Results を開きます。エディタの Code Editor / Test Results の切り替え(ワークスペースのレイアウト)の 2 番目のビューで、その実行でエンジンが生成したすべて(チャート、パフォーマンス統計、取引、HTML エクスポート)が表示されます。実行中のログとプロットは 出力パネル にストリーミングされます。

開いているファイルごとにそれぞれの Test Results があり、ファイルを切り替えるとそのファイルの直近の結果が表示されます。


表示される場所

  • ツールバーの Test をクリックすると、結果が準備できた時点でビューが自動的に Test Results に切り替わります。
  • エディタ領域の上の小さなタブストリップで、いつでも Code Editor と Test Results を切り替えられます。
  • ペイン上部のステータスバナーで、実行の状態が分かります。
    • エンジンが処理中の Running backtest — <file>。
    • 問題が起きた場合に、エラーのスタックトレース付きで表示される Backtest failed — <file>。
    • 単一の実行が正常に完了したときの Backtest result — <file>。
    • パラメータ最適化を実行したときの、タブストリップ付きの Optimization — <file>(末尾の 最適化の実行 を参照)。

一度もテストされていないファイルでは、Test ボタンへ誘導する、親切な空の状態が表示されます。


成功した実行のレイアウト

成功したバックテストの結果は、上から順に、サイズ変更と折りたたみが可能な 3 つの領域に分かれます。

  1. チャートパネル — マーカー付きの価格チャート(複数銘柄の実行では銘柄ごとのタブ)。
  2. Performance — 資産と残高のチャート、および指標グリッド。
  3. Trades — 決済済みの取引と、(該当する場合)実行終了時の未決済ポジション。

1. チャートパネル

上部の領域には、実行で使われた OHLC バーと、戦略によるオーバーレイが描画されます。

  • エントリーとエグジットの位置に取引マーカーが描かれます。
  • コードが chart_indicators で追加したインジケーターのオーバーレイがここに表示されます(インジケーター系列のドキュメントを参照)。ラインやヒストグラムは、設定したとおりにメインペインまたはローソク足の下の別のサブペインに描画されます。
  • 複数銘柄の実行では、チャートの上にタブストリップが表示されます(ティッカーごとに 1 タブ)。タブをクリックすると、表示する銘柄のチャートが切り替わります。結果のペイロードには、clock_symbol(スケジュールを駆動するティッカー)、ohlcv.bars_by_symbol(ティッカーごとのバー一覧)、各タブ向けに symbol で絞り込まれた chart_indicator_series のエントリが含まれます。
  • チャート上の小さなチャートツールバーには、Export HTML ボタン(後述)と、最適化ビューでは実行のパラメータラベルがあります。

結果にプロットする ohlcv.bars がない場合、チャート領域は短い注記とエクスポートのツールバーに置き換えられ、HTML レポートは保存できます。

2. Performance

Performance をクリックしてパネルを展開します。2 つの部分があります。

資産と残高のチャート

実行中のアカウントの折れ線グラフです。

  • Equity — 各ステップでの時価評価のアカウント価値。
  • Balance — 同じタイムライン上の確定済み現金残高。

非常に長い実行ではチャートが自動的にダウンサンプリングされ、時間ベースの軸ラベルでタイムラインをひと目で読み取れます。

指標グリッド

実行の終了時に account.refresh_metrics(...) が生成する要約統計のグリッドです。色分けされたバッジが符号付きの値を強調します(利益は緑、損失は赤)。

指標意味
Total return最終資産の開始残高に対する比率(パーセンテージ)。
Total P/Lアカウント通貨での実現 + 未実現損益の累計。
CAGR実行期間の年平均成長率。
Max drawdown資産のピークから谷までの最大下落幅。
Volatility実行期間の資産のボラティリティ。
Sharpeリスク調整後リターンの比率。
Sortino下方リスクで調整したリターンの比率。
Calmar年率リターンを最大ドローダウンで割った値。
Profit factor決済済み取引全体の総利益 / 総損失。
Risk-adj. return取ったリスクで調整したリターン。
Avg expectancy1 取引あたりの期待損益の平均。
Average win勝ちトレードの平均利益。
Average loss負けトレードの平均損失。
Current exposure最終バー時点のエクスポージャー。
Average exposure実行期間の平均エクスポージャー(0–100%)。
Max exposure実行中のエクスポージャーのピーク(0–100%)。

指標が実行で利用できない場合(たとえば決済済み取引がなければプロフィットファクターもない)、セルには — が表示されます。

3. Trades

下部の領域には、最大 2 つの表があります。

決済済み取引

account.open_trade(...) + account.close_trade(...) で実行されたすべての往復取引です。列には side、quantity、entry price、exit price、entry time、exit time、realized P/L(色分け)が含まれます。

カレンダーデータが有効な場合、取引行の間に Split 行と Dividend 行が(実行中に適用されたコーポレートアクションごとに 1 行)インラインで表示され、カードのタイトルは Closed trades & events になります。Split 行には日付、比率(例: 4:1)、株数の変化が、Dividend 行には日付、1 株あたりの金額、入金された(ショートの場合は引き落とされた)現金の合計が表示されます。推定の権利落ち日には est. が付きます。これらの行にはチャート上の # マーカーはなく、CSV エクスポートからは除外されるため、CSV はクリーンな取引記録のままです。

  • Closed trades をクリックすると、表を折りたたみ/展開できます。
  • どの行でも、エントリー/エグジット時刻をクリックすると、チャート上のそのイベントに移動します。
  • このセクション上部の Export CSV で、決済済み取引を .csv ファイルに保存できます(対応している場合はシステムの Save As ダイアログが開きます)。

未決済ポジション(実行終了時)

戦略が未決済ポジションを残したまま実行を終えた場合にのみ表示されます。列の規約は決済済み取引と同じで、これにコードで使われるポジション ID が加わります。

ヒント: 取引パネルは折りたたむと自動的にサイズが変わります。折りたたんで、チャートと Performance により多くの縦方向のスペースを与えましょう。


HTML エクスポート

Export HTML(チャートツールバーの右上)を使うと、画面に表示されているすべてを含む、自己完結型の .html ファイルを 1 つ保存できます。

  • 各チャートパネル(複数銘柄の実行では銘柄ごとに 1 枚の画像)。
  • 資産と残高のチャート。
  • Performance の指標。
  • 決済済み取引の表。
  • レポートのタイトル(ファイル名から取得)と、レポートが生成された時刻。

仕組み:

  1. IDE は資産チャートを取得できるよう、一時的に Performance パネルを展開します。
  2. 各チャートタブを順に切り替え、チャートを PNG としてスナップショットします。
  3. 結果は 1 つの HTML ファイルにまとめられ、保存ダイアログで提供されます(ファイル名は backtest-report-<timestamp>.html のようになります)。

IDE を持っていない人とも実行結果を共有できるよう、任意のブラウザでこのファイルを開けます。インターネット接続は不要です。

ボタンは処理中、Exporting… と表示されます。エクスポート中にタブを切り替えたり IDE を閉じたりしないでください。保存されたファイルに一部のパネルが含まれないことがあります。


実行状態(クイックリファレンス)

バナー意味
Running backtest — <file>エンジンが実行中です。中央に「Results Loading, Waiting for engine…」と表示されます。
Backtest result — <file>単一の実行が成功しました。チャート、Performance、Trades が表示されます。
Backtest failed — <file>実行がエラーになりました。ペインにエンジンのエラーメッセージが赤字で表示されます。
Optimization — <file> (x/y)パラメータスイープが進行中です。実行が完了するたびにタブが表示されます。

最適化の実行

Optimize script parameters を有効にしてテストした場合、Test Results にはパラメータの組み合わせごとに 1 つのタブを持つタブストリップと、実行の総数、遺伝的実行の適応度指標、実行が完了しつつある間の進行状況などのサマリー情報が表示されます。

  • タブをクリックすると、単一の実行と同じように、その実行のチャート、Performance、取引が読み込まれます。
  • 選択した実行のパラメータラベルがチャートツールバーの横に表示されるので、どの組み合わせを見ているかがいつでも分かります。
  • Export HTML はアクティブな実行のデータを使用し、実行のラベルがレポートのタイトルになります。
  • 最適化が途中で停止された場合は、バナーでそれが強調され、完了した実行のみが表示されます。

ヒント

  • 不要なパネルを折りたたんで(チャート、Performance、Trades)、残りに集中しましょう。
  • ファイルを切り替えると、そのファイルの直近のテスト結果に入れ替わります。他のタブは失われません。
  • 非常に長いバックテストでは、滑らかさのために資産チャートがダウンサンプリングされます。指標グリッドの元の数値には影響しません。
  • CSV は決済済み取引用、HTML はすべて用です。実行を共有または分析したい方法に合うほうを使ってください。
テスト結果 — ドキュメント (1.0 (latest)) | QuantCraft