検証データ ドル円とポンドドル
2023/05/30 9:00 ~ 2023/06/01 8:00
元のデータフレームから積カラムが負である行だけを選択
import pandas as pd
import matplotlib.pyplot as plt
CSVファイルからデータを読み込む
df = pd.read_csv("prtice_53031.csv")
データフレームのカラム名を指定する
df.columns = ['Date','USDJPY', 'GBPJPY','EURJPY','EURUSD','GBPUSD']
プロットのサイズを指定する
fig, ax = plt.subplots(figsize=(10, 8))
USD/JPYの折れ線グラフを描く
ax.plot(df.index, df['USDJPY'], color='b')
ax.set_xlabel('Date')
ax.set_ylabel('USDJPY', color='b')
ax.tick_params('y', colors='b')
GBP/USDの折れ線グラフを描く
ax2 = ax.twinx()
ax2.plot(df.index, df['GBPUSD'], color='r')
ax2.set_ylabel('GBPUSD', color='r')
ax2.tick_params('y', colors='r')
プロットを表示する
それぞれ前の行との差分を求めてカラムを作成
df['USDJPY_diff'] = df['USDJPY'].diff()
df['GBPUSD_diff'] = df['GBPUSD'].diff()
差分カラム同士の積を計算してカラムを作成
df['product'] = df['USDJPY_diff'] * df['GBPUSD_diff']
積カラムが負である行だけを選択
df_negative = df[df['product'] < 0]
データを表示する
print(df_negative)
例えば 43行目 この結果は、データフレームの43行目の値を示しています。USD/JPYは0.0420円上昇し、GBP/USDは0.000792ドル下降しました。その積は-0.000033となり、負の値です。これは、この時間帯にUSD/JPYとGBP/USDは逆相関があったことを意味します。