気になる株ニュースをQuantopianでサクっと確認してみる

これは，[Geek Women Japan Advent Calendar 2017 - Qiita](https://qiita.com/advent-calendar/2017/geekwomenjapan)3日目にポストです．

## ホントかな？と思ったら Quantopian で確認しよう
昨日の[Tokyo Quantopian User Group Vol.02 - connpass](https://quantopian-tokyo.connpass.com/event/71872/)で初心者向けの勉強会に来てくれた皆様，ご参加ありがとうございました．今後ともQuantopian仲間や株等の分析仲間と増やしていくべくがんばります:laughing:
当日の様子はこちら[Tokyo Quantopian User Group Vol.02 - Togetter](https://togetter.com/li/1177540)


今日は，タイトルの通り，気になるニュースをQuantopianで確認してみよう！というのをやってみます．
11月11日（土）1時38分配信の[ガンドラック氏の不吉な警告的中か－ジャンク債とハイテク株相関復活(Bloomberg)](https://news.finance.yahoo.co.jp/detail/20171111-31901469-bloom_st-bus_all)
というニュースが気になったのでさっそく[Quantopian](https://www.quantopian.com/)で確認してみました．

## 記事を要約すると

「ハイ・イールド債が売られ始めると，テクノロジー銘柄にも売りが波及する．」というのが昔からよく見る光景．


## やること

「ハイ・イールド債が売られ始めると，テクノロジー銘柄にも売りが波及する．」というのは本当か？

## 確認

### Quantopianのリサーチ機能を使って分析
Quantopianのリサーチ機能を使って確認してみましょう．Quantopianにログインして，Researchという Jupyter Notebook を使います．ここでは，Quantopianが提供してくれる，株価データや企業データ，SNS等のビッグデータ等が無料で利用できます．すごい！

今回は，ETF の JNK(SPDR BARCLAYS HIGH YIELD BOND) と XLK (TECHNOLOGY SELECT SECTOR SPDR FUND) で確認してみます．

```python
df = get_pricing(["JNK","XLK",],start_date='2013-12-31', end_date='2017-11-11', fields="price")
df = df.rename(columns=dict([(c, c.symbol) for c in df.columns])) 
df_return = np.log(df / df.shift(1))
df_return.cumsum().plot()
```
![output_0_1.png](https://qiita-image-store.s3.amazonaws.com/0/14019/df3407a5-5d67-6b81-090d-c24f89f5a95c.png)

う〜ん．JNKが落ち始めると，XLKも後をおっているようにみえるかな．

### pandas の機能を使ってもう少し分析

```get_pricing``` で取得したデータは pandas の DataFrame です．なので，dataframe で使える機能を使ってもうちょっと詳しく分析していきます．

```python
## 5日間のReturnの移動相関を演算．
df_return["JNK_XLK_5dCorr"] = df_return["JNK"].rolling(window=5).corr(other=df_return["XLK"], )
df_return["JNK_cumsum"] = df_return["JNK"].cumsum()
df_return["XLK_cumsum"] = df_return["XLK"].cumsum()
## プロット
df_return[["JNK_cumsum", "XLK_cumsum", "JNK_XLK_5dCorr"]].plot(secondary_y="JNK_XLK_5dCorr")
```

![output_2_1.png](https://qiita-image-store.s3.amazonaws.com/0/14019/3ef15a5e-4b05-9089-8046-c4c288a87d18.png)

赤の線が XLKとJNKの5日間の相関を毎日プロットしたものです．ヒストグラムをとってみましょう．

```python
df_return["JNK_XLK_5dCorr"].plot(kind="hist",bins=50)
```

![output_3_1.png](https://qiita-image-store.s3.amazonaws.com/0/14019/d72be02e-1aec-c0ce-5693-f14e91b528fe.png)

相関高い日が多いですね．quantileメソッドで5％以下だけ取得します

```python
x = df_return.dropna().quantile(0.05, )["JNK_XLK_5dCorr"]
df_return["JNK_XLK_5dCorr_lowCorr"] = df_return["JNK_XLK_5dCorr"] < x
# 条件にあった日付だけ取得
df_return[df_return["JNK_XLK_5dCorr_lowCorr"]].index
```

```
DatetimeIndex(['2014-01-09', '2014-01-10', '2014-04-04', '2014-04-07',
               '2014-04-25', '2014-04-28', '2014-04-29', '2014-05-05',
               '2014-06-25', '2014-06-26', '2014-07-30', '2014-10-02',
               '2014-11-03', '2014-11-11', '2014-11-12', '2014-11-13',
               '2014-11-14', '2014-11-17', '2014-11-18', '2014-11-19',
               '2014-11-20', '2014-11-26', '2014-11-28', '2014-12-26',
               '2014-12-29', '2015-01-26', '2015-04-13', '2015-04-14',
               '2015-06-03', '2015-06-08', '2015-06-09', '2015-07-17',
               '2015-07-20', '2015-08-18', '2015-09-17', '2015-11-25',
               '2015-11-27', '2016-04-25', '2016-04-26', '2016-04-27',
               '2016-06-03', '2016-11-03', '2016-11-30', '2016-12-27',
               '2017-03-08', '2017-05-03', '2017-08-29', '2017-09-28',
               '2017-09-29'],
              dtype='datetime64[ns, UTC]', freq=None)
```

では，JNKは5日前から当日まで，XLKは当日から5日後までの価格の変化率をだして，上記の日付に該当する日だけをプロットしてみましょう．

```python
df['JNK_change_from_5days_before'] = df['JNK'] / df['JNK'].shift(-5) - 1
df['XLK_change_after_5days_future'] = df['JNK'].shift(5) / df['JNK'] - 1
```

```python
df.loc[df_return[df_return["JNK_XLK_5dCorr_lowCorr"]].index].plot(kind='scatter', 
                                                                  x = "JNK_change_from_5days_before",
                                                                 y = "XLK_change_after_5days_future")
```

![output_12_1.png](https://qiita-image-store.s3.amazonaws.com/0/14019/a82d02ff-449f-3014-f5d7-fd358ce37589.png)

元記事の【「ハイ・イールド債が売られ始めると，テクノロジー銘柄にも売りが波及する．」というのが昔からよく見る光景．】というのはピンクで囲んだところ，という事になります．
ほうほう．そうかもしれませんね．

これにbetするためにはもう少し分析しないと怖いですね．どなたか，ぜひよろしくお願いします．

## すぐ確認出来るQuantopian

株式データをかき集める事はとても時間がかかる事ですが，Quantopianにログインするだけで必要なデータはすぐ利用出来ます．データ分析に集中することが出来るのはありがたいことです．しかも無料．これは使わない手はない！

## Quantopianは，アルゴリズムトレードも出来ます

[どりらんさんの「Quantopianチュートリアル」](https://qiita.com/search?q=Quantopian%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB&sort=created)を見てみてください．


## そんな Quantopian の勉強会をしています．

[Tokyo Quantopian User Group](https://quantopian-tokyo.connpass.com/)では今後もQuantopianを使って勉強会をしていきたいと思っています．よろしくお願いいたします．

## その他の勉強会

1. 女性のテクノロジーコミュニティ[GTUG Girls](https://gtuggirls.connpass.com/)は，2ヶ月に1回程度初心者向けのハンズオンイベントを開催しています．来年7年目を迎えます．女性エンジニアの輪を広げていきましょう！

1. 金融関係のニュースやFintech関連の話題を話したり，時々もくもくしたりする勉強会，[月刊フィントーク](https://fintalk.connpass.com/)もやっていますのでぜひ．


明日はPyLadiesTokyoの[ガンダムの人(@chanmitsu55)](https://twitter.com/chanmitsu55)だ＼(^o^)／