ストックドッグ

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

君、過学習してるね...

目次

前回までのあらすじ

doz13189.hatenablog.com

決定木を使って、明日上がる株価と下がる株価の分類を試みました。

その時、作ったシステムで株価の予測をしたら一回目が53%で、ええやん!ってなったのですが、2回目、3回目と検証を続けると48%、49%と50%を下回る結果に...

っとここまでが前回のあらすじ。

その後、ちゃんと検証をやろうってなったのが今回です。

なんかおかしくない?

検証結果を見て思ったんです。

ちなみにこれが検証結果です。

モデル 正答率
20日モデル 50.69%
40日モデル 49.98%
60日モデル 49.13%
80日モデル 50.26%
100日モデル 50.32%
120日モデル 48.13%
140日モデル 46.76%
160日モデル 52.20%
180日モデル 49.23%

過去何日間を学習させたかによってモデルを分けて、予測をさしています。

例えば、20日モデルは過去20日を学習して、次の日の株価を予測しています。

これで100日分検証を行い、出た正答率の平均値を正答率として出しています。


モデルが出す予測は、上昇だったら1、下落だったら0なんです。

つまり、基本的に適当にやっても50%は当たるはずなんですね。


この正答率を見たらピンっときますね。

「君、適当にやってるな?」

このモデル何も学習できずに適当に上昇!下落!と叫んでいるだけなのではないだろうか。

いや、適当ではない!

バックテストでは結果が出るんです。

正答率70%、80%とポンポンいい数値が出るんです!


これってもしかして。

もしかして。

君、過学習してるね...

決定木のいいところはホワイトボックスです。

中身でどういった処理をしているのか、人間に理解できる形で可視化できるのでやってみました。

f:id:doz13189:20161207215442p:plain

うん、過学習してるね!

木が深すぎて、一体何を学習しているのか!?

この木は、前回の私の記事、あるいは前回の記事に貼ってあるURL先の記事を読めば、どれだけ過学習して頭が固くなっているのか解ると思います。

過学習の見極め方

私は単純にバックテストとフォワードテストの結果に差があり過ぎたら、過学習を疑います。

過学習すると未知データに対して、全く対応ができなくなるので、おのずとフォワードテストでの結果がでなくなるんですね。


今回のようにバックテストでは良い結果がでているのに、フォワードテストではからっきし、というのはまさに過学習を疑うべきシグナルです。

もちろん、ただ単純に説明変数がよくなくてダメモデルを作っていることもありますが。

過学習を解消すれば精度が上がったのか

過学習をしない程度の深さや葉の数を調整して、再検証を行ってみました。

しかし、結果は同じくランダムチックな正答率ばかり。

説明変数がよくない。

これが私が出した結論です。

そもそもインデックスリターンを使って、株価の値動きを予測しようという試み自体が間違っていたのではないだろうか。

もう少し決定木を使って頑張ってみますよ!

続く...

機械学習で株価は予測できるのか!?

目次

流行ってるなぁ、機械学習で株価予測

みんな予測し過ぎじゃないですか?笑

おかげで参考文献には困りませんでしたよ!

qiita.com

masamunet.com

ちょっと前までこういう↑記事を見ると、「へぇすごい、ホンマにすごいなぁ」と指を加えて羨むしかなかったんですけど...

最近は、「何!?予測!?できるんか!?っしゃ、たしかめるかぁ!」

くらいの勢いでできるので、成長を感じます。笑


上の記事たちではあたかも正答率100%を誇るスーパーシステムが出来上がったような雰囲気を出していますが、残念というか安心してくださいというかそんなわけはありません。

どちらも決定木というアルゴリズムで予測しているので、そもそもそこまで精度が上がるわけないと私は考えています。(理由は後述)

ということで今回は出来上がったシステムの内容、精度、検証含めた記事を書きます。(ちなみにただ今検証中...記事の終盤にかかる頃には検証が終わって欲しいことを祈りつつ書き書き...)

〜更新【最新版】〜

機械学習での株価予測についての記事をまとめました【おすすめ記事】

doz13189.hatenablog.com



予測の精度は53%でした

ということでした。

また後で詳しくっ☆

どんな予測の仕方?

決定木で株価を予測する大まかな流れは、

  1. 教師データで学習させる(過去の株価データ)
  2. 未知データ(過去データ以降の株価データ)をあげて、予測結果を見る

これだけです。


さっきから予測、予測と繰り返していますが、やっていることは予測というより、分類と言ったほうが正確です。

機械学習の決定木は分類手法です。

決定木の分類をイメージで説明すると...

f:id:doz13189:20161130185741p:plain

こーんな感じで株価は無数に転がっています。

一つ一つが各銘柄の株価です。

これを。

f:id:doz13189:20161130185823p:plain

バスッと線を引いて、右と左に分類します。

これが決定木の分類イメージです。


決定木の難しいのは、何を判断材料とするかです。

例えば、RSIを判断材料とした場合だと...

RSIだと70以上は反落の可能性が高かったり、逆に30以下だと反発の可能性が高かったりと逆張りでよく使われる指標で有名なのでとりあえずチョイスしました。

f:id:doz13189:20161130192441p:plain

こんな感じのRSIでソートした株価の集団があるとします。(乱数でふってるので値は適当です)

この株価たちが次の日上昇したか、下落したかを見てみましょう。

f:id:doz13189:20161130193658p:plain

こうなったとします。赤が上昇、青が下落。

これらを教師データとして決定木に学習させます。

データを渡すときは、次の日上昇したかどうかと、RSIをセットで渡します。

すると、機械はデータを見ながらこんなことを考えるでしょう。

「おぉ、上昇する株価と下落する株価は傾向がありそうだなぁ、そういえばRSIが低いと上昇して、高いと下落して...ふむふむ。」

「どうやらRSI50付近にバスっと線を引いて、分類したらうまくいきそうだな。」

うまく学習してくれたみたいですね。

ここから未知データをあげます。

先ほど学習したことを未知データに活かすのです!

例えば、RSI80の株価データを上げたとすると、機械は「下落!」と答えるはずです。

RSI30の株価データを上げたとすると、機械は「上昇!」と答えるはずです。

こーんな感じで株価を分類し、予測していきます。

ちなみに今回判断基準として使ったのはインデックスリターンです。

インデックスリターンを使って、株価たちをバスっと上昇する株と下落する株に分類しています。

参考にした記事と同じものを使用しているので、もし興味があればそちらもお読みになってください!

決定木の弱点

すべてのものを完璧に分類できる手法なんて世界にはまだ存在していません。

すべての手法は何らかの弱点があり、同じくして決定木にも弱点があります。

決定木の弱点は...


女性に弱いところです。



んなわけ。



弱点は分類の精度です。

弱点とも言いがたいのですが、決定木はそこまで高い精度を誇る分類手法ではないです。

もちろん、分類する対象にもよりますが、うまく分類できないこともままあります。

一般的な分析精度だけ見れば、SVMなど決定木より優れたものはたくさんあります。

弱点として把握しておかなければならないのは、うまく分類できない可能性があるということです。

f:id:doz13189:20161130192925p:plain

例えば、このパターンはうまく分類できていません。

こんなバラバラデータに線を引いたところでですね。

実際にRSIを判断基準にしても、きっとこうなります。

RSI30以下で絞っても、ダマしが多くて、うまく分類はできないと思います。


また、これも気をつけないといけません。

f:id:doz13189:20161130185823p:plain

境界線付近のデータです。

決定木は分類なので、YES or NOにわけなければいけません。

「わからない!」っていう答え方はなし、なんですね。

境界線付近は曖昧だけど、分類しないといけないからしてやった系データが集まってるんですね。

こういうデータも含まれているので、上昇する株側に分類されたからと言って、すべてのデータに対して、「これ明日上がるで〜ドヤァ。」なんてことはできないんですね。

今回は、株価というただでさえ分類が難しいものを対象にしているので、気をつけなければいけません。


でもさっきから、気をつけろ、気をつけろって言ったって、いったいどう気をつければいいんだい!?

私なりの弱点の気をつけ方

今から説明することはマサムネットさんの記事を参考にしながら、自分なりに工夫し、分類の弱点を補いました。

株価は基本的には分類しにくいものですが、中には比較的分類しやすいものもあります。

例えば、25日移動平均線、60日移動平均線、100日移動平均線が上で待ち構えている株価があるとします。

明らかに一度、そこで上昇がストップしますよね?

他にも下落トレンドが始まり、しばらく続きそうなタイミングなどなど。

こんな風に比較的予測しやすいもののみに絞って、分類の結果を見ます。

f:id:doz13189:20161130185823p:plain

この図で言うと、境界線付近の結果は全く見ないということです。

機械が自信を持って、「この銘柄は明日上昇する」と言える結果のみを受け取ります。

具体的に言うと、教師データは様々なパターンで渡します。

過去20日の株価データで学習にしたモデル、過去60日で学習したモデルなどなど。

過去20日から200日、それぞれで学習したモデルを作り、モデルごとに株価を予測させます。

そこで正答率の良かったモデルのみを選んで、そのモデルで未知データを読み込み、予測します。

この正答率の良かったモデル、というのが味噌で、こうすることで境界線付近の曖昧なデータたちは省くことができます。

これがひとつ目。


ふたつ目は民主主義制をとっているところです。

システムに民主主義!?ナンセンスだ!っと思われる人もいるかもしれませんが...

先ほど正答率の良かったモデル、つまりエリートモデルで未知データを読み込み、予測させることを説明しました。

じゃあ、そのエリートモデルは完璧なのか?と聞かれるとそうではありません。

たまたま精度が高かったという偶然の可能性も十分にあります。

なので、精度の良かった複数のエリートモデルを選び、その複数のエリートモデルたちでひとつの銘柄を予測させ、多数決をとります。

  1. 過去20日を参考にしたエリートモデル UP
  2. 過去40日を参考にしたエリートモデル DOWN
  3. 過去60日を参考にしたエリートモデル UP
  4. 過去100日を参考にしたエリートモデル UP

この場合は明日の株価は上昇ということになります。

極めて民主主義的に決めているのです。

まとめると、エリート選抜かつ民主主義制なシステムと言えるでしょう。

まるで日銀政策決定会合のような感じですね笑

あとで話すと言った予測結果

11月22日までの過去株価データで23日の株価を予測しました。


対象銘柄

8306, 8411, 8591, 7012, 8058, 7201, 8604, 6301, 6501, 7267, 4528, 4755, 9437, 8750, 6502, 7011, 4043, 4503, 5411, 7751, 2685, 6752, 4689, 7261, 6770, 8801, 8031, 8802, 5401, 3092, 9501, 7013, 1605, 7897, 6503, 3402, 8113, 6702, 6326, 8001, 8304, 1928, 2503, 9531, 8308, 7752, 1801, 2579, 8601, 7272, 4005, 5938, 8830, 1925, 3064, 5802, 4041, 8795, 4188, 5020, 6857, 8725, 4346, 4912, 5233, 8729, 8267, 4911, 6619, 4183, 8053, 7731, 6952, 6361, 6479, 7202, 9202, 8358, 5406, 3099, 9962, 3407, 9502, 4506, 8697, 8630, 3659, 3778, 1812, 4042, 1802, 8002, 2802, 3401, 6644, 3405, 6305, 5201, 1963, 9101, 6724, 2871, 7167, 7182, 1803, 3086, 6701, 4185, 9062, 4536, 4508, 6178, 2371, 3103, 6432, 6471, 5105, 9507, 6481, 6460, 8354, 9104, 2212, 5714, 6448, 5801, 7211, 9508, 9697, 5334, 8303, 6506, 1808, 8331, 5706, 8252, 8015, 6302, 6756, 9513, 3668, 2282, 6268, 8586, 5110, 4217, 8570, 3116, 5711, 9064, 5333, 4088, 9008, 8233, 6473, 6976, 5803, 5486, 4202, 3289, 1332, 5101, 6472, 8515, 9005, 7186, 6841, 9404, 6113, 2580, 7205, 4204, 3626, 6366, 7282, 8334, 9024, 9006, 7912, 5214, 3632, 9506, 4208, 7240, 2002, 2264, 2181, 8473, 8848, 4845, 4902, 5012, 7606, 6740, 7003, 6504, 3861, 6995, 7550, 2193, 9831, 6103, 4182, 6755, 5707, 7732, 9107, 2811, 6141, 3193, 1893, 4321, 7911, 4151, 6383, 4613, 4974, 4568, 3436, 9532, 8410, 8086, 8369, 9045, 5713, 9041, 9201, 9503, 8572, 8355


予測はこんな形で出力されます。

code predict real
8306 Down Down
8411 - Down
8591 Up Up
8058 Down Up

predict = 機械が出した予測です。
real = 23日に実際に上昇したかどうかです。realってもう少し関数名考えろよってあとから見てちょっと思います。
リアルって聞くと出川の顔がチラチラ脳裏を横切ったりしますが、そもそも関数名をつけるセンスのなさには定評があるので勘弁してください。

「-」この小さいマイナスになっているところは、エリートモデルたちの意見が同数で決めきれなかった場合です。

このUpとUp、あるいはDownとDownが一致すれば予測が当たったということになります。

これらをすべて集計した結果、正答率は53.99%でした。

しかし、50%を超えたのはここだけ...

22日、21日、17日と検証を重ねていくと、47.86%、44.9%、49.75%と50を割ってしまう結果に...

今のところ、検証は4日間だけしか行っていません。(マシンパワーが足りまてん)

予測結果がブレることは当たり前なので、もっと検証を重ねて分散、平均などをだしていきたいのはやまやまなんですが...

なんせ一つの検証に結構時間がかかるので、スパコン欲しいです。

もし、平均50%を割ることになれば、この機械に従順に従い売買を重ねると順調に損していくことになります。

じゃあ、これは失敗なのか?機械との付き合い方を考える

私はそうは思っていません。

もし、仮にこの機械の平均正答率が50%だとしましょう。

結果の出力はかなりの銘柄数出してくれるので、人間がその出力された銘柄に絞って実際に売買する銘柄を選ぶとします。

そうすれば、自動的に正答率50%は確保されることになります。


人間は良くも悪くもパフォーマンスの分散は大きいです。

調子のいい日、悪い日があります。

そんな調子の悪い日でも50%が確保されることになります。


これは機械と力を合わせて、銘柄を選択しよう、ということです。

機械はまだまだ頼りきれるほどの信頼性はありません。

とくに今回は...(50%きっちゃってそうですしね)

だから協力するのです。


将棋で一番強いのは、機械でも人間でもありません。

人間と機械が一緒に戦うフリースタイルです。


機械の考え方、人間の考え方、両方取り込むということで相乗効果を生むと私は考えます。

といいつつも今後工夫する点

今回はリターンインデックスのみで判断しました。


シンプルすぎて、そこまで正答率も上がらなかったのだと思います。

他にもいろいろと指標はあるので、追加することで精度が上がるかトライアンドエラーをしていきます。

〜更新1〜

ちゃんと検証をしてみました。

doz13189.hatenablog.com

〜更新2〜

っぽいのができた

doz13189.hatenablog.com

〜更新3〜

株価予測のサービスをリリースしました。

doz13189.hatenablog.com

〜更新4〜

機械学習での株価予測についての記事をまとめました【おすすめ記事】

doz13189.hatenablog.com

デュアルブートでいれたUbuntuが起動しない問題

目次

昨日断捨離しました

Ubuntu内の容量がかなり切羽詰まってきたので、昨日断捨離しました。

使っていないカーネルなんかを一斉に削除したり、いらないピクチャをポイしたり...

まとめてライブラリのアップグレードを行ったり...

きっとまずいものを途中で捨ててしまったんでしょうね...

Ubuntuを起動できなくなってしまいました。

f:id:doz13189:20161115183112j:plain

この黒い画面から進まない絶望感は半端ないです。

原因

たぶん、Ubuntuの場所がわからなくなっている。

まぁ、そんなことより復旧が大事。

中には卒論のデータや今まで書いてきたコードが入っているんです。

バックアップは容量が足りなくて、とっていなかったんです。(絶望)

修復の流れ

そんなこんなで修復を諦めるという選択肢はなかったので、必死にググりました

なんとかなったので、修復の流れをまとめました。

  1. Liveメディアからubuntuを起動
  2. Boot Repairで修復

LiveメディアからUbuntuを起動する

デュアルブートUbuntuを入れている人なら、誰しもはじめUbuntuをPCに入れるとき、USBあるいはCDに保存して、それを読み込んでインストールしたと思います。

そのUSBあるいはCDを使って、Ubuntuを立ち上げます。

HDDからUbuntuを読み込むことができないなら、他の方法でとりあえずUbuntuを立ち上げようと言う作戦です。

Liveメディアへのアクセス方法はその人の環境に依存するので、詳しくはググってください。

私の場合(Let's Note CF-SX1)は、はじめの「Panasonic」の画面でF2です。

そのまま、USBにアクセスできます。

Boot Repairで修復

無事、Ubuntuに入れたでしょうか?

Liveメディアから立ち上げているので、まっさらなUbuntuです。

ここでTeminalをひらきます。

このTeminalから、Boot Repairというソフトウェアを使って、HDDに入っている方のUbuntu2を修復します。

そのため、まずはBoot Repairをインストールする必要があります。(デフォルトでははいっていないんですね)

インストールの方法はUbuntu12.04 〜Ubuntu13.10の人と、Ubuntu 14.04以降の人ではコードが変わってくるので注意。

~$ sudo add-apt-repository ppa:yannubuntu/boot-repair

これはUbuntu12.04 〜Ubuntu13.10までの人用のコードです。

~$ sudo add-apt-repository ppa:kranich/cubuntu

こっちがUbuntu14.04以降の人用です。

これがわからなくて、私はずっとネットをさまよっていました。

とにかく、これでPPAのリポジトリが追加されたはずです。

これが終わったら以下のコードをTerminalに打ち込みます。

~$ sudo apt-get update
~$ sudo apt-get install -y boot-repair

これでリポジトリの取得、最新化が終了し、インストールを行います。

~$ boot-repair

ではboot-repairを立ち上げます。

f:id:doz13189:20161115185655j:plain

recommended repair(おすすめの修復)をクリックします。

あとは出てくるポップアップを読みながら、適宜コードを入力していれば、修復が完了するはずです。

まとめ

何とかなってホッとしています。

ググれば何とかなるんですね。

黒い画面を見ながら、復旧できなかったときのために、教授への言い訳を必死に考えてました。

きっとこの記事を読んでいる人も何かしらのエラーが起こっていることでしょう笑

きっと大丈夫です。

ググればなんとかなります。

グッドラック!


【参考サイト】

tylerhandstone.hateblo.jp

kledgeb.blogspot.jp

単回帰分析で株価を予測してみる

目次

今回すること

単回帰分析(最小2乗法)で株価を分析し、上昇しそうな株を見つけよう、ってことを今回やってみたいと思います。

実際に上昇しそうな株を見つけて、運用シミュレーションも行いました。

よくわかる解説

ざっくり言うと、株価の中に一次式(y = ax + b)を見つけようという話です。

f:id:doz13189:20161112234848p:plain

こうじっくりと株価を見ていると、一次式が見えてきませんか?

f:id:doz13189:20161112234948p:plain

ズドーン!!

これは完全に手動で線を引いたのですが、これをPCでやってみようということです。

そして、今引いた一次式の傾きはマイナスですよね。

そのため、もし、この銘柄がこの一次式に従って明日以降株価をつけることになれば、続落することになります。


今回は、傾きがプラスの一次式を見つけていきたいと思います。

傾きがプラス = 将来も上昇が見込まれる

これを買えば、利益が出るんじゃ...

っとこんな感じで進めていきます。

手順

  1. 2016/9/1〜2016/9/30の株価データを取得してくる
  2. 各銘柄のデータを元に最小2乗法でパラメータを学習
  3. 完成したモデルの変数a(傾き)が0以上の銘柄を抽出
  4. R2乗決定係数を計算して、決定係数0.6以上の銘柄を抽出
  5. めでたく上昇株の抽出が完了
  6. シミュレーションで運用してみた

日本語で説明しますと、

一ヶ月分の株価データを取得してきます。

このデータを使って、一次式を見つけます。

複数銘柄でこれを行っていき、見つけた一次式の傾きがプラスのものだけを抽出します。

ここで一つ問題があります。

一次式を見つけたは良いけど、まったくあてにならない一次式もあります。

例えば...

f:id:doz13189:20161113000735p:plain

確かに一次式は見つけました。

でも、株価が暴れすぎてて一次式に全く従っていません。

こういう場合は全く参考にならないので、省きたいです。

省くための作業が手順4です。

この決定係数0.6以上というのは、この銘柄の60%の株価は、一次式に従っているという意味になります。

なので、ある程度一次式に収まっている銘柄のみをこの作業で抽出することができます。

これでめでたく上昇株の抽出が完了です。

せっかく見つけた株は、本当に上昇株かどうかを確かめてみます。

自分のお金を削るのはいやなので、PC上でシミュレーションをします。

見つけてきた株を次の日の始値で買い、19日後の終値で売ります。

「19日」である理由はこの本の中に!

ロボット運用のプロが分析してわかった 最強の株式投資法

ロボット運用のプロが分析してわかった 最強の株式投資法

まぁ、別に日数には特にこだわっていません。

別に7日でもいいんです。

売る日数が多少ブレるくらいで利益が損失に変わるようであれば、そこまで良いストラテジーではないですからねー。

実際にやってみる

対象銘柄(コード表記)

2685, 3092, 3436, 1605, 3402, 1928, 2503, 1801, 2579, 1925, 3064, 3099, 3407, 3659, 3778, 1812, 1802, 2802, 3401, 3405, 1963, 2871, 1803, 3086, 2371, 3103, 2212, 1808, 3668, 2282, 3116, 3289, 1332, 2580, 3626, 3632, 2002, 2264, 2181, 3861, 2193, 2811, 3193, 1893

対象銘柄は売買高10億円以上で、1株あたり3000円以下のものを対象にしています。

企業コードは、1000〜4000までにしています。(あまり多すぎるとPCが火を吹くから)


抽出された銘柄

企業コード 変数a(傾き) 決定係数
code_2579 21.83007519 0.786459606337
code_3659 8.62857143 0.820553859034
code_1963 10.93684211 0.768322427837
code_2371 8.34586466 0.636582826282
code_2212 9.93609023 0.610254322522
code_2282 6.94887218 0.693626352138
code_2580 20.30827068 0.876403201773
code_2264 8.31203008 0.894825026426
code_2811 13.90902256 0.773928591471
code_3193 37.75714286 0.949618158408

これらが今回抽出された上昇するであろう株です。

運用シミュレーション

これらの上昇株を100株、株価取得期間の次の日の始値で買い、18日間保有して、19日後の終値で売ります。

つまり、今回は2016/10/3の始値で買い、2016/10/21の終値で売ることになります。

結果...

企業コード 変数a(傾き)
code_2579 +6300
code_3659 +3900
code_1963 +12200
code_2371 -1500
code_2212 -5500
code_2282 3000
code_2580 -1600
code_2264 1900
code_2811 400
code_3193 19500

トータルの損益は+38600円でした。

なんと利益がでちゃいましたね。笑

軽い考察

まず、考えなければいけないのが、株価は一次式で表せるのか、について。

複雑にうねりながら上昇下落を繰り返す、株価は今回の結果を見る限りでは、まだなんとも。

このあと8月分のデータで試行してみたところ-21560円という結果に。

まだまだ改良の余地がありそうです。


ただ、実際はこれでシストレを行う気はありません

もし、上昇トレンドの株をプログラミングで見つけることができれば、日々の銘柄探しがうんと楽になるのでそういった使い方をしていこうなぁと思います。

ソシャゲ系会社同士の株価の相関をとってみた

目次

今日やること

ソーシャルゲーム系の会社同士の株価の相関をとります。

新作が当たれば株価が上がり、新作がハズレれば株価が下がり...

暴騰したと思えば、暴落して...

と、株価の動きが激しいソーシャルゲーム系の会社。


もう上がるときはどこまで上がるのか少し予想がつきづらいですね。

そういうときは、株価の動きが似た会社を参考にすればある程度は天井が予測できるのかな、と思ったので、とりあえずどことどこの株価の動きが似ているのかを調べてみます。

そして、その結果をseaborn(最近よく使っているpythonのライブラリ。キレイにプロットできる)を使って、プロットします。

だいたい6ヶ月分の株価を取得して、相関をとります。

結果発表

f:id:doz13189:20161112030639p:plain

上から
code_2121 : mixi
code_2432 : DeNA
code_3668 : コロプラ
code_3765 : ガンホー
code_9766 : コナミHD

行列で相関をとっています。

下と上は表示している内容が一緒なので、下半分は表現方法を変えてみました。

数値で見ると。

mixi DeNA コロプラ ガンホー コナミHD
mixi 1 -0.25963525 0.76632659 0.84763592 -0.82744506
DeNA -0.25963525 1 -0.60384986 -0.14132976 0.49656536
コロプラ 0.76632659 -0.60384986 1 0.66132166 -0.66657306
ガンホー 0.84763592 -0.14132976 0.66132166 1 -0.60877667
コナミHD -0.82744506 0.49656536 -0.66657306 -0.60877667 1

軽い考察

目を見張るのは、コナミHDmixiの逆相関具合。

マイナス0.8なので、相当強い逆相関っぷりですね!


ガンホーmixiはプラス0.8と強い相関を示しています。

ガンホーが暴落or暴騰したときはmixiの過去の株価の動きを参考にすれば、見えてくるものがありそうですね。


全体的に見ると、コナミHDDeNAは他社に対して逆相関を示しがちですね。

株価の調子の良さが出ているのだと思います。


ただ、単純に調子の良いのならDeNAのように他社にさほどの相関を見せずに上がるはずです。

コナミHDの経営は多角化していますが、今のコナミHDの調子の良さはソシャゲ部門の貢献が大きいということがこの結果からわかると思います。

ソシャゲは顧客の取り合いがあからさまにでる分野ということもあり、キレイに相関関係がでましたね。

おわり。


【参考サイト】

Lec60-65_株価のデータ解析

大統領選の世論調査はどれが正しいのかを検証してみた

目次

なぜ検証するのか?

世論調査は発表されていますが、いったいどの結果が最も真実に近いがわかりません。

ブレグジット世論調査通りで行けば、残留派が優勢であったにも関わらず結果は離脱。

世論調査という手法自体に精度の限界はありますが、その中でも最も精度の高い世論調査の結果を知りたいですよね。

世論調査は実施の仕方で大きく結果がブレるので、(日本でも実施するメディアが右派か左派かで結果が全く異なりますよね)、この検証でまともな世論調査をしているメディアを見つけ出したいと思います。

複数メディアが実施している世論調査

www.realclearpolitics.com

このHPによると、クリントン46.6、トランプ44.9で、クリントンが1.7ポイントリードという状況です。

ただ、この結果の問題点として、すべてのメディアが実施している世論調査の平均をとっている点が上げられます。

適当な調査結果も、厳密な調査結果も対等というのはまずいですよね。

実施しているメディアによって多少結果は異なりますし、実際には世論調査の結果の誤差は5ポイント程度あると言われています。

(メディア総じてクリントン応援ムードなので、一部では本当にこの世論調査は真実なのか、という声もあるほどです。)

そのため、この調査結果の数字を全面的に信用できるかというと、そうではないことがわかると思います。

なので今回は、どのメディアの世論調査最も世論の意見を反映しているかについて検証します。

対象メディア

  • FOX NewsFOX News
  • CNN/ORCCNN/ORC
  • Reuters/IpsosReuters
  • Economist/YouGovEconomist


この4つのメディアが実施している世論調査に絞り今回は検証していきます。

この4つのメディアは年初から10回〜20回ほどの世論調査を実施しているので、十分なデータ量であると判断しました。

他のメディアは実施回数があまりに少なかったです。(実施回数3,4回が多かった印象です)

検証方法

Google Trendsと各メディアの実施している世論調査の相関をとりました。

Google Trends(グーグルトレンド)は、ある単語がGoogleでどれだけ検索されているかというトレンドをグラフで見ることができるツール。

検索ワード : 「Donald Trump」& 「Hillary Clinton」

場所 : US (アメリカ合衆国国内で検索されたワードのみを計上)

現在はクリントン65、トランプ55であり、クリントンのほうが良く検索されていることがわかります。

最近、逆転してますね。

世論調査Google Trendsの関連性

Googleはネット環境のあるすべての人が使用できるツールであり、とくにアメリカ国内では圧倒的なシェアを誇ります。

そのため、Googleで検索されている数が多い = 関心度が高い と言えます。

そして、Google Trendsを利用する最も大きな理由として、データのサンプル数が十分だからです。

google Trendsのデータにブレはないと考えていいと思います。


次に、今回の大統領選の特徴的な部分として、お互いが過去に闇を抱えていることが上げられます。

トランプは過去の暴言等々、クリントンはメールの私的利用や汚職等々。

これらの真実を知りたいアメリカ国民が必死にググっていることがGoogle Trendsからも見て取れます。

クリントンのメール私的利用に関してFBIが再調査を開始したタイミングもピッタリ一致していますね。

とすると今回の大統領選に限り、Googleで検索されることはマイナス要因であることが言えます。

検索数が上がる = スキャンダラスな過去が暴かれる

とすれば、検索数が上がれば、世論調査での支持率は下がると考えると、Google Trendsの検索数と世論調査は逆相関するのではないでしょうか。

仮説

少々無理やりですが、今回の検証はGoogle Trendsと逆相関している世論調査が、最も適切に世論の意見を反映しているとします。

結果

仮説どおり、Google Trendsと逆相関を示す世論調査がありました。

グラフの見方
Poll(Trump) : 濃い赤色の線。上のメディアが実施しているトランプの支持率を表しています。
Google(Trump) : ピンク色の線。Google Trendsでトランプが検索されている数。
Poll(Clinton) : 青色の線。上のメディアが実施しているクリントンの支持率を表しています。
Google(Clinton) : 緑色の線。Google Trendsでクリントンが検索されている数。

FOX NewsFOX Newsの結果

f:id:doz13189:20161106205153p:plain



世論調査実施期間 : 6/21 〜 11/3
調査実施回数 : 計16回

トランプの検索数と世論調査の相関 : -0.2

クリントンの検索数と世論調査の相関 : -0.3

ほぼ0なので、無相関に近いと言えます。

FOX NewsFOX Newsが行っている世論調査Google Trendsに相関関係はありません。

どういった調査方法なのかは知りませんが、ここの世論調査結果ははたして信用していいのだろうか...

もちろん、仮説が正しい前提ですが...

CNN/ORCCNN/ORCの結果

f:id:doz13189:20161106205917p:plain

世論調査実施期間 : 8/13 〜 10/23
調査実施回数 : 計10回

トランプの検索数と世論調査の相関 : -0.5

クリントンの検索数と世論調査の相関 : 0.2

トランプに関して言えば、ある程度逆相関関係がありました。

しかし、-0.5なので、それほど気にするほどの数字ではありませんね。

クリントンはほぼ0です。

あまり、いい結果はでませんでした。

Reuters/IpsosReutersの結果

f:id:doz13189:20161106210401p:plain

世論調査実施期間: 6/4 〜 11/4
調査実施回数 : 計23回

トランプの検索数と世論調査の相関 : -0.8

クリントンの検索数と世論調査の相関 : -0.3


トランプに関して言えば、強い逆相関があると言えます。

ここは調査回数も多く、データが豊富だったため、ある程度の関連性が見えてきたのだと思います。

ただ、クリントンに関してはパッとしないですね。

Economist/YouGovEconomistの結果

f:id:doz13189:20161106210711p:plain

世論調査実施期間 : 6/2 〜 11/1
調査実施回数 : 計21回

トランプの検索数と世論調査の相関 : -0.7

クリントンの検索数と世論調査の相関 : -0.68


どちらも逆相関が表れました。

目視でも、逆相関している様子が伺えますね。

ここも調査回数が多かったので、いい結果が出たのだと思います。

結論

Economist/YouGovEconomistによる世論調査が最も世論の意見を反映していると、今回の検証では明らかになりました。

f:id:doz13189:20161106210711p:plain

ここの世論調査の結果では、クリントン48、トランプ45と3ポイント差をつけてクリントンがリードしていることがわかります。


この検証を通して共通して言えるのは、データ数がある程度多ければ、それだけ相関関係もはっきりと出ました。

ただ、どのメディアも実施回数がそれほど多くありませんでした。(3〜4回くらいのメディアが多数)

実施回数がそれほど多くないメディアも含めて、平均し世論調査として発表しているので、その数字はあまり信用できないのではないでしょうか。

しっかりとした調査を行っているメディアの結果を参考したいですね。


※アメリカの選挙方法は少し特徴的なので、世論調査の結果と直結しません。

統計学の知識が浅いので、いたらない点が多いと思います。なので、こんな結果もあるよ〜ぐらいで楽しんでください。

ジェイテクト 6473 〜売買記録〜

証券コード:6473

銘柄名: ジェイテクト

売買:買い

エントリー日付:2016/11/1

エントリー価格予定:成行注文1544円

保有株数:100

決済価格: 成行注文1569 円

決済日付:2016/11/1

損益: + 2111 円

損益率: + 1.3 %

保有期間: 1 日間

【買い理由】

f:id:doz13189:20161101172624p:plain

f:id:doz13189:20161101172636p:plain

下値が硬そうだったので、反発狙いで買いを入れたのですが...

よく考えると反発したあとのこと考えずに買いを入れていました。

どこまで反発したら利食いだとかはやっぱり買う前に決めておかないと。

いつもは複数のストーリーを考えるのですが、ちょっと気が緩んでいたのかも。

ここ2週間ほどは市場が元気なので、こういったアバウトな取引が許されるかもしれませんが、今の上昇トレンドが崩れたときにアバウトな取引をしていると痛い目を見ると思うので、しっかりと反省です。

【売り理由】

しっかりと反省するために出直し。。。