目安:この記事は3分で読めます
前回は、低下基調の米金利がグロース株へ与える影響について、相関分析を用いて分析してみました。
未読の方は、以下のリンク先でご覧ください。
-
【前編】急速に低下する米金利!米国グロース銘柄へのインパクトをPythonで分析してみよう!
続きを見る
中編の今回は、前編の相関分析で用いたPythonコードの紹介となります。
コピー&ペーストすれば、誰でもコードが動くように編集しています。
ぜひ、最後までご覧ください!
中編のテーマ
Pythonコードの紹介 実際に手を動かして遊んでみよう!
▼ Pythonを効率的に学ぶなら ▼
Pythonを学ぼう
▼ Udemyおすすめの講座 ▼
▶現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
▶ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門
この記事の対象となる人
こんな人におすすめ
- Pythonに興味がある人
- Pythonを学びたいと思っている人
- Pythonを使って株価の分析をしたい人
この記事でわかること
わかること
- Pythonを使って価格チャートを描画したり相関マトリクスを作成する方法
Pythonコード:チャートの描画
まずは、前編の初めのほうで載せた価格チャートのPythonコードから紹介します。
ザっとコードの一覧をお見せします。
コードの一覧
#必要なライブラリのインポート import pandas as pd import matplotlib.pyplot as plt %matplotlib inline import yfinance import datetime #最後のデータ取得日を設定 end = datetime.date.today() #価格データの取得 nasdaq = yfinance.download(tickers='^IXIC', start='2021-04-01',end=end, auto_adjust=True, interval='1d') us10yt = yfinance.download(tickers='^TNX', start='2021-04-01',end=end, auto_adjust=True, interval='1d') #価格データの統合 df = pd.concat([nasdaq.Close,us10yt.Close],axis=1) #カラムの設定 df.columns = ('Nasdaq','US10YT') #チャートの描画 fig = plt.figure(figsize=(15,10)) ax1 = fig.add_subplot(111) ax1.plot(df['Nasdaq'],color='black', lw=3) ax1.set_ylabel('Nasdaq',fontsize=20) ax2 = ax1.twinx() ax2.plot(df['US10YT'],color='green', lw=3) ax2.set_ylabel('US10YT',fontsize=20) plt.grid()
結果
上のコードを実行すると、以下のチャートが描画されます。
ぜひ、上のコードをコピペして試してみてください。
Pythonコード:相関係数
次に、Pythonで相関係数をはじき出すコードについて紹介します。
上と同じく、ザっとコードの一覧を紹介します。
まずは価格ベースの相関係数からです。
コードの一覧
#必要なライブラリのインポート import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline import yfinance import datetime #価格データを取得する期間を設定 from_may = '2021-05-13' end = datetime.date.today() #取得する価格のティッカーコードを設定 ticker_list = ['CRWD', 'ZS', 'NCNO', 'ZI', 'U', 'AVLR', ] us_yield = '^TNX' #Yahoo!financeから価格データを取得 stock1 = yfinance.download(tickers=ticker_list[0], start=from_may,end=end, auto_adjust=True, interval='1d') stock2 = yfinance.download(tickers=ticker_list[1], start=from_may,end=end, auto_adjust=True, interval='1d') stock3 = yfinance.download(tickers=ticker_list[2], start=from_may,end=end, auto_adjust=True, interval='1d') stock4 = yfinance.download(tickers=ticker_list[3], start=from_may,end=end, auto_adjust=True, interval='1d') stock5 = yfinance.download(tickers=ticker_list[4], start=from_may,end=end, auto_adjust=True, interval='1d') stock6 = yfinance.download(tickers=ticker_list[5], start=from_may,end=end, auto_adjust=True, interval='1d') us_yield = yfinance.download(tickers=us_yield, start=from_may,end=end, auto_adjust=True, interval='1d') #価格データの統合 data = pd.concat([stock1.Close, stock2.Close, stock3.Close, stock4.Close, stock5.Close, stock6.Close, us_yield.Close], axis = 1) #データカラムの設定(今回はティッカーコード) data.columns = ('CRWD', 'ZS', 'NCNO', 'ZI', 'U', 'AVLR', 'US10YT') #相関係数の計算 data.corr() #米金利をベースに相関係数を並び替え data.corr().sort_values(by='US10YT')
今回は、ひとつひとつ価格のデータを取得するスタイルにしましたが、関数(def)や繰り返し文(for)を使えば、コードを簡略することができます。
結果
上のコードを実行すると、以下の相関マトリクスが表示されます。
次は、騰落率ベースの相関係数を計算するコードを紹介します。
データの取得と統合までは一緒です。
ポイントは以下のことです。
騰落率を計算するコード
コードの一覧
#騰落率を計算する diff_data = data.pct_change()*100 #騰落率を計算すると最初のデータが空になる #その空のデータを削除する diff_data.dropna(inplace=True) #相関係数を計算 #米金利をベースに相関係数を並び替える diff_data.corr().sort_values('US10YT')
結果
上のコードを実行すると、騰落率ベースの相関マトリクスが表示されます。
前編でも指摘しましたが、価格ベースの相関係数とは全く違う値であることがわかります。
最終回の後編は、今回紹介したPythonコードについて詳しく説明します。
アップするまで上のコードをコピペしたり、変数を変えたりして遊んでみてください!
Pythonを学びたい方へ
今やPythonは、あらゆる分野で使われているプログラミング言語です。
Pythonを学んでおけば株式の投資に役立つだけでなく、これからのキャリアを形成する上でも力強い武器となるでしょう。
『私もPythonを学んでみたい!』
という人は以下のリンク先をご覧ください。
▼ Pythonを効率的に学ぶ方法を知りたいなら以下をクリック ▼
Pythonを学ぼう
なぜプログラミングを学ぶ必要があるのか?その理由がわかります。
そして、『これがPythonを効率的に学ぶ方法だ!』と自信をもっておすすめする学習方法について解説しています。
この記事と出会ったのも何かの縁です。
ぜひチャレンジしてみてください!
独学がどうしても苦手な人はメンター制度が充実しているプログラミングスクールをおすすめします。
▼Pythonを学ぶならテックアカデミー▼
▶現役エンジニアのパーソナルメンターからマンツーマンで学べる
▶データサイエンスコース
▲独学が苦手な人におすすめ▲
注記事項
当サイトのコンテンツを参考に投資を行い、その後発生したいかなる結果についても、当サイト並びにブログ運営者は一切責任を負いません。すべての投資行動は『自己責任の原則』のもとで行ってください。