京大理系がPythonで「最強の株AI」を作ろうとしたら、結論が「ニュースを見て寝なさい」になった話


初めに忠告するが、私は国語が苦手だ。なのでもし読むときはchatgpt使って、要約をかけさせることをお勧めする。

ーこの記事の要約ー
・テクニカル分析が嘘であることを検証した話
・一番結果を出した戦略について


ー次回書くことー
・AIによる取り組み①~強化学習編~
・AIによる取り組み②~教師あり学習編~



まず、テクニカル分析は嘘である

これは、ウォール街のランダムウォーカーという本を読んでいればある程度知っている話であろう。それにこの話は何十年も前から言われていることである。しかし、SNSではチャートを見ては”俺はこの形しか信じない”、だの、”結局これ(ぎざぎざと直線ががいっぱい書いてある画像)”みたいな投稿がバズっている。それを見るたびに、嘘つけよ、とか思っていたが、自分で検証してみないと信じれない性格なので検証してみた。


テクニカル分析を駆使して売買した時の勝率(60個の指標の内、上位30個ほどを表示)

上のグラフが真実である。これは国を代表する企業の株、30銘柄10年分で検証した図である。してることは単純でゴールデンクロスなど上昇を示す形が来たら買う、三尊天井などの上昇終了、下降トレンドを示す形が来たら空売りをする、これの勝率を見ている、それだけのことである。見たらわかる通り、軒並み50%を切っている。50%超えてるやつもあるじゃないか、と思うかもしれないが、これも怪しい。というのも、これらは登場回数が極端に少ないのだ。勝率55%を超えている指標だって、計280回程度、つまり一銘柄をみても一年に一回登場するか否かである。そんな指標を頼りに売買したところで薄利である。レバレッジを書けても損のほうが怖いだろう。

ここで疑問が生まれる。じゃあ"逆のこと"をやればいいんじゃないかと。

試してみた。

上と逆の行動をした(60個の指標の内、上位10個を表示)

パット見、平均勝率は五十パーを超えている。が、これはあくまで60個指標がある中で上位10個ほどを表示している。 実際の平均勝率は49.27%である。これでわかる通り、はっきり言ってテクニカル分析はオカルトである。なんの意味もない、順張りはダメ、逆張りしてもダメ。ダメダメなのである。

(気になった人もいると思うので補足、どっちも平均勝率が50%を切るのはおかしいと感じるだろう。私もそう思った。どうやら引き分け(上がり幅0)みたいな日が意外とあるらしく、この日を負け扱いしてしまったかららしい。じゃあダメじゃんって思うかもしれないが、実際には手数料取られるので結局負けるのである)

というわけで、テクニカル分析は嘘である。
こんなのに騙されていると損しかしない。最も、ここまでこんな稚拙な文章を懸命に読んでくれた人の中で、そんなものに騙されている人はいないだろう。悲しい限りである。

このプロジェクトの最終結果、うまくいく戦略について


一番気になるのはおそらくこれであろう。株の必勝法(?)である。

ここで忠告しておきたいのだが、この戦法をとれる人なら、そもそも株でうまくいくはずである。当然の戦法だからだ。それに、必ずしもうまくいくとは限らない。私はこの戦法の強さを米国株でも試した。二回ほどショックのあった年でも試した。確かに耐える、うまくいく、だがたった二回だ。国内株だとあんまりデータが取れなかったため、ここ十年、つまりかなりバブリーな時期で検証してしまっている。今後どうなるか、この戦略は果たして聖杯なのか、神のみぞ知ることなのである。


効率的フロンティアによる資金分配


資金等倍

先に言っとくが、あまりいい戦略ではない。プロが見たら失笑だろう。MDD(最大でどんだけ損したか)がでかすぎる。40%!?あなたが1000万かけてたら一気に600万になるってことだ!なんて怖い戦法だ。だがこれが今まで取り組んだ中では二番目にうまくいく。利益だけ見たら一番うまくいく戦法である。素人がやる分には十分な戦略といえる。我々素人はへたくそな売買をしてしまうからだ。

戦略概要

とにかくバブルに乗る!!これだけである。

小賢しい予測も、複雑なAIもいらない。私がPythonによる10年分の検証の末にたどり着いたのは、**「モメンタム・ローテーション(順張り循環)」**と呼ばれる、極めて単純かつ暴力的なアノマリー狩りである。

【システムの全貌】

1. 選定(The Selection):勝者総取り 東証の主要500銘柄の内、上がりそうな銘柄30を監視し、半年に一度、**「過去半年間で最も株価が上昇した銘柄」**をランキング化する。 業績やニュースは一切見ない。「上がっている」という事実こそが、市場の総意であり、最も信頼できる情報だからだ。 ここから上位5銘柄を無感情に抽出する。これが次の半年間の「選ばれし5頭の馬」となる。

2. 配分(The Allocation):思考停止の等配分 選ばれた5銘柄に、資金を**均等(20%ずつ)**に配分する。 「A株はリスクが高そうだから少なめに…」といった人間の主観は、利益を減らすノイズでしかない。 バブルにおいて、どいつが一番化けるかは神のみぞ知る。だから、全ての馬に等しく賭ける。これが最も「機会損失」を防ぐ方法だ。

3. 運用(The Gachi-ho):気絶投資法 ここが最大の肝である。一度買ったら、次の半年後のリバランス日まで、何があっても絶対に売らない。 株価が半分になろうが、逆に2倍になろうが、狼狽売りも利確もしない。 検証の結果、**「損切り(Stop Loss)」は、将来のテンバガー(10倍株)を振るい落とすだけの「悪手」**であることが証明されたからだ。


最後に、資金を「効率的フロンティア」で分配した方だが……

「等配分」があまりに脳筋(単純)すぎると感じる人のために、**「現代ポートフォリオ理論(MPT)」に基づいた「効率的フロンティア(Efficient Frontier)」**による資金配分ロジックも実装してみた。

■ 効率的フロンティアとは何か?

一言で言えば、**「リスク(暴落の可能性)を最小に抑えつつ、リターンを最大化できる『黄金の比率』」**のことである。

  • 仕組み: ただ「儲かりそうな株」を選ぶだけでなく、**「動きが似ていない(相関が低い)銘柄」**同士を組み合わせる。 例えば、「半導体株」と「銀行株」は全く違う動きをする。これらを適切な比率で混ぜ合わせると、片方が暴落しても片方が耐えるため、トータルの資産変動(リスク)だけが見事に相殺される。

  • AIの仕事: scipy.optimize という科学計算ライブラリを使い、数千通りの資金配分パターンを瞬時にシミュレーションし、数学的に**「最も守りが堅く、かつ攻められる配分」**を算出させる。(と、まぁここまでaiに書かせたわけです。こっちのほうが読みやすいでしょう?)

予想ではこっちのほうが、MDD(最大でどんだけ負けるか)が小さくなる代わりに、利益も小さくなると思っていた。しかし、結果はMDDが大きく、利益も大きくなった。まぁそんなこともある。

この戦法が、AIを使ってごちゃごちゃ短期売買をするよりも、下手な損切ロジックを組んで臆病になるよりも、良い戦略である。



こっからは賢い人向けである。




最初に、人為的にピックアップした30銘柄の内、上位五銘柄を選出するといった。このシミュレーションでは最初に"あらかじめ"30銘柄を選定し、それを10年固定で回した。なので、東京エレクトロンだとかレーザーテックだとか、そりゃうまくいくやろっていう銘柄がゴロゴロはいっている。前半ではうまくいかず、後半に挽回したのはこれが原因であると推察される。
はっきり言って、生存者バイアスである!
これを証明すべく、全然うまくいってない株も含め、全100銘柄で検証したところ、利益は10%ほどにとどまった。AIは『過去の栄光(モメンタム)』しか見ないため、落ちぶれていく元・人気株を高値掴みさせられ続けたのだ。(ちなみに60銘柄くらいでやったらうまくいく、30銘柄と同程度の利益を出す)

つまりこの戦略の本当の肝は半年間チャートを見ない勇気でも、30→5銘柄を選出するロジックでもない。こっから上がるだろう30~60銘柄を人力でジャッジする、あなたの先見の明である!!!!つまりこの戦略がうまくいくかどうかはあなたがいかに賢いかによるのである!!!!
だから最初に注釈でこう述べた、”この戦法をとれる人なら、そもそも株でうまくいくはずである。当然の戦法だからだ”、と。
なんとつまらない結論なんだ。我々素人にとっての聖杯は、完璧なロジックを組むことでも、超人的知能を持ったaiを育て上げることでもなく、ニュースを見ることである。そして半年に一度、こっから伸びるであろう銘柄、手堅く伸び続けるだろう銘柄、この株はレンジこそ激しいが成長するだろう銘柄を30~60個選定することである。その後は好きにすればよい。紹介したロジックを組むもよし、分散投資するもよしである。
これが私がこの五日間、本気になって研究した成果である。


ちなコードが欲しい人は言ってくれればあげます。大したコードじゃないし、私はプロでもないので全然無料で差し上げます。

次回はその研究の過程を紹介する。どう失敗したかが詳細に述べてある。


いいなと思ったら応援しよう!

この記事は noteマネー にピックアップされました