投資家さとしのひとりFintech

AI(人工知能)で億超えトレーダーを目指してます。

どの株を買うかではなく、いつ買うかのモデルができてしまった。

日次短期トレードのためにAIを使ったモデルを開発してます。いつどの銘柄を購入すれば短期的に利益がえられるかというモデルです。XgboostとかKerasを使ったニューラルネットで一応ワークしそうなモデルができたので、過去データを使ってトレードシミュレーションしてみました。

 

もちろん、パラメータ推定に用いる学習データと、シミュレーションするテストデータの日付に重複がないようにします。50日ごとに最新のデータを使ってパラメータを更新し、全部で450日分の計算をしてみました。一回における一銘柄の購入額を100万円としてモデルどおりに売買したところ、平均投資残高440万円ほどで利益は約700万円でした。

f:id:investor_satoshi:20170926194005p:plain

450取引日をざっくり2年と考えると、700万/440万/2 ≒79.5%のリターンになります。これはいいぞと思いましたが、このトレードは実際に僕にはできないものでした。なぜなら平均投資残高は440万円でも、最高は5200万円ものポジションを抱えなければならないからです。

 

どういうことかというと、僕の作ったもモデルによれば、どの銘柄を買うべきかというのはそれほど重要ではなく、いつ集中的に投資するかということのほうがはるかに重要なのです。ですので、普段買うべきは数名柄だけなのに、あるときに何百銘柄も一気に買わなければなりません。

 

これをトレード可能にするには、最高残高の5200万円を用意する必要があり、これを分母とするリターンは700万/5200万円/2≒6.7%ほどになってしまいます。インデックスと比べていいかどうかはよくわかりませんが、絶対リターンとしては全然魅力的ではありません。。

 

一日のトレードリミットを設定してシミュレーションもしてみましたが、結果は芳しくありませんでした。つまり、モデルがそのパフォーマンスを発揮するのは、たくさん買うべきときにちゃんと買う、というのが重要になるようなのです。これは確かに直感とよくあうことでした。経験的にも短期的に高いリターンをあげるというのは、買うタイミングというのがとても重要な気がします。

 

ですが、このモデルだと僕がやりたいことが実現できません。ですので、モデルの構築方法を一から見直すことにしました。短期的な絶対リターンにもとづいた指標を目的変数を設定すると、タイミングの重要さに引きづられ、”いつ買うか”という意思決定モデルが出来上がってしまいます。ですので、ちょっと設定自体に工夫が必要かもしれません。ほとんどゴールまで来たと思ったのに、またスタートに戻ってしまいました。。