USDJPYの動きを予測する4
検証したいこと
- 510日が翌日USDJPY上昇or下落にどれほど影響しているか
- 月末日が翌日USDJPY上昇or下落にどれほど影響しているか
https://www.fxtrade-lab.com/11015
サイトによると、輸入企業のフローが入りやすくドル円は上昇しやすいみたい。(ドル→円の需要が入る)
また、月末も輸入のフローが入りそうなので、一応確認。
やったこと
- 毎月5,10,15,20,25(休みなら翌営業日)の前営業日を選択する(フラグたてる)
- 毎月最終営業日の前営業日を選択する(フラグたてる)
- フラグたった場合と、それ以外でUpDownに違いがありそうか
いま、翌営業日のUpDownを予測しているので、9/5のUpDownは9/4の正解ラベルとして格納しているので、510日の前営業日を選択。
フラグが立っている(510日の前営業日である)のであれば、翌営業日は上昇しやすいのでは?ということ。
コード
# 510日の前営業日にフラグ立てていることに注意 def specific_date(time_index: np.array) -> pd.Series: # empty series fivetenday = pd.Series(np.zeros(len(time_index)), index = time_index) lastday = pd.Series(np.zeros(len(time_index)), index = time_index) first_index = time_index[0] last_index = time_index[-1] target = first_index while target <= last_index: # make mark to slice fiveten_mark = [] fiveten_mark.append(target.replace(day = 5)) fiveten_mark.append(target.replace(day = 10)) fiveten_mark.append(target.replace(day = 15)) fiveten_mark.append(target.replace(day = 20)) fiveten_mark.append(target.replace(day = 25)) lastday_mark = target.replace(day = calendar.monthrange(target.year, target.month)[1]) # choose target date from time index for j in range(len(fiveten_mark)): if fiveten_mark[j] > first_index: # selected = [i for i in time_index if i >= fiveten_mark[j]][0] selected = [i for i in time_index if i < fiveten_mark[j]][-1] fivetenday[selected] = 1 if lastday_mark <= last_index: # selected = [i for i in time_index if i <= lastday_mark][-1] selected = [i for i in time_index if i <= lastday_mark][-2] lastday[selected] = 1 # next target month target = target + relativedelta(months = 1) return fivetenday, lastday five_ten_days, last_days = specific_date(USDJPY.index.values ) df_features['510Flag'] = five_ten_days df_features['LastDayFlag'] = last_days view = pd.concat([data['UpDown'], data['510Flag']], axis = 1) ax = sns.countplot(x = '510Flag', hue = 'UpDown', data = view) fig = ax.get_figure() fig.savefig('output/fig1.png') view = pd.concat([data['UpDown'], data['LastDayFlag']], axis = 1) ax = sns.countplot(x = 'LastDayFlag', hue = 'UpDown', data = view) fig = ax.get_figure() fig.savefig('output/fig1.png')
抜き出しているので、変数が一致していなかったりします。
結果
510日
最終営業日
見事にどちらも影響なさそうでした!!ありがとうございます!!
日次ではなく日中の動きといったもっと短いスパンでも動きを捉えるうえで参考とするものなのかもしれません。。