取引アルゴリズムを実際の市場で検証する方法:フォワードテストと収益性
事前に固定する検証計画、シグナルから約定までの照合、実行済みの口座計算例。仮想利益、実口座の純収益、優位性の証拠を区別します。
新しい結果を見る前にアルゴリズムを固定し、条件を満たす判断を発生時点からすべて記録します。実資金を使わずに実行経路全体を確認し、運用上の検査を通過した場合に限り、別途リスクを限定した実資金試験を検討します。実際の手数料、未決済ポジションの評価、外部資金移動を含めた口座成績を、事前に選んだ同期間の基準と比較してください。試験で利益が出れば、その条件で観測された口座結果は確認できます。しかし、再現可能な優位性や大口取引の処理能力までは証明できません。以下の構成した約定記録は、未決済ポジションを含めて10,004.797 USDTに一致します。これは実行した計算であり、TensorParadigmの実運用成績ではありません。
この検証で明らかにすること
- フォワードテストは判断をいつ観測するか、仮想取引と実資金取引は注文をどう扱うかの区別です。
- 固定したビットコインの時間足ルールを使い、シグナル、拒否注文、一部約定、バージョン変更を追跡します。
- 構成例の総損益は4.797 USDTですが、実現損益は−0.8026 USDTです。差は未決済資産で説明できます。
- 実約定価格には参照価格との差が既に含まれます。同じスリッページを再控除すると二重計上になります。
- 運用可能、純利益がプラス、優位性の証拠がある、規模を拡大できる、という判断は別々に行います。
何を確かめるテストなのかを決める
正しいシグナルを生成し、有効な注文を送るボットでも損失は出ます。反対に、意図したルールとは違う取引をしながら利益が出る場合もあります。有用なフォワードテストでは、実装の忠実さ、経済的な結果、将来の成績に関する不確実性を分けます。ペーパートレードの解説が設定を扱うのに対し、本稿は設定後の評価手順を扱います。
本プロジェクトは、単純なBTCUSDT戦略の前向きな検証計画と、必要な口座処理を確認するために構成した約定記録から成ります。十進数演算による照合を実行し、計算記録を内部に保持しました。計画自体を市場観測や実資金注文で評価したわけではありません。以下の価格は選んだ数値入力であり、ビットコインの過去データではありません。
最初の合格条件は具体的です。現金9,598.397 USDTと、50,800で評価した0.008 BTCを足すと、10,004.797 USDTになる必要があります。合わなければ、勝率や滑らかな資産曲線を論じる前に、手数料、数量、保有資産を調べてください。帳尻が合うことは必要条件ですが、取引ルールの有効性の証明ではありません。
第三者が推測せずに運用できるルールを書く
例の仮説は、確定した時間足の上方ブレイクが、実行費用を上回る値動きを捉える可能性です。検証する仮説であり、ビットコインについての実証的主張ではありません。ルールを点検しやすくするため、エントリーは20時間、決済は10時間を使います。説明用に選んだ設定で、最適化も成績評価も行っていません。
時間tの終値が確定したら、close[t]を、その足を除く直前20本の確定時間足の最高値と比較します。ノーポジションで、終値がその値を厳密に上回る場合のみ買います。保有中は、終値が直前10本の確定足の最安値を厳密に下回ったら決済します。判断後に成行注文を送り、既に観測した終値での約定は仮定しません。決済判断をした足では再エントリーしません。
| 項目 | 観測前に固定するルール |
|---|---|
| 市場と時刻 | BTCUSDT現物、買い持ち/ノーポジション、同時保有1件。執行先取引所のUTC時間足。確定足を最低20本準備 |
| 口座と買付 | 初期純資産10,000 USDT、買付目標額1,000 USDT。有効な数量刻みへ切り下げ、借入なし。手数料分の利用可能現金も確保 |
| エクスポージャー | 発注前に現金とBTC保有額が口座純資産の15%以内か再確認。超過する新規注文は拒否して記録 |
| 執行 | 確定足の判断後に成行。永続的な判断IDを付与。再試行前に既存注文を照合。一部しか決済できなければ残りの保有は存続 |
| 監視 | 運用は常時監視。主要な経済評価は60暦日後の固定時点。追加評価は新たな終点を事前設定し、全期間を保持 |
| 緊急制御 | 例示の損失予算100 USDT。超過時は新規エントリーを停止し、文書化した保有管理へ移行。決済価格や最大損失は保証しない |
| 主要報告 | 純口座収益と事前指定の保有基準に対する純超過収益。ドローダウン、保有比率、売買回転、執行診断を併記 |
| 変更 | ルール変更後は新バージョンと新しい前向き評価区間を設定。旧区間と終了理由は残す |
実際の開始前には、開始時刻と最終確認時刻、データ提供元と取引所、手数料区分、数量の丸め、古いデータの許容時間、すべての制御値を記録します。下表は具体化した設計例であり、推奨配分や損失の上限保証ではありません。価格の飛び、取消失敗、取引所の停止で損失が発動水準を超えることがあります。
発注直前に記録した最良売り気配から1,000 USDTの買付数量を計算し、取引所の数量刻みに切り下げます。手数料用の現金を確保し、現金、15%の保有比率、最低注文金額、データ鮮度のいずれかの検査を満たさない注文は拒否します。未解決の注文は同時に1件だけとします。次の注文を送る前に、その永続的ID、最終状態、口座残高を照合し、状態不明または稼働中の注文は決して再送しません。買い注文が一部約定で終了した場合は、数量を買い増して埋めず、約定分だけを保有します。売り注文が一部約定で終了した場合は、利用可能なBTCを照合し、確認した残数量に対して現在の有効な気配を使う追加の成行決済を最大1回だけ認めます。状態不明、追加決済の未完了、または取引できない端数残高があれば新規取引を止め、事前に定めた障害対応手順を適用します。口座がノーポジションであると確認できるまで再エントリーしません。
段階ごとに確かめる対象を分ける
フォワードテストは、新しい観測が届く時点で判断を生成することです。シャドー記録、仮想注文、実資金注文のいずれでも行えます。TradingViewのPaper Tradingは仮想資金を使うため、その残高を実際の取引利益として表示できません。[1] テスト環境はインターフェースを検証しても、実資金注文が得られる流動性までは確かめられません。
判断ロジックは段階を通じて固定し、執行記録は区別します。コード改訂、設定、依存関係の版、市場範囲、配備時刻を保存してください。MLや言語モデルを使うなら、モデル識別子、特徴量、プロンプト、ツール権限、利用可能入力も記録します。同じプロンプトでも同じ出力とは限りません。再学習日程は仕様に含め、予定外の変更は新候補とします。
失敗した試験を削除し、有利な日から実績を数え直してはいけません。修正によって新しい区間が必要でも、失敗区間は開発・運用履歴に残ります。前向き期間の事後再生は差異の診断には役立ちますが、既に見た観測を再生しても新たな前向き検証にはなりません。
| 段階 | 確かめること | それだけでは分からないこと |
|---|---|---|
| シャドー運用 | 対象となる各足で、見送りを含む所定の判断が生じる | 注文受付や実行可能な損益 |
| 仮想/テスト環境 | 検証、数量計算、重複防止、障害処理、口座状態管理 | 実際の待ち順位、市場インパクト、実資金の約定 |
| 限定的な実資金試験 | 実手数料、一部約定、資金調達、口座照合、観測した損失経路 | 将来の利益や大幅増額後の挙動 |
| 段階的増額 | 次に定めた規模で費用、約定、リスクを許容できるか | 無制限の処理能力や優位性の永続 |
一つの判断を取引所の保有残高まで追う
データイベント、ローカル受信、判断、発注、受付、各約定の時刻を保存します。UTCに統一し、時計のずれも監視します。以下は説明用の時系列であり、レイテンシーの測定値ではありません。受付通知は約定確認ではなく、取消要求も取消完了ではありません。
Binanceの執行報告は状態、累計約定数量、約定価格、手数料資産を区別します。[2] REST文書には、タイムアウト後も執行状態が不明な場合があると明記されています。[3] 再試行を決める前に、永続的なクライアント注文IDや取引所注文IDで照合します。最初の応答が失敗に見えても、無条件の再送は保有を重複させる可能性があります。
集計の分母を残してください。完了した勝ち取引だけでなく、全対象シグナル、リスク拒否、期限切れシグナル、受付未確認、一部約定を記録します。注文件数の約定率と数量ベースの約定率を分け、判断から初回・最終約定までの時間分布を比較します。平均だけでは不十分です。同じ市場イベントから複数注文が生じた場合は共通イベントIDを保持します。
| イベント | 記録時刻/状態 | 照合する問い |
|---|---|---|
| 足確定/データ到着 | 12:00:00.000 / 12:00:00.180 | 足は確定済みで、前の足も利用可能だったか |
| 判断/発注 | 12:00:00.200 / 12:00:00.230、判断V1-012 | 固定ルールと実際の口座はこの注文を許可したか |
| 受付 | 12:00:00.310、受理 | どの取引所注文IDがこの判断を表すか |
| 初回/最終約定 | 12:00:00.360 / 12:00:00.480 | 数量、価格、手数料資産は実際にどう変化したか |
| 照合 | 現金、拘束資金、保有資産、未完了注文が取引所と一致 | 説明のつかない保有や未解決注文はないか |
損失取引と未決済ポジションを照合する
独立した口座計算例は、10,000 USDTとBTC保有ゼロから始めます。損失となる往復取引と、一部を売ったまま残る第2の保有を意図的に含めており、ブレイクアウトルールが生成した結果ではありません。各約定の売買代金に0.1%のUSDT手数料、十分な現金、資金移動・借入・その他費用なしを仮定します。手数料率は計算用の前提で、現行取引所料率ではありません。実際に別資産で徴収される場合、その数量と評価も反映させます。[4]
第1取引は0.01 BTCを50,000で買い、49,000で売ります。価格差損失10 USDTに、手数料0.50と0.49を足し、純損失は10.99です。第2取引は0.02 BTCを50,050で買い、後に0.012 BTCを51,000で売却。残る0.008 BTCは、同時点の買い気配と仮定した50,800で評価します。
| イベント | BTC数量/価格 | 手数料USDT | 直後の現金USDT | BTC保有 |
|---|---|---|---|---|
| 開始 | — | — | 10,000.000 | 0 |
| 買い | 0.01 / 50,000 | 0.500 | 9,499.500 | 0.01 |
| 売り | 0.01 / 49,000 | 0.490 | 9,989.010 | 0 |
| 買い | 0.02 / 50,050 | 1.001 | 8,987.009 | 0.02 |
| 一部売却 | 0.012 / 51,000 | 0.612 | 9,598.397 | 0.008 |
| 最終評価 | 0.008 × 50,800 = 406.400 | 仮想の清算なし | 9,598.397 + 406.400 | 純資産10,004.797 |
第2取引の買付手数料を数量比例で配分すると、売却部分の実現損益は11.40 − 0.6006 − 0.612 = 10.1874 USDTです。合計実現損益は−0.8026。一方、残存保有の手数料込み取得額は400.8004、評価額は406.40なので、未実現損益は5.5996です。両者の合計4.797は口座純資産の増加額に一致します。
記録した約定価格と最終評価での手数料控除前損益は7.40。明示的な手数料2.603を引くと4.797 USDT、初期資金比+0.04797%です。ここでの控除前損益は、摩擦のないシグナル価格の収益ではありません。約定価格に織り込まれた参照価格との差を再控除すれば二重計上になります。時刻付き純資産系列がないため、この例から最大ドローダウン、年率収益、シャープレシオは算出できません。
事前に選んだ代替策と口座全体を比較する
外部資金移動のない現物口座では、純資産は決済通貨の現金と保有数量の時価評価額の合計、収益率は期末純資産÷期首純資産−1です。拘束現金と保有資産をそれぞれ一度だけ含め、各時点で一貫した評価と価格源を保持します。利用可能残高だけでは注文で拘束された資産が抜ける場合があります。口座外のトークンで手数料を払う場合も、その残高と変化を含め、無料扱いにしないでください。
この構成例の始点・終点で、保有基準が同じ10,000 USDTを50,000で購入し、同じ0.1%の買付手数料を払い、清算を仮定せず50,800で評価するとします。保有量は10,000 ÷ (50,000 × 1.001) = 0.1998001998 BTC、最終純資産は10,149.85015 USDT、+1.4985015%です。計算例の+0.04797%と比較できますが、これは選んだ端点の計算であり、戦略が実際に劣後したという観測ではありません。
保有基準はほぼ全額投資で、計算例は大部分が現金です。収益差だけではリスク調整後のアルファになりません。同期間の保有比率、最大ドローダウン、最高値回復までの期間、売買回転と、保有比率を合わせる比較の仮定も報告します。SECの投資家向け資料も、基準の適合性と費用範囲を確認するよう促しています。[5]
入金は売買利益ではありません。資金移動が必要なら、外部移動の前後で口座を評価し、各部分期間の収益を連鎖させた時間加重比較を使い、時点の取り扱いと近似を開示します。報告対象ポートフォリオ内の振替は外部移動ではありません。金額加重収益率は、投資家の資金投入時期が結果に与えた影響を問う別の指標です。
戦略を変える前に実運用との差を説明する
固定ルールから期待される全判断、同時点のシャドー口座、実資金口座の3記録を照合します。まずシグナル、次に許可と数量、受理数量と価格、最後に手数料と評価を比較してください。QuantConnectの文書は、データ、時刻、執行に起因する実運用とバックテストの相違を整理しています。[6] 事後再生が良好でも、約定しなかった注文を取り戻すことはできません。
記録しておいた適切な判断時点の参照価格に対し、執行差を測ります。買いなら簡単な符号付き指標は(約定VWAP − 参照価格) ÷ 参照価格。売りは符号を反転し、不利な執行を正にします。参照が仲値、執行可能な売買気配、その他の基準のどれかを明示してください。差の全体を遅延と呼んではいけません。スプレッド、相場変動、注文規模、約定した注文だけを観測する選択も関係します。
実績計算と感応度分析は分けます。この例の数量と価格を固定すると、明示的手数料率を2倍にした純損益は2.194 USDT、3倍なら−0.409です。約定代金合計2,603 USDTに追加5ベーシスポイントを課すと3.4955が残ります。これは費用だけのストレス計算で、注文の再実行ではありません。費用や規模が違えば、発注可能性、約定、後の判断も変わります。
現物の式を証拠金商品へそのまま流用できません。取引所の決済規則に従い、契約損益、担保評価、借入費用、手数料、符号付き資金調達支払いを照合します。Coinbaseの口座文書は未決済損益と資金調達を他の残高移動から区別しています。[7] 収益率の分母は割り当てた口座全体とし、差入証拠金に対する比率とは区別します。
60日で収益性を証明したことにせず、観測ルールを決める
確認日を決めれば手順を監査できますが、情報量が自動的に増えるわけではありません。一方向の相場だけの60暦日は、条件の異なる長期間より戦略について分かることが少ない場合があります。一判断の分割約定は独立した賭けの数ではありません。異なるコインやエージェントも同じ市場リスクを負い得ます。NISTの自己相関解説は、依存を適切な時系列モデルで扱う必要性を示しています。[8]
主要評価対象、検出する価値のある効果、観測単位、推論方法を事前指定します。保有が重なる場合は、約定別勝率より口座の期間収益が適切なことがあります。依存を考慮した区間やブロック・ブートストラップには、妥当な仮定と十分な観測ブロックが必要です。再標本化の回数を増やしても市場履歴は増えません。標本設計と費用控除後の期待値は優位性と偶然の分析で扱っています。
常時リスク監視と、固定終点での証拠評価は両立します。通常の固定標本検定を毎日行い、最初の好都合な結果で終了することとは違います。信頼列は特定の仮定の下で時点を通じた推論を可能にしますが、任意の取引収益に自動で使えるものではありません。[9] 途中確認で成功を宣言する設計なら、適切な方法を事前に定めます。停止、損失、結論不十分の試験も残してください。
安全性、経済性、増額を別々に判断する
確認時には、固定版、実期間、全介入、対象判断、受理・拒否注文、約定数量、外部資金移動を開示します。約定価格ベースの費用控除前損益、各明示費用、口座純収益、評価頻度付きドローダウン、保有比率、売買回転、損益分布、基準収益を報告します。大きな利益や損失を平均に隠さず説明してください。平均が正でも不確実性が広ければ、証拠はなお不十分です。
最初の成績が期待外れだったために、費用モデル、基準、開始日を選び直してはいけません。変更案は研究上の決定として記録し、元の結果を残し、新候補には新しい観測を集めます。成績悪化への対処は、併読用の停止・継続の判断枠組みを参照してください。
増額は別の実験です。次の注文代金水準を先に定め、不利な約定、一部約定、エントリー拒否、口座保有比率を試験段階と比較します。小口実績から大口の処理能力は確定できません。短い試験で利益が出たから増額する判断は、証拠の評価と、未検証の執行仮定を同時に持ち込みます。
| 判断 | 必要な証拠 | 不足する場合 |
|---|---|---|
| 運用 | 注文と残高が一致し、障害対応と制御を別途検査済み | 実資金運用を調査または停止 |
| 記述的な経済結果 | 全保有を評価した口座の実際の費用控除後結果と基準 | 成績を主張する前に記録を修復 |
| 統計的・経済的優位性 | 事前指定の分析が妥当な仮定の下で経済的に意味ある効果を支持 | 不十分または不利な証拠と報告し、優位性実証と言い換えない |
| リスク | 保有と損失経路が定めた運用設計内 | 所定の縮小・停止手順に従う |
| 増額 | 次の規模の観測区間で執行とリスクが許容範囲 | 容量は未確定のまま |
AIには範囲を決めた照合を依頼し、根拠を残す
ChatGPTやClaudeは曖昧な発想を検証計画に整理する際に役立ちます。CodexやClaude Codeは、承認した状態遷移の実装、イベント記録の比較、リポジトリでの計算確認を支援できます。ただし、収集していない取引所の観測は補えません。本稿ではAI支援と実行済み十進数計算による構成例の照合を行いました。ChatGPT対Claudeの売買比較や実資金の配備は行っていません。
以下の依頼には匿名化した仕様と記録を使い、口座の秘密情報は渡しません。観測事実、計算値、仮定、不足する証拠を分けるよう求めます。未決定のルールは都合よく補わせず、判断が必要な項目として返してもらってください。
仕様:この発想を、正確なシグナル時刻、数量、売買条件、口座制約、評価条件へ変換してください。曖昧な点を挙げ、過去利益を理由にルールを選ばないでください。
実装:承認済み版だけを実装し、永続的な判断ID、拒否された意図、一部約定、状態不明の注文を保持してください。未決定事項を明示してください。
照合:各判断を注文、約定、手数料資産、現金・保有変化まで追い、取引所残高との差を説明してください。証拠不足を示し、約定を創作しないでください。
報告:約定価格の控除前損益、明示費用、評価後の純口座収益、基準、リスク、推論を分けてください。全版、外部資金移動、介入、算出不能指標を開示し、仮想・構成結果を実績に変えないでください。フォワードテストを利益実績と呼ぶ前に
- 評価開始前に戦略、口座、モデル、執行の正確な版を記録する。
- 拒否、欠落、一部約定を含め、対象判断と結果をすべて残す。
- 現金、拘束資金、保有、手数料、未完了注文を取引所と照合する。
- 未決済ポジションを含め、評価純資産と実現損益を分ける。
- 入出金を取引利益ではなく資金移動として扱う。
- 実約定を使い、既に含まれた執行差を再控除しない。
- 基準、資金の分母、評価終点、推論方法を事前指定する。
- ドローダウン、保有比率、売買回転、損益集中、観測の依存を報告する。
- 緊急リスク制御と、成功の証拠を認定する条件を分ける。
- 失敗版を残し、増額を独立した執行問題として検証する。
実運用テストについての直接的な答え
フォワードテストと実資金取引は同じですか?
違います。フォワードテストは新たな観測に対して判断を記録することです。シャドー記録、仮想注文、実資金注文で行えます。実口座の約定と費用が得られるのは実資金執行だけなので、記録を区別します。
取引アルゴリズムを何日テストすればよいですか?
観測ルールを先に決め、主張を支える独立情報が十分か判断します。60日や100取引は万能の証明基準ではありません。頻度、依存、効果量、費用、市場条件の範囲が重要です。
仮想取引で利益が出ても実資金では負けますか?
あり得ます。遅延、拒否、一部約定が生じ、仮想流動性と実執行も異なります。戦略の劣化と判断する前に、対象シグナル、注文判断、数量、価格、費用を照合してください。
評価終了時に保有が残っていたらどうしますか?
数量と開示した同時点の評価価格を口座純資産に含めます。計画が清算を要求するなら、実際の約定と費用を使います。保有を消したり、未執行の売却価格を実現結果にしたりしません。
テスト中に設定を変えてもよいですか?
運用介入は必要な場合もありますが、旧区間と理由を保持します。変更ルールは新候補です。既に見たデータの良好な再生結果は、新たな前向き評価の代わりにはなりません。
本稿は利益の出る実運用戦略を実証していますか?
いいえ。前向き計画と、構成した約定記録の実行済み計算照合を示しています。4.797 USDTは選んだ数値入力による計算であり、観測されたTensorParadigmの市場成績でも、提案した戦略の収益性の証拠でもありません。
出典と計算の範囲
TensorParadigmのAI支援分析は、設計例と構成した4約定の十進数計算を組み合わせています。市場標本、過去の戦略検証、取引所接続、実資金注文を表すものではありません。外部資金移動はなく、各約定でUSDTの0.1%手数料を計上し、残る0.008 BTCは仮定した買い気配50,800で清算せず評価します。買付費用の比例配分により実現・未実現損益を純資産に照合し、感応度分析は数量と価格を固定します。出典は2026年10月26日に確認しました。方法や仕組みを支える資料であり、提案戦略や制御値の推奨ではありません。
- TradingView:Paper Tradingの主な機能
- Binance現物API:ユーザーデータの執行報告
- Binance現物API:RESTの一般情報と執行状態不明
- Binance現物API:手数料計算と手数料資産
- SEC投資家教育:運用成績の主張と基準の評価
- QuantConnect:実運用とバックテストの照合
- Coinbase:デリバティブ口座、未決済損益、資金調達
- NIST/SEMATECH:自己相関と観測の依存
- Howard、Ramdas、McAuliffe、Sekhon:時間一様な信頼列(2021)
教育目的の設計と構成した口座計算例です。実資金実験や収益性のある戦略を示すものではありません。試験予算と制御値は設計例であり、損失上限、約定、将来収益を保証しません。