Hawk-Backtester Analysis Results

Analysis Results — Calculation Logic

Hawk-Backtesterのシミュレーション実行後に出力される全ての解析結果の項目と、それぞれの計算ロジックをまとめたドキュメントです。

Outcome Statistics»

シミュレーション全体のパフォーマンスを示す基本指標です。

MetricFormula / LogicDescription
Total Return (Equity(T) / InitialAssets) − 1 初期資産に対する最終エクイティの収益率
Max Drawdown min((Equity(t) − Peak(t)) / Peak(t)) ピークエクイティからの最大下落率。
各時点でピークを更新しながら計算
Return / Max DD TotalReturn / |MaxDrawdown| リターンとドローダウンの効率比
Ending Assets 最終時点の assets 現金資産(未実現PnLを含まない)
Ending Equity 最終時点の virtualAssets 評価額 = 現金 + 未実現PnL
vs Buy & Hold EndEquity(Strategy) − EndEquity(BuyAndHold) 単純バイ&ホールド戦略との最終エクイティ差
Total Steps stat_history の長さ シミュレーションの総時間ステップ数

Exposure Statistics»

ポジション露出度(レバレッジの利用状況)を示す指標です。

MetricFormula / LogicDescription
Avg Gross Exposure mean(|NetUnits(t)| × Price(t) / Equity(t)) 平均絶対ポジション倍率(レバレッジ)
Max Gross Exposure max(GrossExposure(t)) 最大レバレッジ到達時の倍率
Avg Net Exposure mean(NetUnits(t) × Price(t) / Equity(t)) 平均ネットポジション。
正=ロングバイアス、負=ショートバイアス
Time in Market Σ(GrossExposure > 0) / TotalSteps ポジションを保有していた時間の割合
Long Ratio TotalLongUnits / (LongUnits + ShortUnits) ユニット加重によるロング比率
Short Ratio 1 − LongRatio ユニット加重によるショート比率
Exposure Efficiency TotalReturn / AvgGrossExposure デプロイした平均レバレッジ1単位あたりのリターン

Attribution Statistics»

PnLの構成要素を分解し、収益源とコストの寄与度を分析します。

MetricFormula / LogicDescription
Long PnL Σ(closeRate − openRate) × units (buy側) ロングポジションからの合計損益
Short PnL Σ(openRate − closeRate) × units (sell側) ショートポジションからの合計損益
Cost PnL Σ cost (全チケット) 取引コスト合計(スプレッド・手数料等)
Total PnL LongPnL + ShortPnL + CostPnL 総損益
Long / Short / Cost Contribution 各PnL / TotalPnL 各要素のPnL寄与率
Profit Factor GrossProfit / GrossLoss 利益トレードの合計 / 損失トレードの合計。
1以上で利益超過
Win Rate WinCount / (WinCount + LossCount) 勝率(PnL > 0 のトレード比率)
Cost Burden |CostPnL| / |LongPnL + ShortPnL| 取引利益に対するコスト負担率

Action Statistics»

取引の頻度・規模・保有期間に関する統計です。

MetricFormula / LogicDescription
Total Orders BuyCount + SellCount 買い・売り注文の合計回数
Buy / Sell Ratio BuyCount / TotalOrders 注文全体に占める買い注文の割合
Orders Per 1000 Steps (TotalOrders / TotalSteps) × 1000 1000ステップあたりの注文頻度
Median Holding Time median(CloseTime − OpenTime) 保有期間の中央値
P90 Holding Time percentile(HoldingTimes, 90) 保有期間の90パーセンタイル
Median Ticket Size median(|units|) ポジションサイズの中央値
Partial Close Count Σ reduceCount 部分決済イベントの合計回数

Scatter Analysis»

各トレードの多角的な散布図分析です。PnLは Nominal / Return(%) / R-Multiple の3つの表示モードを切替可能です。

前処理計算»

MetricFormula / LogicDescription
PnL (Nominal) Long: (closeRate − openRate) × units
Short: (openRate − closeRate) × units
各トレードの絶対損益
PnL (Return %) PnL / (openRate × units) × 100 エントリー額に対する収益率
PnL (R-Multiple) PnL / Risk
Risk = MAE > 0 ? MAE : 0.5 × |PnL|
リスク1単位あたりのリターン
MFE Long: (MaxHigh − openRate) × units
Short: (openRate − MinLow) × units
Maximum Favorable Excursion
ポジション保有中の最大含み益
MAE Long: (openRate − MinLow) × units
Short: (MaxHigh − openRate) × units
Maximum Adverse Excursion
ポジション保有中の最大含み損

S1: Holding Time vs PnL»

保有期間と損益の関係を可視化し、相関係数・勝率を分析します。

StatisticFormula
CorrelationPearson相関係数 (Holding Time, PnL)
Median HT — Winnersmedian(HoldingTime) for PnL > 0
Median HT — Losersmedian(HoldingTime) for PnL < 0
Win RateWinners / Total × 100

S2: MAE vs MFE»

含み損(MAE)と含み益(MFE)の関係を分析し、MFE = MAE の対角線でブレイクイーブンを示します。

StatisticFormula
Mean MFE — Winnersmean(MFE) for PnL > 0
Mean MAE — Losersmean(MAE) for PnL < 0
P(Favorable Excursion)(MFE > MAE の件数) / Total × 100
Heat Efficiencymean(PnL / MFE) for winners (MFE > 0)

S3: Position Size vs PnL»

ポジションサイズと損益の関係を分析します。

StatisticFormula
CorrelationPearson相関係数 (Size, PnL)
Win Rate — Top Decileサイズ上位10%のトレードの勝率
Win Rate — Bottom Decileサイズ下位10%のトレードの勝率

S4: Entry Price vs PnL»

エントリー価格帯と損益の関係を分析します。

StatisticFormula
Win Rate — Low Price Q1価格下位25%のトレードの勝率
Win Rate — High Price Q3価格上位25%のトレードの勝率
Mean PnL — Low Q1mean(PnL) for Q1
Mean PnL — High Q3mean(PnL) for Q3

S5: Entry Time vs PnL»

エントリータイミング(時間軸)と損益の関係を分析します。

StatisticFormula
Win Rate — Early Q1時系列前半25%のトレードの勝率
Win Rate — Late Q3時系列後半25%のトレードの勝率
Mean PnL — Earlymean(PnL) for 前半 Q1
Mean PnL — Latemean(PnL) for 後半 Q3

Exit Analysis»

トレードの決済理由を分類し、TP/SLの到達状況と異常検出を行います。

Exit Reason Classification»

Exit Reason判定条件Description
Take Profit (TP) Buy: high ≥ openRate + TP
Sell: low ≤ openRate − TP
利確水準に到達して決済
Stop Loss (SL) Buy: low ≤ openRate − SL
Sell: high ≥ openRate + SL
損切水準に到達して決済。
TP/SL同時到達時はSL優先
Strategy Close 戦略コードによる明示的なクローズ ユーザーの戦略ロジックによる決済
Force Close 証拠金不足による強制決済 ロスカット

Exit Summary»

各決済理由ごとに以下を集計します:

StatisticFormula
Count各理由での決済回数
ShareCount / TotalTrades
Sum PnL各理由での合計損益
Avg PnLSumPnL / Count
Median PnLmedian(PnL values)
Win Rate(PnL > 0 の件数) / Count

TP/SL Reach Matrix (2×2)»

TP到達・SL到達の組み合わせ(2×2)で各トレードを分類します。float32精度(WASMエンジン準拠)で判定。

SL=Not ReachedSL=Reached
TP=Reached Count, Share, Sum PnL, Avg PnL Count, Share, Sum PnL, Avg PnL
(SL到達 → SL優先で決済)
TP=Not Reached Count, Share, Sum PnL, Avg PnL
(TP/SL未到達 → 戦略/強制決済)
Count, Share, Sum PnL, Avg PnL

Miss & Anomaly Detection»

MetricFormulaDescription
Miss TP Rate (TP到達 but TP以外で決済) / TP到達数 TP到達にもかかわらず利確しなかった割合
Miss SL Rate (SL到達 but SL以外で決済) / SL到達数 SL到達にもかかわらず損切しなかった割合
Anomaly TP Rate (TP決済 but TP未到達) / TP決済数 TP未到達なのにTP決済として記録された割合
(float精度の問題等)
Anomaly SL Rate (SL決済 but SL未到達) / SL決済数 SL未到達なのにSL決済として記録された割合

Timeline Charts»

時系列で同期されたチャート群です。各チャートのX軸は共通のタイムラインで同期されます。

ChartContentDescription
Price + Positions OHLC + エントリー/エグジットマーカー 価格チャートにポジションの開始・終了を重ねて表示
Equity Curve virtualAssets(t) 時間経過に伴うエクイティの推移
Drawdown (Equity(t) − Peak(t)) / Peak(t) ドローダウンの推移(負の値の面グラフ)
Gross Exposure |NetUnits(t)| × Price(t) / Equity(t) グロスエクスポージャーの推移
Net Exposure NetUnits(t) × Price(t) / Equity(t) ネットエクスポージャーの推移
(正=ロング優位、負=ショート優位)