更新記録:株価予測【4】バックテストによるモデルの評価
株価予測のシリーズ、少しご無沙汰してしまいました。さて、今日は以下の記事の続きとなります。
前回までで、モデルのトレーニングと評価は完了しましたが、今日は実際にモデルを用いてテスト期間において仮想的な運用シミュレーションを行い、どれほどのリターンが得られるかを調べていきます。このテストはバックテストと呼ばれています。
バックテストでは実際に運用シミュレーションを行うため、どのタイミングで売り買いをするかの意思決定ルールを策定する必要があります。今回はあくまでベースラインとしての数値を得るのが目標ですので、一般的によく使われる手法を用いたいと思います。
バックテストにおける売買アルゴリズム
前提条件
- 資金は十分にあると仮定する(トレード回数に制限を設けない)
- トレードにかかる手数料等は考慮しない
- バックテスト期間は2017-06-14〜2019-06-14の2年間とする
- モデルのトレーニング期間は2011-08-17~2017-06-13とする
- 尚バックテスト期間においても、テスト対象日以前のデータであればトレーニングに使用可能だが、今回はバックテスト期間はモデルの再トレーニング等は行わない
- バックテスト期間終了日において、保有しているTOPIX(買ったが売れていない)については終了日で時価計算する
買い時のルール
- 【ベースライン】3日連続でTOPIXが上昇した場合、買い。
- 【提案手法】予測期間の異なるモデルそれぞれで予測。例えば、1日後を予測するモデル3種、2日後を予測するモデル3種・・・でそれぞれ、値動きを予測。
上昇すると予測したモデルの割合が特定の閾値より高い場合、買い。要するに多数決方式
売り時のルール
- 当日価格が、購入時価格を5%下回ったとき、損切りのため売り
- 当日価格が、購入時価格を5%上回り、かつ購入日価格以降の最高値から少しでも下回った段階で、利益確定売り
- 購入時価格±5%の範囲内にある際、ホールド(何もしない)
結果については、下の記事でまとめました。