Python Colaboratory Ⅲ

RNN 豪ドル/円4時間足予測最終日時取得

4時間足予測をすると予測最終日時がいつなのか知りたくなります。 そのためにはある日時 current_date から4時間ずつ延長する回数 business_days_to_add_h 後の日時
cur_date8 書式例:21/03/30 12~
を求める必要があります。
これにより24時間先までの予測日時6本のそれぞれの日時を知ることができます。
これを求める関数
addBusinessDays_4h(current_date, business_days_to_add_h)
の作成方法については
X 軸日付予測4時間足最終日時取得
予測最終日時取得関数まとめ
のなかで詳しく説明していますので参照してください。
関数 addBusinessDays_4h( )
をまとめると次のようになります。

  
import datetime
def addBusinessDays_4h(current_date, business_days_to_add_h):
# current_date : 処理する初日の日時 例) 2022-02-03 00:00:00
# business_days_to_add_h : 4時間ずつ延長する回数 
  cur_date8 = [] # 21/03/30 12~
  cur_date4 = [] # 3/30
  man_f = 1 #月曜フラグ 0 or 1
  doyo_f = 0  #土曜フラグ 0 or 1
  current_date0 = current_date
  weekday0 = current_date0.weekday()
  if(weekday0 == 0): #月
    man_f = 0
    
  while business_days_to_add_h > 0:
    current_date += datetime.timedelta(hours=4)
    weekday = current_date.weekday()
    hour_doyo = current_date.hour
    if weekday == 6: # sunday = 6
      continue
    if((weekday == 5) and (hour_doyo == 8)): #土
      doyo_f = 1
    if((weekday == 5) and (doyo_f == 1)): #土
      continue
        
    if((weekday == 0) and (man_f == 1)): #月
      man_f = 0 
      continue
  # 年/月/日 時刻として文字列にする処理
  # 例 22/03/30 12~     
    e11 = current_date.strftime("%y/%m/%d %H")
    e22 = e11.replace("/0", "/")
    e22 = e22 + "~"
    e33 = e22[3:] # 22/ 削除
    cur_date8.append(e22)
    cur_date4.append(e33)
    business_days_to_add_h -= 1
  return cur_date8, cur_date4

予測最終日時取得関数使用

予測最終日時取得関数 addBusinessDays_4h( ) を使用して、 colab_mane_chart_go_4h.csv デ-タの中の日時のラスト
Date[-1]
から4時間足6本後の予測最終日時を求めます。
関数 addBusinessDays_4h(current_date, business_days_to_add_h)
に渡す引数は datetime 型である必要があります。
Date[-1] は文字型ですので、これを datetime 型に変換します。
文字列を datetime に変換するのが strptime() 関数です。
書式は
datetime.datetime.strptime(文字列, 書式指定文字列)
です。
Date[-1] は
2022/04/15 00:00:00
のように年月日と時分秒が記述されていますので
tstr = Date[-1]
tdatetime = datetime.datetime.strptime(tstr, '%Y/%m/%d %H:%M:%S')
とすると日時のラストは datetime 型の日時に変換されます。
後は、予測最終日時取得関数を呼び出すだけで予測最終日時 lastday を求めることができます。
lastday = addBusinessDays_4h(tdatetime, 6)
答えは
lastday[1] に予測最終日までの4時間足6本が 月/日 時の文字列型で入っています。
予測最終日時は lastday[1][5] (cur_date4) に入っています。
ちなみに lastday[0] (cur_date8) には予測最終日時までの6本が 年/月/日 時の文字列型で入っています。

予測日時/予測値の一覧表作成

予測日時とその予測値の一覧表をつくるための CSV ファイルを作成します。
予測日時 lastday[0] に対応する予測値を f_result ととすると
この二つの配列 予測日時 lastday[0]と 予測値 f_result とを一緒にして CSV ファイルにすることができれば
「予測日時/予測値 一覧」
にすることができます。
取り敢えず
app = Close[-1:]
f_result = np.hstack((app, app, app, app, app, app))
とします。

予測日/予測値の配列を合体

2つの配列を pandas concat 関数を使用して横(列)方向へ連結することにします。
まずは、それぞれの配列を DataFrame 型に変換します。
これで、pandas で操作することが可能になりました。
import pandas as pd
lastday_pd = pd.DataFrame(lastday[0])
f_result_pd = pd.DataFrame(f_result)
この2つを pandas concat 関数で横(列)方向へ連結します。
横(列)方向指定 axis = 1 を忘れないでください。
df_concat = pd.concat([lastday_pd, f_result_pd], axis = 1)
これを csv ファイルとして保存します。
df_concat.to_csv(
'colab_mane_chart_go_keras_4h.csv',
header=False, index=False)
そして、header=False, index=False としてヘッダとインデックスは保存なしとしました。

ここまでで RNN 豪ドル/円4時間足予測最終日時取得説明が完了しました。
引き続き、これをファイルにまとめます。


  • RNN 豪ドル/円4時間足予測最終日時取得ファイル に進む
  • RNN 豪ドル/円4時間ロ-ソク足表示スクリプトまとめ に戻る
  • 豪ドル/円 4時間ロ-ソク足表示 に戻る
  • RNN 豪ドル/円4時間足予測ファイル動作確認 に戻る
  • RNN 豪ドル/円 4時間足予測ファイル に戻る
  • RNN 豪ドル/円 4時間足予測 に戻る
  • 70VPS に戻る