バックテストとは何ですか?
バックテストは、戦略またはモデルが事後的にどの程度うまく行ったかを確認するための一般的な方法です。 バックテストは、履歴データを使用してどのように展開するかを発見することにより、取引戦略の実行可能性を評価します。 バックテストが機能する場合、トレーダーとアナリストは今後もそれを採用する自信があります。
バックテストは、取引戦略を最適化する重要なステップです。 チャート分析ツールを使用して収益性の高い取引機会を認識する方法の詳細については、Investopedia Academyのテクニカル分析コースをご覧ください。
バックテストの基本
バックテストにより、トレーダーは履歴データを使用して取引戦略をシミュレートし、結果を生成し、実際の資本を危険にさらす前にリスクと収益性を分析できます。
良い結果が得られる十分に実施されたバックテストにより、トレーダーは戦略が基本的に健全であり、実際に実装されたときに利益をもたらす可能性が高いことを保証します。 準最適な結果をもたらす適切に実施されたバックテストは、トレーダーに戦略を変更または拒否するよう促します。 自動化された取引システムによって実装される戦略などの特に複雑な取引戦略は、バックテストに大きく依存して価値を証明します。
取引のアイデアを定量化できる限り、バックテストすることができます。 一部のトレーダーや投資家は、資格のあるプログラマーの専門知識を求めて、アイデアをテスト可能な形式に発展させます。 通常、これには、取引プラットフォームがホストする独自の言語にアイデアをコーディングするプログラマーが関与します。 プログラマーは、トレーダーがシステムを「微調整」できるようにするユーザー定義の入力変数を組み込むことができます。 この例は、上記の単純な移動平均クロスオーバーシステムです。 トレーダーは、システムで使用される2つの移動平均の長さを入力(または変更)できます。 トレーダーはバックテストして、移動データのどの長さが履歴データで最高のパフォーマンスを発揮したかを判断できます。
重要なポイント
- バックテストは、履歴データを使用してどのように展開するかを発見することにより、取引戦略または価格設定モデルの実行可能性を評価します。戦略は基本的に健全であり、実際に実装されたときに利益をもたらす可能性が高いこと。 次善の結果をもたらす適切に実施されたバックテストは、トレーダーに戦略を変更または拒否するよう促します。
理想的なバックテストのシナリオ
理想的なバックテストでは、さまざまな市場状況を反映する期間の関連する期間からサンプルデータを選択します。 このようにして、バックテストの結果がまぐれ取引なのか健全な取引なのかを判断できます。
履歴データセットには、最終的に破産したり、売却または清算された企業の株式など、真に代表的な株式のサンプルを含める必要があります。 代替手段は、今日もまだ残っている過去の株式からのデータのみを含め、バックテストで人為的に高いリターンを生み出します。
バックテストは、バックテスト期間中に積み重なって戦略の収益性の外観に大きく影響する可能性があるため、重要ではないものの、すべての取引コストを考慮する必要があります。 トレーダーは、バックテストソフトウェアがこれらのコストを考慮していることを確認する必要があります。 サンプル外テストとフォワードパフォーマンステストは、システムの有効性に関するさらなる確認を提供し、実際の現金が投入される前にシステムの本来の色を示すことができます。 バックテスト、アウトオブサンプル、フォワードパフォーマンステストの結果の良好な相関関係は、トレーディングシステムの実行可能性を判断するために不可欠です。
バックテストとフォワードパフォーマンステスト
フォワードパフォーマンステスト(ペーパートレーディングとも呼ばれます)は、トレーダーにシステムを評価するためのサンプル外データの別のセットを提供します。 フォワードパフォーマンステストは、実際の取引のシミュレーションであり、ライブマーケットでシステムのロジックを追跡することを伴います。 すべての取引は紙のみで実行されるため、紙取引とも呼ばれます。 つまり、システムの利益または損失とともに、取引の開始と終了が文書化されますが、実際の取引は実行されません。
フォワードパフォーマンステストの重要な側面は、システムのロジックに正確に従うことです。 そうしないと、プロセスのこのステップを正確に評価することは、不可能ではないにしても困難になります。 トレーダーは、取引の出入りについて正直であり、チェリーピッキング取引のような行動を避けたり、「私はその取引をしたことはないだろう」と合理化する紙の取引を含めないでください。 システムのロジックに従って取引が行われた場合、文書化して評価する必要があります。
バックテストとシナリオ分析の違い
バックテストでは実際の履歴データを使用して適合または成功をテストしますが、シナリオ分析では、考えられるさまざまな結果をシミュレートする仮想データを使用します。 たとえば、シナリオ分析では、ポートフォリオの有価証券の価値の特定の変化をシミュレートしたり、金利の変化などの主要な要因が発生したりします。 シナリオ分析は、好ましくない出来事に応じてポートフォリオの価値の変化を推定するために一般的に使用され、理論的な最悪のシナリオを調べるために使用される場合があります。
バックテストの落とし穴
バックテストで意味のある結果を得るには、トレーダーは戦略を開発し、可能な限り偏りを避けて誠実にテストする必要があります。 つまり、バックテストで使用されるデータに依存せずに戦略を開発する必要があります。 それは見かけよりも難しいです。 トレーダーは通常、履歴データに基づいて戦略を構築します。 モデルをトレーニングするデータセットとは異なるデータセットを使用したテストについて厳格でなければなりません。 それ以外の場合、バックテストは何の意味もない輝く結果を生成します。
同様に、トレーダーはデータdrを回避する必要があります。これは、同じデータセットに対して広範な仮想戦略をテストし、リアルタイム市場では失敗する成功を生み出します偶然の特定の期間。
データdrまたはチェリーピックの傾向を補う1つの方法は、関連する、またはサンプル内の期間で成功する戦略を使用し、別の、またはサンプル外の期間からのデータでそれをバックテストすることです。 サンプル内およびサンプル外のバックテストで同様の結果が得られた場合、それらは一般的に有効です。