Investor's wiki

バックテスト

バックテスト

##バックテストとは何ですか?

事後的にどれだけうまくいったかを確認するための一般的な方法です。バックテストは、履歴データを使用して取引戦略がどのように実行されるかを発見することにより、取引戦略の実行可能性を評価します。バックテストが機能する場合、トレーダーとアナリストは今後それを採用する自信があるかもしれません。

##バックテストを理解する

バックテストにより、トレーダーは履歴データを使用して取引戦略をシミュレートし、実際の資本をリスクにさらす前に結果を生成し、リスクと収益性を分析できます。

ポジティブな結果をもたらすよく行われたバックテストは、戦略が基本的に健全であり、実際に実行されたときに利益を生み出す可能性が高いことをトレーダーに保証します。対照的に、次善の結果をもたらす適切に実施されたバックテストは、トレーダーに戦略を変更または拒否するよう促します。

自動取引システムによって実装される戦略など、特に複雑な取引戦略は、他の方法で評価するには難解すぎるため、その価値を証明するためにバックテストに大きく依存しています。

取引のアイデアを定量化できる限り、バックテストを行うことができます。一部のトレーダーや投資家は、アイデアをテスト可能な形式に発展させるために、資格のあるプログラマーの専門知識を求める場合があります。通常、これには、トレーディングプラットフォームによってホストされる独自の言語にアイデアをコーディングするプログラマーが含まれます

プログラマーは、トレーダーがシステムを「微調整」できるようにするユーザー定義の入力変数を組み込むことができます。この例は、単純移動平均(SMA)クロスオーバーシステムにあります。トレーダーは、システムで使用される2つの移動平均の長さを入力(または変更)することができます。その後、トレーダーはバックテストを行って、移動平均のどの長さが履歴データで最高のパフォーマンスを示したかを判断できます。

##理想的なバックテストシナリオ

理想的なバックテストでは、さまざまな市況を反映した期間の関連期間からサンプルデータを選択します。このようにして、バックテストの結果がまぐれであるか健全な取引であるかをより適切に判断できます。

、最終的に破産した、または売却または清算された企業の株式を含む、真に代表的な株式のサンプルが含まれている必要があります。現在も存在する過去の株式からのデータのみを含む代替案は、バックテストで人為的に高いリターンを生み出します。

バックテストでは、すべての取引コストを考慮する必要がありますが、これらはバックテスト期間中に合計され、戦略の収益性の外観に大きく影響する可能性があるため、重要ではありません。トレーダーは、バックテストソフトウェアがこれらのコストを考慮していることを確認する必要があります。

サンプル外テストとフォワードパフォーマンステストは、システムの有効性に関するさらなる確認を提供し、実際の現金がラインに入る前にシステムの真の色を示すことができます。バックテスト、アウトオブサンプル、およびフォワードパフォーマンステストの結果の間の強い相関関係は、トレーディングシステムの実行可能性を判断するために不可欠です。

##バックテストとフォワードパフォーマンステスト

ペーパートレーディングとも呼ばれるフォワードパフォーマンステストは、システムを評価するためのサンプル外データの別のセットをトレーダーに提供します。フォワードパフォーマンステストは実際の取引のシミュレーションであり、実際の市場でシステムのロジックに従う必要があります。すべての取引は紙のみで行われるため、紙の取引とも呼ばれます。つまり、取引の開始と終了は、システムの利益または損失とともに文書化されますが、実際の取引は実行されません。

フォワードパフォーマンステストの重要な側面は、システムのロジックに正確に従うことです。そうしないと、プロセスのこのステップを正確に評価することが不可能ではないにしても困難になります。トレーダーは、取引の開始と終了について正直であり、チェリーピッキング取引や「私はその取引を行ったことがない」と合理化する紙の取引を含めないなどの行動を避ける必要があります。システムのロジックに従って取引が発生した場合は、文書化して評価する必要があります。

##バックテストとシナリオ分析

バックテストでは実際の履歴データを使用して適合性または成功をテストしますが、シナリオ分析では、さまざまな可能な結果をシミュレートする仮説データを使用します。たとえば、シナリオ分析では、ポートフォリオの証券の価値の特定の変化や、金利の変化など、発生する主要な要因をシミュレートします

シナリオ分析は、一般的に、不利なイベントに応じたポートフォリオの価値の変化を推定するために使用され、理論上の最悪のシナリオを調べるために使用される場合があります。

##バックテストのいくつかの落とし穴

意味のある結果を提供するためのバックテストのために、トレーダーは戦略を開発し、可能な限りバイアスを避けて誠実にテストする必要があります。つまり、バックテストで使用されるデータに依存せずに戦略を開発する必要があります。

思ったより難しいです。トレーダーは通常、履歴データに基づいて戦略を構築します。モデルをトレーニングするデータセットとは異なるデータセットを使用したテストについては、厳密にする必要があります。それ以外の場合、バックテストは何の意味もない輝く結果を生成します。

同様に、トレーダーはデータドレッジングを回避する必要があります。データドレッジングでは、同じデータセットに対してさまざまな仮説戦略をテストします。これにより、リアルタイム市場で失敗する成功がもたらされます。これは、市場を打ち負かす無効な戦略が多数あるためです。偶然の特定の期間。

データドレッジングまたはチェリーピックの傾向を補う1つの方法は、関連する、またはサンプル内の期間で成功する戦略を使用し、別の、またはサンプル外の期間のデータでバックテストすることです。 。サンプル内とサンプル外のバックテストで同様の結果が得られた場合、それらは有効であることが証明される可能性が高くなります。

##ハイライト

-根底にある理論は、過去にうまく機能した戦略は将来もうまく機能する可能性が高く、逆に、過去にうまく機能しなかった戦略は将来もうまく機能しない可能性が高いというものです。

-バックテストは、履歴データを使用して遡及的にどのように実行されたかを発見することにより、取引戦略または価格設定モデルの実行可能性を評価します。

-履歴データでアイデアをテストする場合、テスト目的で履歴データの期間を予約しておくと便利です。成功した場合は、別の期間またはサンプル外のデータでテストすると、潜在的な実行可能性を確認するのに役立ちます。