前回までのあらすじ
本記事は単独で話が完結するように心がけてはおりますが、以下の拙作記事をご一読いただくと、意図がより明確になります。
機械学習による株価予測で食っていくことは可能か[実施計画編]
日経225の値幅の符号を60%の精度で予測できたら、年率48%の利益が得られるという戯言。機械学習による株価予測で食っていくことは可能か[機械学習編その1]
代表市場のインデックスの過去3日の引値を、翌日の日経平均の 値幅の符号を教師ラベルとして機械学習させてみたが、Accuracyが0.5096しかなく、 うまくいかなかった。
はじめに
Yahoo! Financeのトップページのヘッドラインニュースに、毎日東京市場が開く直前まで、「xx日の東京株式市場見通し」というタイトルで掲示されている。タイトルには、
- 31日の東京株式市場見通し=続落後、もみ合いとなりそう
- 30日の東京株式市場見通し=反発後はもみ合いか
- 29日の東京株式市場見通し=軟調な展開が続きそう
- 28日の東京株式市場見通し=堅調な展開か
というようなかんじで「=」の後に1行コメントが付加されている。このコメントは寄り付き後の相場の動きを予測する文言となっており、これがまさに当方が欲する予想なのだ。この予測文言は、値幅の符号の予測に解釈することができる。
すなわち、
予測文言 | 解釈 |
---|---|
続落後、もみ合いとなりそう | - |
反発後はもみ合いか | + |
軟調な展開が続きそう | - |
堅調な展開か | + |
というかんじで。
この解釈の精度が60%以上あるなら、苦労して自分で予測しなくても、Yahoo! Financeの結果を利用すればよいだけなので、ほんとうにこれが使えるものなのかを検証してみる。
Yahoo! Financeのくだんの記事は、一流アナリストを抱えるモーニングスター社様からの配信であり、当然一流AI技術者も多数抱えてAI分析もしているだろうと思われる。自分で分析するよりも高精度の結果が期待できる。
本記事では、Yahoo! Financeの「東京株式市場見通し」記事のタイトル文言が、その日のNikkei225値幅の符号の予測に使えるかを検証する。
検証方法
2020-06-01から2020-07-31の、Yahoo! Financeの「xx日の東京株式市場見通し」記事について検証する。
記事には日経平均の予想レンジが記載されているので、この評価も併せて行う。
予測文言の検証
予測文言の解釈を独断と偏見で、上昇/不変/下落の3クラスに分類。
例えば、予測文言が
+ 「軟調な展開か」ならば、下落
+ 「堅調展開か」ならば、上昇
+ 「もみ合いが続きそう」ならば、不変
というかんじで。
評価は、
- 上昇のとき、日経225の値幅がプラスなら正解
- 不変のとき、-50円<日経225の値幅<50円なら正解
- 下落のとき、日経225の値幅がマイナスなら正解
とした。
予想レンジの検証
日経225の場中の値動きが予想レンジ内に入っているならば正解とした。
予測文言の検証結果
全43件中、22件正解、21件不正解だった。
正解率51.2%
年月日 | 文言 | 解釈 | N225値幅 | 結果 |
---|---|---|---|---|
2020-06-01 | もみ合いか | 不変 | 151.5 | × |
2020-06-02 | しっかりした展開が続きそう | 上昇 | 150.09 | 〇 |
2020-06-03 | 堅調な展開が続きそう | 上昇 | -35.25 | × |
2020-06-04 | 上値を試す場面もありそう | 上昇 | -60.38 | × |
2020-06-05 | 上値の重い展開か | 不変 | 250.65 | × |
2020-06-08 | 上値を試す場面もありそう | 上昇 | 56.12 | 〇 |
2020-06-09 | 買い先行後は上値が重そう | 上昇 | -44.76 | × |
2020-06-10 | 続落後はもみ合いか | 下落 | 185.95 | × |
2020-06-11 | 弱含みの展開か | 下落 | -375.11 | 〇 |
2020-06-12 | 落ち着きどころを探る展開か | 不変 | 223.36 | × |
2020-06-15 | 堅調な展開か | 上昇 | -604.32 | × |
2020-06-16 | 反発後は堅調な展開か | 上昇 | 669.92 | 〇 |
2020-06-17 | 上値の重い展開となりそう | 不変 | -61.38 | × |
2020-06-18 | 軟調な展開か | 下落 | -8.42 | 〇 |
2020-06-19 | もみ合い商状となりそう | 不変 | -36.96 | 〇 |
2020-06-22 | 反落後は、もみ合いとなりそう | 下落 | -60.54 | 〇 |
2020-06-23 | 反発後、堅調な展開か | 上昇 | -87.01 | × |
2020-06-24 | 軟調な展開か | 下落 | -6.69 | 〇 |
2020-06-25 | 続落後はもみ合いとなりそう | 下落 | -28.08 | 〇 |
2020-06-26 | 反発後は上値の重い展開か | 上昇 | 87.71 | 〇 |
2020-06-29 | 反落後も弱含みの展開か | 下落 | -260.01 | 〇 |
2020-06-30 | 反発後はもみ合いとなりそう | 上昇 | -46.96 | × |
2020-07-01 | 堅調な展開か | 上昇 | -216.57 | × |
2020-07-02 | 上値の重い展開か | 不変 | -36.72 | 〇 |
2020-07-03 | もみ合いとなりそう | 不変 | 63.92 | × |
2020-07-06 | 軟調な展開となりそう | 下落 | 373.17 | × |
2020-07-07 | しっかりした展開か | 上昇 | -35.21 | × |
2020-07-08 | 続落後、もみ合いとなりそう | 下落 | -42.96 | 〇 |
2020-07-09 | 反発後は上値の重い展開か | 上昇 | 86.99 | 〇 |
2020-07-10 | 反落後も弱含みの展開か | 下落 | -244.16 | 〇 |
2020-07-13 | 反発後は上値が重そう | 上昇 | 192.93 | 〇 |
2020-07-14 | 反落後はもみ合いとなりそう | 下落 | -44.86 | 〇 |
2020-07-15 | 軟調な展開か | 下落 | 127.59 | × |
2020-07-16 | 堅調な展開か | 上昇 | -137.6 | × |
2020-07-17 | 反発後は堅調な展開か | 上昇 | -111.15 | × |
2020-07-20 | 弱含みの展開となりそう | 下落 | -54.59 | 〇 |
2020-07-21 | 続伸後はもみ合いか | 上昇 | 94.84 | 〇 |
2020-07-22 | 反落後は軟調な展開か | 下落 | -40.14 | 〇 |
2020-07-27 | 続落後も弱含みの展開か | 下落 | 219.9 | × |
2020-07-28 | 堅調な展開か | 上昇 | -77.64 | × |
2020-07-29 | 軟調な展開が続きそう | 下落 | -146.78 | 〇 |
2020-07-30 | 反発後はもみ合いか | 上昇 | -150.01 | × |
2020-07-31 | 続落後、もみ合いとなりそう | 下落 | -557.59 | 〇 |
予想レンジの検証結果
全43件中、11件正解、32件不正解だった。
正解率25.6%
年月日 | 予測下限 | 予測上限 | N225高値 | N225安値 | 結果 |
---|---|---|---|---|---|
2020-06-01 | 21600 | 22000 | 22161.39 | 21898.99 | × |
2020-06-02 | 21900 | 22300 | 22401.79 | 22118.4 | × |
2020-06-03 | 22300 | 22700 | 22816.62 | 22463.16 | × |
2020-06-04 | 22700 | 23000 | 22778.67 | 22504.27 | × |
2020-06-05 | 22500 | 22800 | 22863.73 | 22565.45 | × |
2020-06-08 | 22800 | 23200 | 23178.1 | 23028.62 | 〇 |
2020-06-09 | 22900 | 23300 | 23185.85 | 22933.14 | 〇 |
2020-06-10 | 22800 | 23000 | 23175.82 | 22901.69 | × |
2020-06-11 | 22800 | 23200 | 22939.39 | 22466.54 | × |
2020-06-12 | 21400 | 22000 | 22350.2 | 21789.07 | × |
2020-06-15 | 22200 | 22500 | 22251.83 | 21530.95 | × |
2020-06-16 | 21700 | 22000 | 22622.84 | 21899.48 | × |
2020-06-17 | 22300 | 22700 | 22535.7 | 22318.07 | 〇 |
2020-06-18 | 22200 | 22500 | 22431.64 | 22125.56 | × |
2020-06-19 | 22200 | 22500 | 22523.66 | 22352.16 | × |
2020-06-22 | 22200 | 22400 | 22575.74 | 22437.27 | × |
2020-06-23 | 22300 | 22700 | 22692.97 | 22257.87 | × |
2020-06-24 | 22400 | 22700 | 22663.29 | 22482.14 | 〇 |
2020-06-25 | 22100 | 22500 | 22423.41 | 22165.14 | 〇 |
2020-06-26 | 22200 | 22500 | 22589.14 | 22409.55 | × |
2020-06-29 | 22200 | 22500 | 22281.38 | 21969.97 | × |
2020-06-30 | 22100 | 22400 | 22447.8 | 22279.31 | × |
2020-07-01 | 22200 | 22400 | 22360.26 | 22039.56 | × |
2020-07-02 | 22000 | 22300 | 22266.84 | 22072.25 | 〇 |
2020-07-03 | 22000 | 22400 | 22306.48 | 22156.94 | 〇 |
2020-07-06 | 22100 | 22400 | 22734.11 | 22327.11 | × |
2020-07-07 | 22600 | 22900 | 22741.06 | 22541 | × |
2020-07-08 | 22300 | 22700 | 22665.74 | 22438.65 | 〇 |
2020-07-09 | 22300 | 22600 | 22679.08 | 22436.58 | × |
2020-07-10 | 22200 | 22500 | 22563.37 | 22290.81 | × |
2020-07-13 | 22400 | 22600 | 22784.74 | 22561.47 | × |
2020-07-14 | 22500 | 22800 | 22674.99 | 22540.09 | 〇 |
2020-07-15 | 22600 | 22900 | 22964.82 | 22800.11 | × |
2020-07-16 | 22700 | 23100 | 22925.9 | 22739.8 | 〇 |
2020-07-17 | 22600 | 22800 | 22857.64 | 22644.31 | × |
2020-07-20 | 22500 | 22800 | 22786.86 | 22580.39 | 〇 |
2020-07-21 | 22600 | 22900 | 22925.57 | 22789.35 | × |
2020-07-22 | 22600 | 22800 | 22855.31 | 22732.93 | × |
2020-07-27 | 22300 | 22600 | 22740.96 | 22430.61 | × |
2020-07-28 | 22500 | 22800 | 22841.39 | 22646.7 | × |
2020-07-29 | 22500 | 22800 | 22584.87 | 22366.34 | × |
2020-07-30 | 22400 | 22600 | 22506.6 | 22334.71 | × |
2020-07-31 | 22000 | 22400 | 22295.05 | 21710.00 | × |
検証結果の考察
予測文言、予想レンジ共、期待を裏切る結果であった。
予測文言に関しては、文言の解釈が当方の独断と偏見に基づいているので、なんともいえないが。。。
そもそも、この文言がNikkei225の値幅の符号を表している訳でもないし。
それにしても、惨憺たる結果だ。一流会社の予測結果が、トーシローの自分が機械学習させて得られた予測器による予測と同レベル、しかもサイコロを振ったレベルだったとは。。。
株価はランダムウォークであることを見せつけられた結果ということだろうか。
予想レンジに関しては、レンジを広く提示するほど当たりやすくなるが、あえてそういう予想はせず、妥当な範囲を提示しているところはプロ意識を感じる。
結論
残念ながら、冒頭の目論見である、Yahoo! Financeの記事を利用して、日経225の値幅の符号を60%の精度で予測するというのは無理ということが分かった。
詰んでしまったが、性懲りもなくつづく