ライブ市場で取引のアイデアを試したいトレーダーは、バックテストの結果に完全に依存してシステムが収益性があるかどうかを判断するという間違いを犯すことがよくあります。 バックテストは貴重な情報をトレーダーに提供できますが、誤解を招くことが多く、評価プロセスの一部にすぎません。
サンプル外テストとフォワードパフォーマンステストは、システムの有効性に関するさらなる確認を提供し、実際の現金が投入される前にシステムの本来の色を示すことができます。 バックテスト、アウトオブサンプル、フォワードパフォーマンステストの結果の良好な相関関係は、トレーディングシステムの実行可能性を判断するために不可欠です。
バックテストの基本
バックテストとは、履歴データに取引システムを適用して、指定された期間にシステムがどのように実行されたかを検証することです。 今日の取引プラットフォームの多くは、バックテストをサポートしています。 トレーダーは、いくつかのキーストロークでアイデアをテストし、取引口座の資金を危険にさらすことなく、アイデアの有効性に関する洞察を得ることができます。 バックテストでは、移動平均クロスオーバーが履歴データで実行する方法や、さまざまな入力とトリガーを持つより複雑なシステムなど、単純なアイデアを評価できます。
アイデアを定量化できる限り、バックテストすることができます。 一部のトレーダーや投資家は、資格のあるプログラマーの専門知識を求めて、アイデアをテスト可能な形式に発展させます。 通常、これには、取引プラットフォームがホストする独自の言語にアイデアをコーディングするプログラマーが関与します。 プログラマーは、トレーダーがシステムを「微調整」できるようにするユーザー定義の入力変数を組み込むことができます。
この例は、上記の単純な移動平均クロスオーバーシステムにあります。トレーダーは、システムで使用される2つの移動平均の長さを入力(または変更)できます。 トレーダーはバックテストして、移動データのどの長さが履歴データで最高のパフォーマンスを発揮したかを判断できます。
最適化研究
多くの取引プラットフォームでは、最適化の調査も可能です。 これには、指定された入力の範囲を入力し、コンピューターに「数学を実行」させて、どの入力が最高のパフォーマンスを発揮するかを判断する必要があります。 多変数最適化では、2つ以上の変数の計算を行って、どの組み合わせが最良の結果を達成したかを判断できます。
たとえば、トレーダーはプログラムにどの入力を戦略に追加したいかを伝えることができます。 これらは、テストされた履歴データを考慮して、理想的な重みに最適化されます。
バックテストは、いくつかの最適化を行うことで、採算の取れないシステムを魔法のように金oftenけマシンに変換できることが多いという点で刺激的です。 残念ながら、過去の最高の収益性を達成するためにシステムを微調整すると、実際の取引でパフォーマンスが低下するシステムにつながることがよくあります。 この過剰な最適化により、紙上でのみ見栄えの良いシステムが作成されます。
カーブフィッティングは、最適化分析を使用して、テスト期間で使用された履歴データで最大の利益で最大数の勝ちトレードを作成します。 バックテストの結果では印象的に見えますが、カーブフィッティングは結果がその特定のデータと期間に対して本質的にカスタム設計されているため、信頼性の低いシステムにつながります。
バックテストと最適化はトレーダーに多くの利点を提供しますが、これは潜在的な取引システムを評価する際のプロセスの一部にすぎません。 トレーダーの次のステップは、最初のバックテスト段階で使用されていない履歴データにシステムを適用することです。
サンプル内データとサンプル外データ
履歴データでアイデアをテストする場合、テスト用に一定期間の履歴データを予約しておくと便利です。 アイデアがテストおよび最適化される最初の履歴データは、サンプル内データと呼ばれます。 予約されているデータセットは、サンプル外データと呼ばれます。 このセットアップは、最適化モデルのコンポーネントではないデータでアイデアをテストする方法を提供するため、評価プロセスの重要な部分です。
その結果、アイデアはサンプル外のデータの影響を一切受けず、トレーダーはシステムが新しいデータ、つまり実際の取引でどれだけうまく機能するかを判断できます。
バックテストまたは最適化を開始する前に、トレーダーはサンプル外テスト用に予約される履歴データの割合を確保できます。 1つの方法は、履歴データを3分の1に分割し、サンプル外テストで使用するために3分の1を分離することです。 初期テストと最適化には、サンプルデータのみを使用する必要があります。
次の図は、履歴データの3分の1をサンプル外テスト用に予約し、3分の2をサンプル内テスト用に使用するタイムラインを示しています。 次の図は、テストの開始時のサンプル外データを示していますが、一般的な手順では、前方性能の直前にサンプル外部分があります。
バックテストプロセスで使用されるサンプル内データとサンプル外データの相対的な長さを表すタイムライン。 ジュリー・バンによる画像©Investopedia 2020
相関とは、2つのデータセットのパフォーマンスと全体的な傾向の類似性を指します。 相関メトリックは、テスト期間中に作成された戦略パフォーマンスレポートの評価に使用できます(ほとんどの取引プラットフォームが提供する機能)。 2つの間の相関が強いほど、システムがフォワードパフォーマンステストとライブトレーディングでうまく機能する可能性が高くなります。
次の図は、サンプル内データでテストおよび最適化され、サンプル外データに適用された2つの異なるシステムを示しています。 左側のグラフは、サンプル内のデータでうまく機能するように明確にカーブフィットされ、サンプル外のデータでは完全に失敗したシステムを示しています。 右側のグラフは、サンプル内データとサンプル外データの両方で良好に機能したシステムを示しています。
2つのエクイティカーブ。 各黄色の矢印の前の取引データは、サンプル内テストを表します。 黄色と赤の矢印の間に生成されたトレードは、サンプル外テストを示しています。 赤い矢印の後の取引は、フォワードパフォーマンステストフェーズからのものです。
サンプル内データを使用してトレーディングシステムが開発されると、サンプル外データに適用する準備が整います。 トレーダーは、サンプル内データとサンプル外データのパフォーマンス結果を評価および比較できます。
上の図の左のグラフのように、サンプル内テストとサンプル外テストの間に相関関係がほとんどない場合、システムが最適化されすぎており、ライブトレーディングでうまく機能していない可能性があります。 右側のチャートに見られるように、パフォーマンスに強い相関がある場合、評価の次のフェーズでは、フォワードパフォーマンステストと呼ばれる追加のタイプのサンプル外テストが行われます。
フォワードパフォーマンステストの基本
フォワードパフォーマンステスト(ペーパートレーディングとも呼ばれます)は、トレーダーにシステムを評価するためのサンプル外データの別のセットを提供します。 フォワードパフォーマンステストは、実際の取引のシミュレーションであり、ライブマーケットでシステムのロジックを追跡することを伴います。 すべての取引は紙のみで実行されるため、紙取引とも呼ばれます。 つまり、システムの利益または損失とともに、取引の開始と終了が文書化されますが、実際の取引は実行されません。
フォワードパフォーマンステストの重要な側面は、システムのロジックに正確に従うことです。 そうしないと、プロセスのこのステップを正確に評価することは、不可能ではないにしても困難になります。 トレーダーは、取引の出入りについて正直であり、チェリーピッキング取引のような行動を避けたり、「私はその取引をしたことはないだろう」と合理化する紙の取引を含めないでください。 システムのロジックに従って取引が行われた場合、文書化して評価する必要があります。
多くのブローカーは、取引を行い、対応する損益を計算できるシミュレーション取引口座を提供しています。 シミュレートされた取引口座を使用すると、取引を実践し、システムをさらに評価するための半現実的な雰囲気を作り出すことができます。
上の図は、2つのシステムでのフォワードパフォーマンステストの結果も示しています。 繰り返しますが、左のチャートに示されているシステムは、サンプル内データの初期テストを超えてうまく機能しません。 ただし、右の図に示されているシステムは、将来のパフォーマンステストを含むすべてのフェーズで良好に機能し続けています。 サンプル内、サンプル外、およびフォワードのパフォーマンステストの間に良好な相関関係がある肯定的な結果を示すシステムは、ライブマーケットですぐに実装できます。
ボトムライン
バックテストは、ほとんどの取引プラットフォームで利用可能な貴重なツールです。 履歴データを複数のセットに分割して、サンプル内およびサンプル外のテストを提供することにより、トレーダーはトレーディングのアイデアとシステムを評価するための実用的かつ効率的な手段を得ることができます。 ほとんどのトレーダーはバックテストに最適化手法を採用しているため、システムのクリーンデータを評価して実行可能性を判断することが重要です。
前方性能テストでサンプル外テストを継続すると、システムを市場に投入してから実際の現金を危険にさらす前に、別の安全層が提供されます。 肯定的な結果と、サンプル内およびサンプル外のバックテストとフォワードパフォーマンステストの良好な相関関係により、システムが実際の取引で良好に機能する可能性が高くなります。
