バックテスト結果
各シミュレーションでは、概要指標、チャート、メッセージログ、実行の全データが生成されます。ポートフォリオツールとアルゴトレーディングツールは同じ結果を表示し、どちらも結果をJSONとしてダウンロードできます。
概要:
- 初期 / 最終: 開始時と終了時のポートフォリオ価値、および利益(実現利益と含み益の合計)。
- 最小 / 最大: 実行中のポートフォリオ価値の最低値と最高値。
- 総リターン / 年率リターン: 総リターンと年率換算のリターン。積立はリターンに含まれません。
- ボラティリティ: 日次リターンの年率換算の標準偏差。
- 最大ドローダウン: 直前のピークからの最大の下落。
- シャープレシオ: 設定のリスクフリーレートを上回るリターンを、ボラティリティで割った値。
- アルファ / ベータ: 設定の市場ベンチマーク(デフォルトは^SPX)に対する超過リターンとボラティリティ。
- 取引回数: 約定した注文の数。最終日の後にすべてのポジションを決済する注文も含みます。
リスクフリーレートと市場ベンチマークは設定で変更できます。
タブ:
- メッセージ: 注文、積立、リバランス、アルゴリズムが出力したメッセージなどの実行ログ。
- 警告: データの問題(例:期間の一部でデータがないティッカーや、別の通貨のティッカー)と、シミュレーションを停止させるエラー。
- パフォーマンス: 時間経過に伴うポートフォリオの残高と利益。
- ドローダウン: 時間経過に伴う直前のピークからの下落。
- ポジション: 時間経過に伴う各ポジションの価値。
- 数量: 時間経過に伴う各資産の保有数量。
- 価格: 時間経過に伴う各資産の価格。
- 時系列: 各資産の日次ポジションの表で、JSONとしてダウンロードできます。
ポートフォリオを比較すると、比較ビューに主要な指標が並べて表示され、パフォーマンスチャートもまとめて表示されます。「View Results」をクリックすると、1つのポートフォリオの全結果を確認できます。
結果データ (AlgoResult):
アルゴトレーディングのendイベントに渡され、ダウンロードボタンで保存されるオブジェクトです:
- inputs: AlgoInputs - 実行の入力値。
- code: string - アルゴリズムのソースコード。
- summary: AlgoResultSummary - 概要指標:
- initCash, finalCash, profit: number
- low, high: number (ポートフォリオ価値の最低値と最高値)
- totalVar, annualVar: number (小数で表したリターン)
- annualStdDev: number (小数で表したボラティリティ)
- maxDrawdown: number (負の小数)
- sharpe: number
- alpha, beta: Promise<number> (実行後に解決され、ベンチマークがない場合はundefined)
- nTrades: number
- performance: AlgoResultPerformance[] - 日付ごとに1項目:
- date: Date
- value: number (ポートフォリオ価値)
- prevVariation: number (前の日付からのリターンを小数で表した値、積立は除く)
- drawdown: number (直前のピークからの下落を負の小数で表した値)
- portfolio: AssetPortfolio - 現金とポジションを含む、ポートフォリオの最終状態。
- portfolioHist: AssetPortfolio[] - 各日付のポートフォリオの状態。
- assetHist: Record<string, AssetPortfolioItem & { date }[]> - ティッカーをキーとする、各資産の日次ポジション(quantity, avgPrice, value, currency)。
- tradeHist: Record<string, AssetTrade[]> - 日付をキーとする、各日付の注文。