ストックドッグ

KatoTakahiro。金融系の会社で働くSEが株やPython、その他諸々について書いています。サービスも運営してます→http://fmbrain.work

勝機はリスク管理と分散投資にあり!?コツコツドカンはもう嫌だ!

目次

的中率は悪くないのになぜ?

最近はもっぱら機械学習での株価予測にいそしんでいます。

n日後の株価が上昇or下落を予測する2値分類モデルなのですが、ここ一ヶ月はモデルの構築よりシミュレーションに重きをおいています。

もう星の数ほどのシミュレーションをやってきたのですが、そのシミュレーションの中でたびたび理不尽なことが起こります。

それは...

株価予測の精度はそこまで悪くないのに、利益でねぇ、ってことです。

株価の予測精度は時期によってけっこうブレがあって、いい時期はだいたい55%〜60%ほどなんですが、そういった時期でも期待するほどの収益を上げることができません。

というか予測精度は55%ほどあるにも関わらず、収益のトータルがマイナスのことがあります。

これは理不尽ですね。

なぜ合理的な株式市場でこのような理不尽な出来事が起こるのでしょうか?

正体はコツコツドカン

また君か。

君はいったいどこから湧いてくるんだ。

コツコツドカンを撲滅するために

利益を上げるには、どうやら予測の精度をこれ以上あげるより、もっとやるべきことがあるようです。

それはリスク管理分散投資です。

実世界での私は元手が少ないので分散投資リスク管理もできませんが、シミュレーションの中ではお金の量は自由に増減可能です。

実世界での私は貧乏なので、自分には縁のないことだと思いこれまでリスク管理分散投資はあまり勉強してきませんでした。

というか、それって長期投資する人のためのものでしょくらいにしか思ってなかったのですが、どうやら違ったようです。


今回は、リスク管理分散投資の効果について売買シミュレーションを行い検証してみたのでその結果を記事にしました。

シミュレーションについての説明

売買戦略

機械学習で騰落を予測し、予測が上昇であれば買い、下落であれば売りのポジションを取り、10日間保有して売却します。

リスク管理の方法

現代ポートフォリオ理論に基づき、ポートフォリオに組み込む銘柄同士の相関を計算し、リスク(標準偏差)が最小になるようにポートフォリオを最適化しました。

分散投資の方法

今回は分散投資と言っても、債権、オルタナティブ、株式など金融商品の種類ごとに分けるものではありません。

あくまでも株式の中で分散させるだけで、ポートフォリオに同じ業種の銘柄ができるだけ入らないようにするというものです。

業種の判断には証券コードを使用しました。

検証方法

いくつの銘柄に分散させるか、によって分類し、それぞれで売買シミュレーションを行いました。

パターンA 1つの銘柄を購入(リスク管理なし)

パターンB 2つの銘柄を購入(リスク管理あり)

パターンC 4つの銘柄を購入(リスク管理あり)

パターンD 6つの銘柄を購入(リスク管理あり)


パターンAは銘柄が1つなので、リスク管理のしようがありませんので、リスク管理なしです。

そして、どのパターンも購入する合計の株数は1000株です。

パターンAであれば、一つの銘柄を1000株購入することになります。

パターンBであれば、500株と500株だったり、300株と700株など銘柄同士の相関係数によって比率を変えながら合計1000株購入します。

パターンC,Dまでなると、合計1000株だとキレイに分割できず、140株購入など現実にはできない買い方をしてしまっています...

プログラムの仕様を合計1000株ではなくて、合計1000万円にしていたら良かったのですが、途中で仕様を変えるのも面倒だったのでこれで押し切りました。


また、購入する銘柄は予測結果の中からランダムに選んでいます。

f:id:doz13189:20170220221907p:plain

このような形で予測結果は出力されるので、パターンAであればここから1つ銘柄を選び、パターンDであれば、ここから6つ銘柄を選びます。

検証期間

2014年から2016年までの3年間です。

取引は、2014年から20営業日ごとに2016年まで行い、合計39回の取引を行っています。

シミュレーション結果発表

パターンA 1つの銘柄を購入(リスク管理なし)

20営業日ごとに1つの銘柄を1000株買い、10日間保有して、売却するということを3年間続けた結果です。

銘柄の選定をランダムで行っているため、運要素が強いです。

そのため、同じ戦略を10回繰り返し行っています。

f:id:doz13189:20170220222432p:plain

ベストパフォーマンスが最終利益、プラス200万。

ワーストパフォーマンスの最終利益は、マイナス300万。

一回の取引で必要なのは、だいたい600万ほどです。

リスク管理なし、分散投資なしではいくら予測精度が高くてもなかなか利益に結びつきにくいわけですね...

パッと見、ランダムウォークのようですね。

10回の取引のうち6回がプラス、4回がマイナスという結果です。

パターンB 2つの銘柄を購入(リスク管理あり)

シミュレーション方法は同じです。

f:id:doz13189:20170220223319p:plain

ベストパフォーマンスが最終利益、プラス300万。

ワーストパフォーマンスの最終利益は、マイナス300万。


ベストパフォーマンスの最終利益が100万円ほどアップしました。

最終的な利益も総じて、パターンAより良さそうです。

パターンC 4つの銘柄を購入(リスク管理あり)

f:id:doz13189:20170220224029p:plain

ベストパフォーマンスが最終利益、プラス500万。

ワーストパフォーマンスの最終利益は、マイナス200万。


ベストパフォーマンスは200万ほどアップし、ワーストパフォーマンスも200万まで下がりました。

順調にリスク管理分散投資の効果が現れてきたように思います。

パターンD 6つの銘柄を購入(リスク管理あり)

f:id:doz13189:20170220224457p:plain

ベストパフォーマンスが最終利益、プラス300万。

ワーストパフォーマンスの最終利益は、マイナス100万。


ベストパフォーマンスはまたプラス300万ほどに戻ってしまいましたが、ワーストパフォーマンスは100万まで下がりました。

そして、10回のシミュレーションのうち8回がプラス、2回がマイナスになりました。

パターンDまで来ると、平均リターンもそこそこありそうです。

目算だと10回のシミュレーションの平均はプラス100万円ほどでしょう。

スタートの取引額は600万円ほどなので、3年間でプラス10%ほどの期待リターンです。

まとめ

今回のシミュレーションでは、複利、マーケットインパクト、手数料等は考慮されていません。

実践を想定するなら、もう少し洗練されたシミュレーションを行う必要があると思いますが、リスク管理分散投資の重要性という観点に注目するとなかなか興味深い結果だったと思います。


そして、このシミュレーションは10日間保有して売却するだけの戦略であり、長期投資ではありません。

ですが、リスク管理分散投資は確かに効果を発揮しました。

パターンAとパターンDを見比べれば、結果は歴然です。



今回得た知識をこれからの投資ライフに生かしていきたいです。

まだまだ素人の域を抜けれそうにないです...