ねほり.com

何もないから何かみつかる

機械学習で株価予測(年利・勝率向上の分析)

      2020/02/14

新型コロナウイルス感染症の影響によりスAmazonでのマスクの値段が7~8倍になっています。

マスクが欲しくても手に入りません。

そんな中・・・・、

 

私を除いて家族全員がインフルエンザAに感染した!

 

コロナは政府が頑張って感染拡大を抑えているから、インフルエンザの方がマスクいるでしょ・・・・。

ダフ屋は滅びろ!

 
 

因みに、株をやっている仲間からは、

50万円稼いだ!

今年の年利は100%超え!

という朗報を貰っています。

 

未曾有の経済危機こそ儲け時!

私は早くストラテジーを作成しないとな・・・・。

 
 

これは、「株の自動売買」を夢見て無駄な人生を費やしている一人の男の物語です。

ROC曲線とAUCの評価指標は0.64と低いですが、現時点で実装したストラテジーをProtraでバックテストを行い傾向を把握しておきます。

平均年利ってどこまで目指せば良いの?

「システムトレードの達人」を使って、独自のトレード手法を構築し平均年利104%を達成しているトレーダー「夢幻」氏という人がいます。

果たして「100%」超えの年利を狙うことは本当に出来るのでしょうか?

 

ググってみると・・・・

  • システムトレードで年利136%を目指すシルバーマンファンド運用日記
  • 株の「システムトレード」で平均年利150%は可能か?

などなど「年利100%」を大きく超えた記事を書いている人も存在します。

「テラス」と「トレジスタ」を点検すると、平均年率100%を超えるシングルタスクの「ストラテジー」が幾つか見られます。
 ・逆張りロングで、平均年率100%を超えるシングルタスク「ストラテジ-」
 ・順張りロングで、平均年率100%を超えるシングルタスク「ストラテジ-」
 ・逆張りショートで、平均年率100%を超えるシングルタスク「ストラテジ-」
はありそうです。
そしてこれらがシグナルを重複しないことが確認出来れば、これらを「マルチストラテジー」に組んで運用・・・ 
「平均年率300%のストラテジー」が可能・ と見えてきました。

 

年利を上げるには、総取引回数を増やす必要があります。

短期シストレの基本的な戦略の能力が「総取引回数×期待値÷保有日数」という公式で表されるとすれば、次の3点が重要です。

  • 総取引回数を増やす
  • 期待値を上げる
  • 保有日数を短くする

これらも目的変数として考慮できれば、より年利の高いストラテジーができるかもしれません。

Protra+機械学習のストラテジーのおさらい

【資金管理条件】

  • 銘柄選定(証券コード毎に時価総額ランキング1位の9銘柄)
  • 1回の購入資金 (100万円)
  • 投資総額 (1000万円)
  • 単利運用

【買いルール】

  • 3日後の始値が50%以上の確率で3%以上上がると判断した場合

【手仕舞いルール】

  • 3日経過

【機械学習データ】

  • [説明変数] 始値、高値、安値、調整後終値、出来高、移動平均、乖離率、RSI、BB、MACD、VR、騰落レシオ、曜日
  • [目的変数] 翌日の始値から3日後の始値が3%以上上がったもの
  • [学習モデル] 勾配ブースティング(LightGBM)
  • [モデル評価] KFold(K-分割交差検証)

学習モデルの分類確率に応じたバックテスト結果

predict_proba() メソッドを使うと、そのクラスに分類される確率が得られます。

その閾値を 0.5~0.9に変更した結果のバックテスト結果を見てみます。

分類確率50%以上を抽出する

利益曲線は次のとおりです。

年度別レポートは次のとおりです。

勝率67%、プロフィットファクター4、年利79%(直近5年間41%)というストラテジーの完成です。

分類確率60%以上を抽出する

利益曲線は次のとおりです。

年度別レポートは次のとおりです。

勝率73%、プロフィットファクター7、年利102%(直近5年間53%)という驚異の年利100%超えです。

分類確率70%以上を抽出する

利益曲線は次のとおりです。

年度別レポートは次のとおりです。

勝率79%、プロフィットファクター11、年利93%(直近5年間50%)という安定性になりました。

分類確率80%以上を抽出する

利益曲線は次のとおりです。

年度別レポートは次のとおりです。

勝率86%、プロフィットファクター20、年利60%(直近5年間31%)という安定性になりました。

分類確率90%以上を抽出する

利益曲線は次のとおりです。

年度別レポートは次のとおりです。

勝率91%、プロフィットファクター34、年利41%(直近5年間24%)という安定性になりました。

考察してみる

上記の結果をまとめてみました。

分類確率取引数勝率PF年利(直近5年)最大DD
50%以上596666.83%4.3778.76%(40.64%)-12.10%
60%以上471373.35%6.71101.93%(52.52%)-12.10%
70%以上332379.18%10.9493.06%(49.67%)-9.56%
80%以上187385.90%19.8659.60%(30.51%)-12.90%
90%以上50490.67%33.5341.25%(23.71%)-12.90%

 

想定どおり、分類確率が上がるにつれ取引数が下がり、勝率やプロフィットファクターが上がっています。

年利は分類確率50%以上の場合を除いて下がるようです。

ただ「総取引回数を増やす」「期待値を上げる」「保有日数を短くする」が年利向上のセオリーなので、純粋に対象銘柄を増やせば年利は上がると思ってます。

フォワードテストを兼ねた「日経255採用銘柄」でバックテスト

さあお待ちかね!

日経255採用銘柄全てを使ってバックテストをしてみます。

エラー「Exception: inputs are all NaN」に遭遇

過去の株価がない(空もしくは0)のに、talibで計算しようとしたためにエラーとなったようです。

このエラーが出る銘柄は、株価データがないので削除すればよいでしょう。

バックテスト結果

分類確率90%以上だけを使ったバックテスト結果です。

計算時間は次のとおりです。

  • 機械学習部分 10分
  • Protraのバックテスト部分 35分

Protraのバックテスト時間が長いです・・・・。

なお「1998/01/05~2015/12/14」を利用して学習させています。

つまり「2015/12/15~2020/01/24」が未知の予測(フォワードテスト)となります。

利益曲線は次のとおりです。

さあ!どこからがフォワードテストか分かるかな?

 

・・・・という質問の意味すらないぐらいの曲がりっぷり!!

 

直角切り!!

 

フォワードテストを始めても最初の一ヶ月ぐらいはプラス傾向になるかな・・・と思ってましたが、全くそのような結果になっていません。

このままでは、実践投入は不可能です。

まとめ

分類確率90%以上の「勝率9割以上」「プロフィットファクター30以上」は非常に魅力的です。

が・・・・、結局フォワードテスト(もどき)な結果では、キレイにカーブが寝てしまいました。

これを回避するの無理なのでは・・・・?

「株の自動売買」は夢のまた夢なのかな・・・・。

 - 2020年(社会人16年), 機械学習, システムトレード, テクノロジー

  関連記事

はじめてのKerasを使った株価予測(ディープラーニング)

毎年年末年始やGWに技術学習・Webサイト構築してきたのに、今年は何もしていない …

次ステージ(フォワードテスト)に進むSSレア手法完成(protraシストレ)

日本株式のシストレでは、順張りはパフォーマンスが低いと言われ、 多くのシステムト …

ネクスト and ポストソーシャルは何か?

2011年12月31日(土) よいお年を。 父親「遊んでばかりいるんじゃない!リ …

facebookの自動更新方法をアップデートする

GWで唯一休みだった土日(残りは休日出勤)・・・を利用して、facebookへ日 …

ADSLで最大2ヶ月間無料となるYahooBBキャンペーン

今日までにADSLに登録すれば最大2ヶ月間無料となるキャンペーンをYahooBB …

DellのVistaマシンのマザーボードの故障

2009年11月29日(日) 修理は二週間かかるそうです 動画編集で購入したDe …

セカンドライフはどこへ消えたのか・・・

「Facebookが日本で流行しない」「セカンドライフが今後主流になる」と言った …

テレビを捨てた放送局、テレビを捨てた家電メーカー

「テレビの視聴者離れが進み、ネットコンテンツが充実し、テレビはオワコン」 と、よ …

推薦論文の査読結果&キッズGooでWebサイトが表示されるために

推薦論文 「推薦論文」の査読結果が返ってきた・・・・   & …

3点チャージ投資法(移動平均線乖離率、VR、RSI)の有効性検証

この手法は大学時代に後輩から教えてもらいました。 そこから、株のシミュレーション …