9.3. 課題#
9.3.1. 課題1#
ここからはYahoo! FINANCEの株価データを用いて相関関係の可視化を行います。
収集する株価データの期間は3ヶ月以上で任意に期間をセットしてください。 またどの銘柄のデータを収集するかも任意でセットしてください。 銘柄の名前はYahoo! financeなどで調べることができます。
import numpy as np
import pandas as pd
from datetime import datetime
import yfinance as yf
from pandas_datareader import data as pdr
def make_df():
end = datetime(2019,3,1) #任意の値を設定してください
start = datetime(2018,3,1) #任意の値を設定してください 株価が存在しない日付にするとエラーになる場合があります。
yf.pdr_override()
companies = [] #任意の値を設定してください
# 例: GOOG: google, TSLA: Tesla, Inc., F: Ford Motor Company, Cisco Systems, Inc.
dfs = []
for company in companies:
globals()[company] = pdr.get_data_yahoo(tickers=company, start=start, end=end)
dfs.append(globals()[company] )
item = 'Adj Close' # 'Adj Close', 'Open', 'High', 'Low', 'Volume' から任意の値を設定してください
df = pd.DataFrame()
i=0
for df_i in dfs:
df = pd.concat([df,pd.DataFrame({companies[i]:df_i[item]})],axis=1)
i += 1
return df
df = make_df()
df
に関して以下の問いに答えてください。
9.3.1.1. 課題1.0(回答例)#
このDataFrame(df)は何行ありますか?
一つのint型の値を返します。
# 課題の回答は関数(引数無し)の中に全て書いてください。
def answer_zero():
# どのようなフォーマットで回答すべきか問題文に従ってください。
ans = df.shape[0]
return int(ans)
# 回答を確認するためには、次のような1行で回答を記入した関数を呼び出すことで確認できます。
answer_zero()
9.3.1.2. 課題1.1#
DataFrame(df)に格納した変数のうち2つの変数(銘柄)を選び相関係数を示してください。
def answer_one():
return "YOUR ANSWER"
次のセルを実行して回答を示してください
answer_one()
9.3.1.3. 課題1.2#
DataFrame(df)に格納した変数(銘柄)全ての相関行列を示してください。
1つのDataFrame型の値を返します。
def answer_two():
return "YOUR ANSWER"
次のセルを実行して回答を示してください。
answer_two()
9.3.1.4. 課題1.3#
DataFrame(df)に格納した変数のうち2つの変数(銘柄)を選び散布図を描いてください。
回答は1つの散布図を示します。
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
def answer_three():
plt.show()
次のセルを実行して回答を表示させてください。
answer_three()
9.3.1.5. 課題1.4#
課題1.1から課題1.4までで確認したdf
に関する相関関係について、確認できた事項をできる限り多く列挙してください。
次のセルに回答を記入してください。
'''
- (例) A社とB社の出来高には弱い負の相関関係がある
-
-
-
-
'''