バックテストの限界:期間の取り方ひとつで結果が変わる理由

終了日を3年延ばしただけで年率11.26%が7.63%に下がったSPY・TLTの例をもとに、保有期間や危機期間によってバックテストの結果がどれほど変わるかを検証します。

ガイド 2/5 10分で読めます
この記事の流れ 7
  1. 3年長く見ると何が変わりますか?
  2. 開始時点をずらして見れば答えは出ますか?
  3. 損失になった割合は、将来の確率と考えてよいですか?
  4. 債券を組み入れれば、危機のときの下落は小さくなりますか?
  5. 数字に表れない前提は何ですか?
  6. 自分の結果では何を確かめればよいですか?
  7. よくある質問

SPY 60%とTLT 40%に$10,000を投じて毎月リバランスし、2015年の最初の取引日から2021年末まで保有していたとすると、Lifolioの結果画面にはなかなか見栄えのする成績が表示されます。年率リターン11.26%、シャープレシオ1.18です。資産もルールもそのままで終了日だけを2024年末まで延ばすと、同じポートフォリオの数字はこう変わります。

計算期間 年率リターン 最大ドローダウン(日次) シャープレシオ
2015-01-02〜2021-12-31 11.26% −18.5% 1.18
2015-01-02〜2024-12-31 7.63% −27.65% 0.55

2021年末で終えた結果を開く

表の値は結果画面の「全指標」ウィンドウから転記しました。サマリーカードには小数第1位までしか表示されません。1行目だけを見ればリターンも悪くなく、下落も許容範囲の組み合わせに見えますが、2行目ではリスク1単位あたりのリターンを測るシャープレシオが半分以下に落ちています。3年長く見ただけで評価が変わったわけです。バックテストが答えるのは「このポートフォリオは良いか」ではなく、「この期間、このポートフォリオはどうだったか」という問いです。配当再投資やベンチマークを含む条件の全体はバックテスト結果の見方にあります。

3年長く見ると何が変わりますか?

追加された3年間のリターンは、2022年が−23.31%、2023年が+16.43%、2024年が+10.68%です。後半の2年でかなり上昇したものの、2022年の損失を取り戻しきれず、2021年末に約$21,100だった残高は2024年末には$20,852と、3年前をわずかに下回りました。

最大ドローダウンが深くなったのも、2022年の下落が2020年のコロナショックより大きかったためです。この下落の日付と回復期間はMDDの日次・月末基準と回復期間で詳しく扱います。ボラティリティが8.68%から11.35%に上がる一方でリターンは下がったので、シャープレシオが大きく低下するのは避けられませんでした。

開始時点をずらして見れば答えは出ますか?

1つの期間に振り回されないようにするには、「パフォーマンス」セクションの「保有期間別の成果」を使います。ここでは、N年間の区間を1か月ずつずらしながら、区間ごとの年率リターンを計算して集めます。こうした計算をローリングリターンと呼びます。1年保有なら、2015年1〜12月、2015年2月〜2016年1月……と続き、計109区間になります。

「保有期間別の成果」。1・3・5・7年の保有期間ごとに、最も悪かったときと最も良かったときの年率リターンを棒で結び、右側に損失の割合17%(18/109)、6%(5/85)、0%(0/61)、0%(0/37)を記している。下にはリターン分布と最低・平均・最高の表が折りたたまれている
保有期間別の成果(SPY 60% · TLT 40%、2015-01-02〜2024-12-31)

この例をLifolioでそのまま開く

棒は保有期間ごとに最も悪かった区間と最も良かった区間を結び、0%より左側は赤で塗られます。下の「保有期間別の最低 · 平均 · 最高(表)」を開くと平均まで数字で表示され、「保有期間ごとのリターン分布」を開くと、1年保有のリターンがどう散らばったか(この例の中央値はポートフォリオ+10.1%、SPY +15.3%)を棒グラフで確認できます。画面上の表示は小数第1位までです。

保有期間 区間数 最低 平均 最高
1年 109 −23.31% 8.49% 28.40%
3年 85 −1.36% 7.94% 19.71%
5年 61 +5.01% 9.07% 14.19%
7年 37 +5.87% 7.90% 11.26%

7年の最高値11.26%は、冒頭に出てきた数字そのものです。2015年1月に始まり2021年12月に終わる7年間が37区間の中で最も良く、最も悪かった7年間は年5.87%でした。終了日を自分で選ぶと、意図せずともこうして最も良い区間や最も悪い区間を引き当ててしまうことがあります。

保有期間ごとに損失で終わった区間の割合を示した棒グラフ。1年16.5%(18/109)、3年5.9%(5/85)、5年0%(0/61)、7年0%(0/37)
損失だった区間の割合 · N年間の区間を1か月ずつずらして計算(SPY 60% · TLT 40%、2015-01-02〜2024-12-31)

1年だけ保有した場合は、16.5%(109区間中18区間)が損失で終わりました。最も悪かった1年は2022年1月から12月まで、つまり2022年の1年間そのものでした。保有期間が長くなるほど最低値は上がり、5年以上では損失の区間がなくなります。「保有期間別の成果」の一番上の文も、5年持てばいつ買っても損失はなかったと伝えていますが、この文とサマリーカード④では、1年の損失割合が四捨五入されて17%と表示されています。

損失になった割合は、将来の確率と考えてよいですか?

いいえ。隣り合う2つの1年区間は、12か月のうち11か月が重なっています。そのため2022年のような大きな下落が一度あると、その年にかかる区間が軒並み損失になります。実際、損失だった18区間のうち14区間が2022年の一部を含んでいます。109回の独立した試行というより、1つの出来事を何度も重ねて数えた結果に近いのです。

5年の0%も同様です。61の区間は、2015〜2024年という1つの歴史を、重なり合う形で切り出した断片です。この10年間には5年間通して損をした区間がなかったという記録にすぎず、5年持ちこたえれば損失は出ないというルールではありません。10年保有に至っては区間が1つ(年7.63%)しかなく、分布と呼ぶことすら困難です。分布チャートの下に「過去の保有期間の結果であり、将来のリターン確率を示すものではありません。」という注記があるのもそのためです。損失の区間がどの時期に集中していたかは、「保有期間ごとのリターン分布」を開いて「投資時点別」表示に切り替えると、時系列で確認できます。

債券を組み入れれば、危機のときの下落は小さくなりますか?

「リスクと回復」セクションの「危機期間の累積リターン」は、あらかじめ定義された市場の危機のうち計算期間と重なるものを選び、日次の価格からその期間の累積リターンを計算します。この例では3つの危機期間が該当します。

「危機期間の累積リターン」カード。2018年第4四半期の急落、COVID-19ショック、2022年の利上げによる弱気相場の3つの期間について、ポートフォリオとSPYの下落率を横棒で比べている
危機期間の累積リターン(SPY 60% · TLT 40% vs SPY、2015-01-02〜2024-12-31)

最初の2回は、債券40%がしっかり役割を果たしました。2018年第4四半期も、SPYが3分の1以上下落した2020年春も、ポートフォリオの下落はSPYの半分前後にとどまっています。ところが2022年は違いました。金利が急上昇するなかで長期国債も同時に値下がりし、60/40ポートフォリオは危機期間で見ても通年で見てもSPYより大きく損をしました。2022年の1年間のリターンはTLT −31.24%、SPY −18.17%、ポートフォリオ −23.31%で、クッションとして組み入れた資産が3つの中で最も大きく下げたことになります。

株式と債券は逆の動きをするという期待は、過去にそうだったという観察から生まれたもので、この10年間でも2回は当たり、1回は外れました。次の危機が2020年型になるか2022年型になるかは、バックテストではわかりません。危機のリストにはITバブル崩壊や世界金融危機も含まれていますが、この例は2015年に始まるため、結果には表示されません。

数字に表れない前提は何ですか?

期間や危機のほかにも、結果はいくつかの前提の上に成り立っています。多くは計算方法論に記載されており、実際の口座と比べたときに差が生じるポイントです。

  • 共通データ期間:選んだ資産すべてに価格データがある期間だけを計算します。上場が新しいETFを1つ加えると、開始日がそのETFに合わせて後ろにずれて警告が表示され、先ほど見た危機期間がまるごと計算から外れることもあります。この例でも開始日は2015年1月1日と入力しましたが、休場日のため、最初の取引日である1月2日から計算されています。
  • 売買のタイミングとコスト:毎月のリバランスは、各月の最終取引日の終値で即座に約定すると仮定しており、売買スプレッド(気配値の差)や約定の遅れは考慮していません。バックテスト画面には取引コストの入力欄がないため、売買手数料や税金は差し引かずに計算します。実際の口座では、その分だけ結果が下振れすることがあります。
  • 配当:配当再投資をオンにすると分配金を同じ資産に再投資し、オフにすると現金のまま保有します。配当データに漏れや反映の遅れがあると、その分のリターンが結果に含まれないことがあります。
  • 価格データ:ETFの価格はYahoo Financeの日次終値と配当情報を基本とし、確認された欠落や誤りは運用会社の開示資料や他のデータ提供元の資料で補っています。第三者のデータのため、誤りや訂正が生じる可能性があります。処理方法はデータソースをご覧ください。
  • 通貨:この例はドル建てです。ウォン建てを選ぶと為替レートと無リスク金利が変わるため、数字はすべて変わります。換算のルールはウォン換算リターンがドル建てリターンと異なる理由にあります。

自分の結果では何を確かめればよいですか?

1つの結果を結論とする前に、同じ画面でさらに3つの点を確認できます。終了日を数年早めて再実行したときに数字がどれだけ動くか、「保有期間別の成果」で最低値がどこまで下がるか、「危機期間の累積リターン」にどの危機が含まれ、どの危機が含まれていないか、です。どれも将来のリターンを教えてくれるものではありませんが、いま見ている数字が期間の選び方にどれだけ左右されているかは見えてきます。

よくある質問

バックテストの結果は信用できますか?

計算そのものは検証できます。この記事の数字も、同じ条件を入力し直して同じ値が出ることを確認したものです。ただし、その数字が示すのは「この資産を、この期間、このルールで保有していたら」という範囲までで、約定の仮定やデータの誤りの可能性は上で見たとおり残ります。将来のリターンや損失の確率は、どんなバックテストからもわかりません。

バックテストの期間は何年あればよいですか?

何年あれば十分という基準は、この結果からは導けません。この例からわかるのは、区間が短いほど結果のばらつきが大きかったという事実です。1年区間は−23.31%から28.40%まで開き、3年区間でも最低は−1.36%で、5年以上になってようやく損失の区間がなくなりました。逆に、10年分のデータでは10年区間は1つしかありません。見たい保有期間が長いほど、それよりずっと長いデータがなければ複数の区間を比べることはできません。

生存者バイアスとは何ですか?

生き残った対象だけを見て判断することで生じる偏りです。バックテストでは、資産を選ぶ時点が「現在」であることから生じます。Lifolioで選べる資産のリストも現時点のものなので、結果に含まれるのは、いま名前を知っていて、現在まで存続している資産になりがちです。2015年に同じ目的で選べたはずのほかの候補がその後どうなったかは結果に表れないため、良い結果の一部は、答えを知ったうえで選んだおかげかもしれません。

この記事の数字は、2026年11月6日に同じ条件で計算し直し、確認したものです。誤りにお気づきの場合は、画面右下の「フィードバックを送る」ボタンからお知らせください。