12
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Geek Women JapanAdvent Calendar 2017

Day 3

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

Last updated at Posted at 2017-12-03

これは,Geek Women Japan Advent Calendar 2017 - Qiita3日目にポストです.

ホントかな?と思ったら Quantopian で確認しよう

昨日のTokyo Quantopian User Group Vol.02 - connpassで初心者向けの勉強会に来てくれた皆様,ご参加ありがとうございました.今後ともQuantopian仲間や株等の分析仲間と増やしていくべくがんばります:laughing:
当日の様子はこちらTokyo Quantopian User Group Vol.02 - Togetter

今日は,タイトルの通り,気になるニュースをQuantopianで確認してみよう!というのをやってみます.
11月11日(土)1時38分配信のガンドラック氏の不吉な警告的中か-ジャンク債とハイテク株相関復活(Bloomberg)
というニュースが気になったのでさっそくQuantopianで確認してみました.

記事を要約すると

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

やること

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

確認

Quantopianのリサーチ機能を使って分析

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

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

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

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

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

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

## 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

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

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

output_3_1.png

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

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日後までの価格の変化率をだして,上記の日付に該当する日だけをプロットしてみましょう.

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
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

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

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

すぐ確認出来るQuantopian

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

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

どりらんさんの「Quantopianチュートリアル」を見てみてください.

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

Tokyo Quantopian User Groupでは今後もQuantopianを使って勉強会をしていきたいと思っています.よろしくお願いいたします.

その他の勉強会

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

  2. 金融関係のニュースやFintech関連の話題を話したり,時々もくもくしたりする勉強会,月刊フィントークもやっていますのでぜひ.

明日はPyLadiesTokyoのガンダムの人(@chanmitsu55)だ\(^o^)/

12
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?