バックテスト実践のワークド例(明示的な前提付き)

ワークド例と前提を使ってバックテスト実践を学びます。

直接の答え:バックテスト実践のワークド例とは何か

バックテスト実践のワークド例は、ステップごとに、明確に定義されたルールを過去データに適用して「本来どうなっていたはずか」を推定する方法を示します。ここでいう「バックテスト」とは、過去の観測を使って意思決定をシミュレートすることを指し、将来の結果が履歴と同じになると仮定しません。「実践(practice)」とは、すべての前提を記録して、別の人が同じ計算を再現し、結果がどこから生まれたのかを確認できるようにすることです。

メカニズムと定義:バックテストであなたがやること

バックテスト実践には通常、5つの入力があります。

  1. 意思決定ルール:いつエントリー/エグジットするか(または予測/スコアをどう計算するか)を正確に定める。
  2. データセット:一貫したタイムスタンプを持つ、過去の時系列データ。
  3. トレーディングモデル:注文がどう約定するか(例:次のバーの始値を使う)と、スプレッドをどう扱うか。
  4. コストモデル:手数料、手数料(fees)、およびスプレッドの前提。
  5. 指標(メトリック):何を測るか(例:累積リターン、ドローダウン、勝率、または1トレードあたりの平均リターン)。

安定した仕組み:ワークフロー(ルールを定義→データの期間を選ぶ→約定をシミュレート→指標を計算→文書化)は同じままです。変動する条件:相場のレジーム、データの品質、執行(execution)の詳細、そしてコストは変わり得て、それらが結果を支配し得ます。

ワークド例(数値シナリオ)—明示的な前提付き

目的は教育目的で単純なルールを評価することだと仮定します。これは推奨ではなく、前提を明示したままにするため、仮想的な簡略化を用います。

ルール(「if-then」)

各日について、ポジションをちょうど1日保有します。ポジションは「ロング」(エクスポージャーを取る)か「フラット」(エクスポージャーなし)のどちらかです。意思決定ルールは次のとおりです。

  • 前日のクローズが2日前のクローズより高ければ、翌日(次の日)をロングで保有する。
  • それ以外なら、翌日はフラットでいる。

データセット(過去の観測)

6つの連続した日次観測(Day 0〜Day 5)を使います。以下のクローズは、バックテストでの「既知の」過去価格だと仮定します。

  • Day 0 close: 100
  • Day 1 close: 102
  • Day 2 close: 101
  • Day 3 close: 103
  • Day 4 close: 104
  • Day 5 close: 102

ルールがDay t-2を必要とするため、Day 2〜Day 5の意思決定を計算します。

執行(execution)とコストの前提

これらの前提が、シミュレートされたリターンを決めます。

  • エントリー価格:翌日のオープンは、その日のクローズに等しい(簡略化)。これにより、日中の不確実性を取り除きます。
  • エグジット価格:翌日のクローズは、次の日のクローズに等しい(保有期間が1日なので)。
  • スプレッドと手数料:ロングである毎日における総トレーディングコストは、名目(notional)の0.1%の固定とします。フラットならコストは0%。
  • レバレッジ制約なし、マージン金利なし、コストモデル以外のスリッページなし。

指標定義

名目(notional)に対する「ネット日次リターン」を計算します。

  • 日 t がロングの場合:ネットリターン = (Close(t) / Close(t-1)) − 1 − 0.001
  • フラットの場合:ネットリターン = 0

ステップごとのシミュレーション

意思決定:

  • Day 2の意思決定:Day 1のクローズ(102)をDay 0のクローズ(100)と比較。102 > 100 → Day 2はロング。
  • Day 3の意思決定:Day 2のクローズ(101)をDay 1のクローズ(102)と比較。101 > 102 は偽 → Day 3はフラット。
  • Day 4の意思決定:Day 3のクローズ(103)をDay 2のクローズ(101)と比較。103 > 101 → Day 4はロング。
  • Day 5の意思決定:Day 4のクローズ(104)をDay 3のクローズ(103)と比較。104 > 103 → Day 5はロング。

ネットリターンを計算:

  • Day 2(ロング):Close(2)/Close(1) − 1 − 0.001 = 101/102 − 1 − 0.001 ≈ −0.0098039 − 0.001 = −0.0108039(約 −1.08%)
  • Day 3(フラット):ネット = 0
  • Day 4(ロング):104/101 − 1 − 0.001 = 0.0297029 − 0.001 ≈ 0.0287029(約 +2.87%)
  • Day 5(ロング):102/104 − 1 − 0.001 = −0.0192308 − 0.001 ≈ −0.0202308(約 −2.02%)

累積の単純合計(この例は小さな数値を使い、説明のためのものなので):総ネットリターン ≈ −1.08% + 0% + 2.87% − 2.02% ≈ −0.23%(評価期間)

このワークド例が教えること:結果は、あなたのルール、データ、そして明示的な執行/コスト前提から、機械的に生み出されます。

限界と失敗パターン(何がうまくいかない可能性があるか)

  1. 過剰適合:ルールが過去データに対してあまりにも密に調整されている場合(つまみが多い、テストが多い)、過去では良く見えても他の場所では失敗するかもしれません。2) 執行の現実性:完璧な約定や簡略化された価格設定を仮定すると、結果が誇張され得ます。
外国為替およびCFD取引には大きなリスクがあります。FoxiForexの情報は教育目的であり、個別の金融助言ではありません。スポンサー掲載は明確に表示されます。