Win11 WSL2 Ubuntu Python FFT & IFFT
予測最終日時取得関数使用
ここまでで、予測最終日時取得関数が作成できました。
引き続きこの関数を使用して行きます。
次の内容が参考になります。
さくら VPS Python 豪ドル/円 4時間足予測
--豪ドル/円 CSV ダウンロ-ドデ-タをロ-ソク足表示 ①
--X 軸日付予測4時間足最終日時取得 ②
--予測最終日時取得関数まとめ ③
--豪ドル/円ロ-ソク4時間足と予測値の表示 ④
--豪ドル/円4時間足予測まとめ
具体的に予測最終日時取得関数を使用します。
③の資料を参考にします。
予測最終日時取得関数を使用して
manep_4h/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本分が 年/月/日 時の文字列型で入っています。
元デ-タロ-ソク足表示
元デ-タをロ-ソク足表示する準備が整いました。
④を参考にしてファイル化します。
ついでに予測値も一緒に表示します。
ohlc = zip( Idx_100, Open_100, High_100, Low_100, Close_100) fig = plt.figure( figsize=(8.34, 5.56)) ax = fig.add_subplot(1,1,1) ax.grid() # 解析結果予測値表示 plt.plot(t_106, result_106) # ----- candlestick_ohlc( ax, ohlc, width=0.5, alpha = 1, colorup='r', colordown='g') plt.xticks(xD, xDate) plt.title('AUS$ / JPY chart') plt.xlabel('Date') plt.ylabel('Yen') # plt.savefig( # '/home/yamada/public_html/manep-img/fft_go_long_4h.png') # ) plt.show()
予測値の保存
予測値結果を保存します。
2つの配列(予測日と予測値)を pandas concat 関数を使用して横(列)方向へ連結することにします。
まずは、それぞれの配列を DataFrame 型に変換します。
これで、pandas で操作することが可能になりました。
import pandas as pd
print("予測値=最終日時 +1~+6本")
valhe = np.round(result_106[100:], 3) #3桁まで表示
valhe_pd = pd.DataFrame(valhe)
lastday_pd = pd.DataFrame(lastday[0])
この2つを pandas concat 関数で横(列)方向へ連結します。
横(列)方向指定 axis = 1 を忘れないでください。
df_concat = pd.concat([lastday_pd, valhe_pd], axis = 1)
これを csv ファイルとして保存します。
保存するファイルフォルダ名は絶対パスで指定します。
そして、header=False, index=False
としてヘッダとインデックスは保存なしとします。
df_concat = pd.concat([lastday_pd, valhe_pd], axis = 1)
print(df_concat)
df_concat.to_csv(
'/home/yamada/public_html/manep-img/fft_go_long_4h.csv',
header=False, index=False)
ここまで、FFT 解析による豪ドル/円予測Ⅱについて小出しにその詳細を説明してきました。
引き続き、これを一つのファイルにまとめます。