Python FFT & IFFT

豪ドル/円チャ-トロ-ソク足表示

ここまでで、豪ドル/円 CSV ダウンロ-ドデ-タ FFT 解析 プログラムの確認が終わりました。
引き続き、豪ドル/円チャ-トをロ-ソク足表示し、ロ-パス処理後の IFFT 結果と重ね合わせて 表示できるようにします。
豪ドル/円チャ-トロ-ソク足表示に関しては、
ロ-ソク足本体の表示
豪ドル/円 CSV ダウンロ-ドデ-タ グラフ化ファイルまとめ
に詳細を記述していますので、参照してください。
必要なファイル内容を以下に抜粋しました。


  #!/usr/bin/python3
  # -*- coding: utf-8 -*-
  import datetime
  def addBusinessDays(from_date, add_days):
    cur_date8 = [] # 21/03/30
    cur_date4 = [] # 3/30
    business_days_to_add = add_days
    current_date = from_date
    while business_days_to_add > 0:
      current_date += datetime.timedelta(days=1)
      weekday = current_date.weekday()
      if weekday >= 5: # sunday = 6
        continue
      #土日は以下はスキップ
      # 年/月/日として文字列にする
      #例 21/03/30      
      e11 = current_date.strftime("%y/%m/%d")
      e22 = e11.replace("/0", "/")
      e33 = e22[3:] # 21/ 削除
      cur_date8.append(e22)
      cur_date4.append(e33)
      business_days_to_add -= 1
    return cur_date8, cur_date4

  import pandas as pd
  import numpy as np
  from datetime import datetime as dt
  import matplotlib.pyplot as plt
  from mplfinance.original_flavor import candlestick_ohlc
  xl_df = pd.read_csv("/home/yasuhiro/public_html/manep/mane_chart_go.csv", encoding="cp932")

  Open = xl_df["始値(売り)"].values
  High = xl_df["高値(売り)"].values
  Low = xl_df["安値(売り)"].values
  Date = xl_df["日付"].values
  Idx = xl_df.index
  tstr = Date[-1]
  tdatetime = dt.strptime(tstr, '%Y/%m/%d %H:%M:%S')
  # 文字列をdatetimeに変換するのがstrptime()関数
  # datetime.datetime.strptime(文字列, 書式指定文字列)
  lastday = addBusinessDays(tdatetime, 5)

  xDate = []
  xD = []
  for i, key in enumerate(Date):
    if(i % 10 == 0):
      e4 = str(key)[4:10]
      e6 = e4.replace("/0", "/")
      e8 = e6.lstrip("/")   
      xDate.append(e8)
      xD.append(i)

  xDate.append(lastday[1][4])
  xD.append(i + 5)

  Close0 = xl_df["終値(売り)"].values

  # FFT解析計算はここに挿入

  ohlc = zip(
   Idx, Open, High, Low, Close0)

  fig = plt.figure(
   figsize=(8.34, 5.56)) #③

  # python スクリプトと Jupyter とでは、
  # matplotlib の図のサイズが違うので注意
  ax = fig.add_subplot(1,1,1)  #④
  ax.grid()
  
  # FFT解析結果表示はここに挿入

  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.show()
  # plt.savefig(
  # '/home/yamada/public_html/manep-img/mane_chart_go-fil.png')

本内容を TeraPad 等で作成したら、ファイル名を適当に
si_fft_filter-go-01.py
として保存します。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。
保存先はホスト Wimdows OS の 共有フォルダ c:\vb_public_html にして、 ブラウザでアクセスできるようにします。
なお、
c:\vb_public_html
はゲスト OS Ubuntu のなかの
/home/yamada/public_html
とリンクしていて共有フォルダの関係にあります。
詳細は ユ-ザ-ごとの公開ディレクトリを用意する を読んでみてください。

si_fft_filter-go-01.py ファイル動作確認

それでは s_fft_ifft-go-01.py ファイルを実行してみましょう。
Ubuntu ディスクトップにある □>_ アイコンから端末画面を開き、 public_html ディレクトリに移動します。
yamada@ubuntu-20:~$ cd public_html
私の Virtual Ubuntu も 20.04LTS にアップグレ-ドしてしまいました。
yamada@ubuntu-20:~/public_html$ python3 si_fft_filter-go-01.py
として確認します。

  • si_fft_ifft-go-01.py 実行結果
  • Matplotlib の表示画面が出現し、上図のようなロ-ソク足表示が見えれば OK です。

    ここまでで、豪ドル/円チャ-トロ-ソク足表示 プログラムの確認が終わりました。
    引き続き、このロ-ソク足表示にロ-パス処理後の IFFT 結果を重ねて表示します。


  • FFT 解析による豪ドル/円予測 に進む
  • 豪ドル/円 CSV デ-タ FFT 解析まとめ に戻る
  • 豪ドル/円 CSV デ-タ FFT 解析 に戻る
  • FFT & IFFT Filter プログラムまとめ に戻る
  • FFT & IFFT Filter プログラム に戻る
  • 単純な FFT & IFFT プログラム に戻る
  • Python FFT & IFFT 概要 に戻る
  • 70VPS に戻る