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社の出来高には弱い負の相関関係がある

- 

- 

- 

- 

'''