機械学習による株価予測1日目(2021年2月22日)
皆さん、こんにちわ。
今回が当ブログの初投稿となります。
ブログタイトル通り「機械学習の株式投資で10億円を目指す!」ことを
目標にデイトレを開始しました。
10億円なんて現実的じゃないだろ!分かっています。
1億円でも良いかなとは思ったのですが、夢は大きくです。
自己資本による100万円が元手資金です。
株式投資歴は5年ほどですが、デイトレ、シストレは初めての初心者です。
某企業で機械学習エンジニア、AI担当、データ分析等を行っておりますが、
スキルは大したことない自信があります。
皆さんで100万円の元手資金が減っていく様をご覧頂けたらと思います。
株価予測1日目(2021年2月22日)
[本日使用した機械学習モデル]
Lasso, ラッソ回帰
(らっそかいき、least absolute shrinkage and selection operator, Lasso, LASSO)
他にもLightGBMも試したのですが、なんとなくLassoの方が当てはまり具合が
良さそうだったので、まずはLassoで挑戦。
Lasso回帰もLightGBMもscikit-learnを使用し実装。
他考えたこととしてはLSTM(ニューラルネットワーク)や時系列(タイムシリーズ)を
うまく扱うためにFacebookデータサイエンスチームによるアルゴリズムである
Prophetなども検討しましたが、どうも合わない気がしたので一旦不採用。
[本日使用した主な説明変数と目的変数]
株価予測での時系列処理
株価予測で重要な要素としてはやはり時系列なのではないか?ということは
なんとなく分かってはいたものもそれをどうやって機械学習モデルが分かる
ようにデータに表すか?
一旦、大して深く考えず1日前の値を1行(同レコード)に組み込むことにしました。
主な説明変数
上記で書いたように前日の高値、安値、終値、当日の高値、安値、終値、
あと日本株全体が上がったらそりゃ大半は上がるよねってことで日経225
も説明変数に取り入れ。あとは7日移動平均、25日移動平均、75日移動平均。
今後、増やした方が良いかなと思うのは、世界の主要株価指数や為替データ。
[本日の対象銘柄]
起きている時間にトレードしたいので日本株のみで板の厚さを考えTOPIX500
から抽出を実行。もし機械学習モデルが安定して収益を出せそうだったら
TOPIX500から拡大しトレード機会を増やそうと思います。
[機械学習が示した買いフラグ銘柄]
基本戦略
株の基本としては安値で買って高値で売る。
ということで予測安値で買って予測高値で売ることが理想になります。
んで、前日(前営業日)までの株価データで予測してみましたが、
予測安値が安く出過ぎる、予測高値が高く出過ぎるとなるんですね。
これでは買えないし、売れません。
なので、これを調整するために予測安値と予測高値に係数を掛けると
いう方法で買えるようにしましたが、この係数は適当に決めたので
本当は統計的かシミュレーション結果で算出するようにしないとです。
機械学習が示した買いフラグ銘柄
Lasso機械学習モデルが予測した翌日の株価は以下となりました。
_adjが付いているのは上記で書いた調整済みの価格となります。
機械学習モデルは以下を示したのですが、100単元で考えると元手資金100万円では
全部を買うことは不可能なので、スコア(機械学習モデルの当てはまり具合)が高い順
に並べて100万円で買える順番に買っています。緑の背景となっているものです。
6753.T シャープ
9201.T 日本航空
9202.T ANAホールディングス
を100単元ずつ購入。売買代金は買いが成立した場合、667,200円。
楽天証券で前日のうちに売りをセットで売買予約。楽天証券、便利ですね。
[本日の結果と反省]
まだ前場が終わったところでまたあとで更新しようと思うのですが、
今のところの結果としましては買いが成立せず。
原因としましては日経平均自体が先週の金曜からの反発で300円以上の高騰。
特に日本航空、ANAなどの空運は5%以上の上昇。ニュースでも注目銘柄として
取り上げられていました。
買いは成立しませんでしたが、このような注目銘柄を当てているということを
考えれば機械学習モデルが何かしらのサインを拾っている可能性があります。
たらればですが、成行で始値買い、成行で終値売りが成立すれば儲かっていた
ことにはなります。
シャープはまだ買えるか分かりませんが、この日経全体の上がりから考えると
難しそうです。またあとで結果を更新することにします。
→本日は結局買うことが出来ず。いくつかバグを見つけたので明日の祝日(天皇誕生日)を使って修正して次営業日の2月24日で再挑戦です。
収支
[前日(2021年02月21日)]
¥1,000,000-
[本日(2021年02月22日)]
¥1,000,000-
±0-
- 買いタイミングに改善ポイントがありそう。
- そもそもモデルの精度をもっとあげる必要がある。
*当ブログに掲載している情報はあくまで個人的な株式運用の記録であり、これらの
情報を用いていかなる損失が発生しても責任は負いません。投資は自己責任で。