ぼくのかんがえたさいきょーのじんこーちのーの話

おはこんばんにちは。前回の記事に引き続きスマホからポチポチ打ち込んでいます。病院で「最近死にたいっていう衝動が激しくてさ〜」みたいな話をしたらおくすりが増えました。当然ですね。

最近暑い。暑いというか熱い。吸血鬼じゃなくても浴びたら死にそうな日光が差し込んでくる。てか死ぬ。焼け死ぬ。水温32度はあかん。カエルも死ぬ。

そんな感じで最近用事がない限りは外に出る回数を極力減らし、家でのほほんとエアコンを25度に設定して暮らしています。エアコンを発明した人はそのうちノーベル賞が取れるんじゃないか?とぽけーっとしてたらおもいました。その場合、なにの分野になるんですかね。これほどどうでもいい話題もなかなかないと思いますね。

さて皆さん、人工知能はご存知でしょうか。既に説明がダルくなりつつあるので、説明は省略します。わからなかったら調べてください。ちなみに僕らの頭脳には天然知能がデフォルトで搭載されています。すごいですねー。

さてこの人工知能、様々なポテンシャルを秘めているんですが僕はその中でも予測という点に着目をしました。

予測、カッコいいですよね。もう響きがいい。オレ、予測してんねん。とか言ってみたい。まあそんなことはどうでも良くて、この予測を使うと様々なことができます。じゃあ何に使うの?って話なんですが、僕はこれを株価予測に使おうと思いました。

株価の予測

人類が夢見る課題の一つだと思います。もちろん先行研究もたくさんある。株価が予測できると何ができるのか。答えは簡単。

儲かる!!!!!!!!

働かなくて良い!!!!!!!!


働かずして人工知能モデルが吐き出した指示に従えば確実に儲ける事ができる。なんならその結果を他人に共有して利益の10%をもらい受ける報酬型ライセンス契約とかすれば夢の不労所得の完成です。こりゃ〜夢がある。やる気もでる。モデルだけに。
くそつまらん冗談は置いておいてとにもかくにも実装です。諸事情でフルタイム就労に難がある私にとってはこれにフルベットするのが得策。やるしかない。

でもその前にやることがあります。目標設定です。目標設定せずやみくもに走っては意味がない。そこでひとまずの目標設定を考えました。それがこちらです。

・取引戦略は単純なものにする(手を動かしたくないのと説明が面倒なので。あとプロスペクト理論をガン無視するため)
・日経平均株価を1日単位で3値化(上がる、だいたい横打ち、下降)予測する。
・精度は6割を目安とする。
・F1値を評価基準とする。
・シミュレート期間は一年とする。
・下落相場に強いモデル(最低ライン横ばい、理想は利益出し)

なんか多分こんな感じでやりました(適当)。で、言語はPython、使ったモデルは勾配ブースティング、k*nn、LSTM、決定木、ロジスティック回帰です。
使った特徴量の関係で学習データは2004-01-01からにしました。まあリーマン・ショックとコロナショック入ってるしええかと言う感じです。使った特徴量の説明はめんどくさいので省略します。71個あります。アンサンブルはまだしてないです。
クラスは切っていて、データ取得、特徴量作成、モデル作成(LSTM以外)、モデル作成(LSTM)、取引シミュレーションで切りました。スタティックメソッド祭りになって混乱しました。

気になる結果ですがこんな感じです。


意味は調べてください

まだ全然何にも検証してないので確実なことは言えませんが、儲かりそうやな~という印象を受けました。時系列データはちゃんとタイムデルタで区切ってあるのでデータリークとかはしてないはずです。誰か暇な人、評価してください。

感想

・思いついて一週間で造った割にはよくできていると思う。
・人工知能多すぎ。
・人工知能初めて触れたけどわかんなさすぎ。
・コーディングだるすぎ。
・パラメータ最適化を実装したい。
・一番実装に苦労した(1週間のうちの3日)LSTMモデルがいちばん低いスコアを叩き出してきてパソコン割ろうかと思った。
・特徴量をよりたくさん追加したい。
・取引戦略をもう少し複雑にしても良いかもしれない。
・予測確率の閾値の探索が適当なので精査したい。
・現在、LSTMモデルが2層アフィン化だが、よりたくさんの層を重ねるとどうなるのか検証したい。パンケーキ的な。
・テストデータの期間設定をしっかり時系列の出来事を見直して設定したい。
・最適化モデルでアンサンブルモデルを構築して予測取引させてみたい。
・データのスケーリングも触りたい。
・バッチサイズを変更してノイズによる影響を考察したい。
・変換係数を模索したい。
・異常シグナルを検出してリスク評価に加えたい

大体こんなもんですかね。引き続き飽きるまではやる予定です。ではまた。