バックテストとは?過去の検証で分かること・分からないこと
バックテストは、過去のデータで売買ルールを検証する方法です。KabuForge の公開教材を使い、注文・取引成立・見送りの違いと、結果を読む際の前提を説明します。
バックテストの意味
バックテストとは、過去の市場データを使って、決めた売買ルールを適用した場合の結果を検証することです。「この条件で買い、この条件で売る」というルールについて、資産の推移や取引の記録を調べます。
役立つのは、利益の数字を出すことだけではありません。どの時期に損失が膨らんだのか、売買が多すぎないか、予定した注文が実際に成立する想定になっているか。こうした問題を、実際の資金を使う前に検討できます。全体の考え方は定量的な投資研究とバックテストの基礎でも説明しています。
同じ売買ルールでも、前提が違えば結果は変わる
バックテストの結果は、売買ルールだけで決まりません。使ったデータ、対象銘柄、検証期間、売買価格の決め方、費用の扱いが組み合わさって生まれます。
たとえば、終値を見て買うと決めた注文を、その日の終値で成立したことにすると、判断と取引の時間関係に無理が生じる場合があります。判断した時点で分かっていた情報を使い、その後のどの価格で取引するのかを決める必要があります。詳しくはデータの利用時点と未来情報の混入を参照してください。
また、手数料を差し引くかどうかでも結果は変わります。売買回数が多いルールほど、費用の積み重なりを確認することが大切です。取引費用と売買の頻度は、成績を読むための基本的な前提です。
注文の数と、成立した取引の数は違う
KabuForge の公開研究コースには、価格の変化を使って銘柄を選ぶ教材があります。こうした銘柄の特徴を数値にしたものをファクターと呼びます。この教材の価格モメンタムの実行例では、1,464 日分のデータに対して、161 件の注文が成立し、22 件が見送られました。
これらは、その教材で使った入力データと設定に対応する記録です。別の期間や設定で実行すれば、同じ件数になるとは限りません。
| 記録 | 意味 |
|---|---|
| 注文 | 売買ルールから出された、買いたい・売りたいという指示。 |
| 成立した注文 | 検証上の価格と条件で、実行されたことになった注文。 |
| 見送られた注文 | 資金などの条件を満たさず、実行されなかった注文。 |
この教材では、前の取引日の終値を使って注文数量を決め、次に観測された取引日の始値で成立を判定します。翌朝の値上がりで必要資金が増え、現金が足りなくなった場合は、数量を減らすのではなく、その注文を見送ります。
つまり、注文が見送られたことも検証結果の一部です。資産推移の線だけを見ていると、なぜ予定した売買が行われなかったのかは分かりません。
161 件の成立注文は、161 回の売買が完結したという意味ではありません。買い注文と売り注文はそれぞれ記録されます。買ってから売るまでを一組として数えた取引回数とは区別して読みます。
利益だけでなく、損失の深さと記録を見る
バックテストで分からないこと
過去の成績がよかったことは、将来も同じ成績になる証明にはなりません。結果を見ながら何度も設定を変えると、過去のデータにだけ合うルールを選んでしまうことがあります。これは過剰適合と、開発に使っていない期間での検証に関わる問題です。
公開教材にも限界があります。上の実行例では、配当、想定価格と実際の成立価格のずれ、市場への影響、100 株単位の売買制約を織り込んでいません。また、各情報が当時いつ利用できたかを全面的に保証する検証でもありません。画面や記録の読み方を学ぶ例として扱ってください。
さらに、ソフトウェアが最後まで動いたことと、売買ルールに投資上の有効性があることは別々に確かめる必要があります。実行に成功しただけでは、実際の市場で同じ価格や数量の取引が成立するとは言えません。
KabuForge で最初の検証を始めるには
最初は、公開された教材を一つ選び、入力データと設定を保存してから実行してみましょう。設定を保存しておくと、後から何を検証したのか確認でき、条件を変えた結果とも比較できます。
操作を体験したい場合はオフラインのデモへ。価格の変化を使った売買ルールを試す場合は価格モメンタムと指標のチュートリアルへ進んでください。J-Quants のデータを持っている場合は、J-Quants データで最初の研究を始める手順が入口になります。
まずは「よい成績が出たか」だけでなく、「どのデータで、どの条件の注文が、どの価格で成立したのか」を説明できることを目標にしてみてください。
教材の出典:KabuForge の画面操作で学ぶ研究コース。数値は公開教材の価格モメンタムの実行例に基づきます。
本記事は研究手順を学ぶための教材です。特定の銘柄や売買を推奨するものではなく、将来の収益を保証するものでもありません。免責事項
このテーマを続けて学ぶ
対象: main のソース候補(未公開) · 公開ソース docs/ja_JP/GUI_RESEARCH_COURSES.md
内容確認 · KabuForge