さくら VPS Python 豪ドル/円 4時間足予測

予測最終日時取得関数まとめ

ここまでで、予測最終日取得関数の説明が完了しました。
この関数をまとめると以下のようになります。


  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

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

予測最終日時取得関数を使用して、 manep_4h/mane_chart_go_4h.csv デ-タの中の日時のラスト
Datea[-1]
から4時間足6本後の予測最終日時を求めます。
関数 addBusinessDays_4h(current_date, business_days_to_add_h)
に渡す引数は datetime 型である必要があります。
Datea[-1] は文字型ですので、これを datetime 型に変換します。
文字列を datetime に変換するのが strptime() 関数です。
書式は
datetime.datetime.strptime(文字列, 書式指定文字列)
です。
Datea[-1] は
2022/04/15 00:00:00
のように年月日と時分秒が記述されていますので
tstr = Datea[-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 ファイルを作成します。

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

    予測日時 lastday[0] に対応する予測値は
    p_pand = np.round(p(Idx6),3)
    Numpy polyfit 関数で豪ドル/円4時間足予測 参照、となっており、ここに4時間足6本分のデ-タがあります。
    この二つの配列 予測日時 lastday[0]と 予測値 p_pand とを一緒にして CSV ファイルにすることができれば
    「予測日時/予測値 一覧」
    にすることができます。

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

    2つの配列を pandas concat 関数を使用して横(列)方向へ連結することにします。
    まずは、それぞれの配列を DataFrame 型に変換します。
    これで、pandas で操作することが可能になりました。
    import pandas as pd
    lastday_pd = pd.DataFrame(lastday[0])
    p_pand_pd = pd.DataFrame(p_pand)
    この2つを pandas concat 関数で横(列)方向へ連結します。
    横(列)方向指定 axis = 1 を忘れないでください。
    df_concat = pd.concat([lastday_pd, p_pand_pd], axis = 1)
    これを csv ファイルとして保存します。
    保存するファイルフォルダ名は絶対パスで指定します。
    今回は解析した結果を入れておく
    /home/yamada/public_html/manep-img/
    フォルダに保存することにします。
    そして、header=False, index=False としてヘッダとインデックスは保存なしとします。
    df_concat.to_csv(
    '/home/yamada/public_html/manep-img/mane_chart_go_4h.csv', header=False, index=False)


ここまで、長々と予測グラフを表示するための準備をしてきました。
引き続き、豪ドル/円ロ-ソク4時間足と予測値を表示していきます。


  • 豪ドル/円ロ-ソク4時間足と予測値の表示 に進む
  • X 軸日付予測4時間足最終日時取得 に戻る
  • Numpy polyfit 関数で豪ドル/円4時間足予測 に戻る
  • 豪ドル/円 4時間足 CSV ダウンロ-ドデ-タ グラフ化 に戻る
  • マネパ 4時間足 CSV ダウンロードファイル作成 に戻る
  • 4時間足ダウンロ-ドファイル名変更 に戻る
  • Money Partners サイト 4時間足デ-タ取得 に戻る
  • 70VPS に戻る