バックテストとは何だろう?
株式市場には、さまざまな投資方法があります。株価が下がったときに株を買う人もいれば、株価が上がり始めたときに買う人もいます。では、どちらの方法が優れているのでしょうか。それを確かめるために、過去の株式市場のデータを使って投資方法を試すことができます。このような検証をバックテスト(Backtesting)といいます。
バックテストとは、過去のデータを使って、ある投資方法がどのような成果を上げていたかを検証することです。実際にお金を投資するのではなく、過去の株価や取引データをもとに、仮想的な売買を行います。これによって、その投資方法が過去に利益を生んでいたのか、どの程度の損失が発生していたのかなどを調べることができます。
例えば、ある投資家が直近50営業日の平均株価を利用する方法を考えたとしましょう。直近50営業日の平均株価とは、株式が取引された直近50日間の株価を平均したもので、一般に50日移動平均と呼ばれます。この投資家は、株価がその平均を上回ったら買い、下回ったら売るという方法を試してみたいと考えています。
では、この方法が実際に有効なのか、どうすれば確かめられるでしょうか。最も簡単なのは、過去の株価データを使うことです。過去10年間の株価を日付順に確認し、あらかじめ決めた条件に従って株式を売買したと仮定します。例えば、その日の取引終了時点で買いの条件を満たしていれば、翌営業日に株式を購入したものとして計算できます。
この作業を繰り返すことで、10年間に何回の取引が行われ、どれだけの利益や損失が発生したかを確認できます。コンピュータープログラムを使えば、何千回もの取引も短時間で計算できます。
仮に100万円で投資を始め、10年後に資産が160万円になったとしましょう。元手に対して60%の利益を得たことになります。しかし、同じ期間に一度も売買せず、最初に買った株式を持ち続けていたら、資産が170万円になっていたかもしれません。この場合、バックテストで検証した方法でも利益は出ていますが、単純に株式を保有し続ける方法より成績が悪かったことになります。もちろん、これらの数字は説明のための架空の例です。
そのため、バックテストでは利益が出たかどうかだけでなく、ほかの投資方法と比較することも重要です。特に、株式を買って長期間保有する「バイ・アンド・ホールド」という方法と比較すれば、複雑な投資戦略を使うだけの価値があったのかを判断する手がかりになります。
また、投資の途中でどれほど大きな損失が発生したかも確認する必要があります。例えば、2つの投資方法がどちらも10年間で50%の利益を上げたとしましょう。しかし、一方は運用中に資産が最大10%減少したのに対し、もう一方は最大60%も減少していたらどうでしょうか。最終的な利益率が同じでも、投資家が負担しなければならなかったリスクには大きな違いがあったはずです。
このように、投資期間中に資産がそれまでの最高値から最大でどれだけ下落したかを示す指標を、最大ドローダウン(Maximum Drawdown)といいます。バックテストでは、最終的な利益率だけでなく、最大ドローダウンや取引回数、利益や損失が発生した時期なども合わせて確認します。
ただし、バックテストには注意すべき点があります。特に重要なのは、実際に投資した場合に発生する費用や取引条件を、できる限り正確に反映させることです。
株式を売買する際には取引手数料がかかる場合があり、市場によっては税金が課されることもあります。また、希望する価格で必ず売買できるとは限りません。特に取引が活発でない銘柄では、実際の売買価格が想定した価格と異なることがあります。そのため、バックテストでこうした費用や価格のずれを無視すると、実際に得られる利益よりも良い結果が出てしまう可能性があります。
過去のデータを正しく扱うことも重要です。例えば、2020年にある株式を購入するかどうか判断する場面で、2021年に発表された企業の業績をすでに知っていたものとして計算してはいけません。当時の投資家には知り得なかった情報だからです。このように、将来にならなければ分からない情報を過去の判断に使ってしまう誤りを、先読みバイアス(Look-Ahead Bias)といいます。
また、現在も上場している企業の株式だけを使うと、結果が偏ってしまうことがあります。かつて株式市場には多くの企業が上場していましたが、その中には業績の悪化や倒産などによって上場廃止になった企業もあります。そうした企業を除外し、現在まで生き残った企業だけを分析すると、過去の投資環境が実際よりも安全で、利益を得やすかったように見えてしまいます。これを生存者バイアス(Survivorship Bias)といいます。
バックテストで起こりやすいもう一つの問題は、過去の結果に合わせすぎて投資方法を作ってしまうことです。例えば、直近50営業日の平均株価を使う方法で満足のいく結果が得られなかったため、基準を40日、30日、20日と次々に変更したとしましょう。数多くの条件を試しているうちに、過去に非常に高い利益を上げた条件が見つかるかもしれません。
しかし、その条件が将来も良い成績を収めるとは限りません。過去の特定の株価の動きに、たまたまうまく当てはまっただけかもしれないからです。このような問題を過剰適合(Overfitting)といいます。
この問題を抑える方法の一つが、過去のデータを2つの期間に分けることです。まず前半のデータを使って投資方法を作り、残りの期間のデータを使って、その方法が引き続き有効かどうかを検証します。投資方法を考える際に使わなかった期間でも良い結果が出れば、その方法を信頼するための根拠が少し増えることになります。ただし、それでも将来の利益が保証されるわけではありません。
何よりも忘れてはならないのは、バックテストは過去を分析するための方法であり、未来を正確に予測するための方法ではないということです。株式市場は、景気や金利、企業の業績、投資家の行動など、さまざまな要因によって変化します。過去には有効だった投資方法が、将来は通用しなくなることもあります。
だからといって、バックテストに意味がないわけではありません。むしろ、実際にお金を投資する前に、自分の投資方法を客観的に検証できるという点で役立つ道具です。漠然とした感覚や期待だけに頼るのではなく、過去のデータをもとに投資方法の長所と短所を確かめられるからです。
つまり、バックテストとは、ある投資方法が必ず成功すると証明するためのものではなく、過去のさまざまな状況でどのように機能していたかを調べるためのものなのです。過去の結果が未来の成果を保証することはありません。それでも、過去を慎重に分析することは、より合理的な投資判断を下す助けになるでしょう。
ログインすると学習履歴を保存できます。