Edited at

人工知能によるシステムトレードを計画する (3)

More than 3 years have passed since last update.

前回の続きです。

ほんの三カ月前まで日経平均株価が 19,000 円達成と言われたばかりですが、いまや日経平均 20,000 円割れは押し目買いのチャンスと言われるまでに底値が切り上がりました。米国の利上げ、ギリシャ問題など外部要因に不透明を抱える中、相変わらず国内の良好なファンダメンタルズが反映されているという感があります。目先に調整局面はありつつも、長期的に見ると 20,000 円はひとつの通過点でしかないという様相を示しているかのようです。

さてこのような時こそデータ分析を生かして手持ちの資産を増やしたいと誰しもが考えるわけですが、そんな中今月はこのようなニュースが話題になりました。

データセクション、ファイブスター投信投資顧問はビッグデータ株価予測システムを共同開発 (6/8)

http://www.datasection.co.jp/news/2015/06/20150608.html

ツイッターやブログの検索結果といったソーシャルデータを株価予測に生かしたビッグデータファンドということで、果たしてどれほどのものなのかはわかりませんが、このデータセクションの株価自体が一時ストップ高まで買われるなど注目は集めたようです。

人工知能的を生かしたトレードという観点ではマネックス証券のカブロボファンドというのがあります。

https://www.monex.co.jp/FundGuide/00000000/guest/G800/kaburobo/faq/index.htm

https://www.monex.co.jp/FundGuide/00000000/guest/G800/kaburobo/moreinfo/index.htm

こちらは主にテクニカル中心のようですが、ここ数年の運用成績を見るとなかなかに苦労をしているようです。

実際のところ人間がどのように投資判断を下しているのかということを突き詰めると、投資家それぞれ自分の勝ち技のようなものを持っているかとは思いますが、たとえば日経平均株価がまだまだ上昇していくということが容易に想像できる場面では、基本的には日経平均の動きに連動したインデックスを貼ったり、相関の高い個別銘柄を握ったりというのが正攻法のいわゆるベーシックな投資スタイルではないかと思います。

たとえば先週今週の株価の動きを見ていると、先週は 12 連騰後にメジャー SQ を週末に迎えたことによる調整 (一時日経平均 360 円安) 、今週は FOMC やユーロ圏財務相会合といったイベントがあり、リスクオフの動きが強まりました。しかし裁定残高は 1 週間で 8,000 億円以上減少していることから売り物が枯れている感がありますし、空売り比率は 38.3% という高水準の値に達していました。つまりは短期筋の資金が一時的に引き上げたものと判断して長期的には押し目買いのチャンスと見るのが妥当のように思えます。

こういったトレンドの変化はテクニカルだけを見ていて推測できるものではありません。しかしながら、昨今の日経平均の動きは、ドル円の為替、先物の動きを見ていれば、翌日や翌週の株価の動きというのはだいたい予測できるように思います。具体的な数字は無いのですが、体感で天気予報程度の精度といったところでしょうか。

そこで、個別銘柄やファンドの動きがどのくらい日経平均と連動するか移動相関を求めることによってひとつの指標とできそうです。


移動相関を求めて日経平均との連動をみる

pandas なら移動相関を簡単なコードで求めることができます。

r = N225['Adj Close'].pct_change()

c = s7203['Adj Close'].pct_change()
rolling_corr = pd.rolling_corr(c, r, 5)
print(rolling_corr.mean()) # 相関係数

相関係数というのは 0 から 1 を取る値で、だいたい 0.7 以上であれば強い相関があるとみなされます。たとえばトヨタ自動車 (7203) は日経平均株価との相関係数が 0.7 とそれなりに高い相関があります。これを matplotlib で可視化してみましょう。

まず週末時点での日経平均株価です。

chart_N225.png

上はボラティリティ (VL) と出来高の割合 (VOL) 、下はローソク足と移動平均です。

次にトヨタ自動車 (7203) を見てみましょう。

chart_7203.png

見て分かるように、移動相関を見ると高い相関を形成しています。そして日足を見ると案の定、トヨタ自動車の株価は日経平均とよく似た形をしています。このように移動相関を見れば日経平均現物 (NKY) とどれだけ相関があるか推し量れます。

NKY との相関係数は移動相関の平均を見るという単純な計算で良いでしょう。


日経平均と連動しない個別銘柄を選択する

先月から今月にかけて、日経平均株価が 12 連騰する場面がありました。このような時は NKY と連動する銘柄に手を出したくとも、押し目待ちに押し目無しという言葉の通り、上がる一方で手がなかなか出せません。しかしこういうときこそ、日経平均が下げている場面でも、強く上げている銘柄というのもあります。こういった個別銘柄に資金を投入させるというのも大きな利益を獲得するためのひとつの手です。

日経平均株価は 12 連騰のあと、為替の変動やギリシャ不安を受けて一時 20,000 円を割り込むまでに押し目を作りました。上昇相場で買っていたら含み損を抱えていたことになります。

たとえばミクシィ (2121) を見てみましょう。

chart_2121.png

ミクシィは昨年秋モンストの大ヒットにより高値を更新したあと、その後急落し 2 月に底を打ちました。その後、好業績を続けていたにもかかわらず、上がれば下がるという動きを繰り返しつつ 5 月頃まで 4500 〜 4800 円程度のレンジ相場を形成しました。おそらくは、時価総額が非常に高くマザーズ指数への寄与率が高いため機関投資家により空売りで抑えこまれていたか、あるいは投資家たちがモンスト一本に頼った経営に不安を感じていたのではないかと筆者は見ています。

5/12 に決算発表があり爆益、笑うしか無いグラフが出来上がると、一気に株価が上っ放れします。一度は売りをこなして急落するものの、買い方の勢いが収まらず、ついに 6,000 円に到達します。日経平均株価とはまるで異なる動きであることがグラフからもよくわかりますね。

4 月頃に 4,700 円で 1,000 株買っていたとして、いま売って利益確定すればたった 2 ヶ月でなんと 130 万円の利益です。大もうけですね。

他にもたとえばクックパッド (2193) も注目です。

chart_2193.png

こちらも上の通り日経平均株価との相関は低いです。やはり 5 月以降押し目を作っており価格が抑えこまれていましたが、ここへきて一気に急騰 6,300 円を突破しました。急騰したきっかけとしてはもともと業績が非常に良かったのもありますが、タイミングからするに四季報プロ 500 の夏号で穴株として挙げられたというのもあるかも知れません。

5 月に 5,300 円で 1,000 株買っていたとして、いま売って利益確定すればたった 1 ヶ月でなんと 100 万円の利益です。大もうけですね。

この 2 つはいずれも ROE (自己資本利益率) が非常に高く良好な財務状況にあります。したがいまして、ファンダメンタルズが優良で NKY との相関が低い銘柄を抑えておけば、日経平均株価が下降トレンドにあるときにもチャンスをつかむことができるというわけです。


まとめ

このように相関係数を計算して個別銘柄を掘り起こそうという試みも、ひとつはデータの収集と蓄積、ふたつめには pandas や TA-Lib といったクオンツの現場でも使われているデータ分析用のライブラリによって可能となるというわけです。

機械的な銘柄選択や自動取引をするにしても、このような技術が基礎となっていることがおわかりになるかと思います。