Python FFT & IFFT

豪ドル/円 CSV デ-タ FFT 解析まとめ

ここまで、豪ドル/円 CSV ダウンロ-ドデ-タ FFT 解析プログラムの個々に区切った説明をしてきました。
引き続き、これまでの内容をまとめたファイルを以下に示します。


  #!/usr/bin/python3
  # -*- coding: utf-8 -*-
  import pandas as pd
  import numpy as np
  import matplotlib.pyplot as plt
  xl_df = pd.read_csv("/home/yamada/public_html/manep/mane_chart_go.csv", encoding="cp932")
  Close0 = xl_df["終値(売り)"].values
  app = Close0[-1:]
  app1 = np.hstack((app, app, app, app, app))
  Close1 = np.hstack((Close0, app1))
  cent = np.average(Close1)
  Close2 = Close1 - cent
  fs = len(Close2)
  t = np.linspace(0, fs-1, fs)
  plt.plot(t, Close2)
  plt.show()
  f = np.fft.fft(Close2)
  # フーリエ変換(FFT)
  f_abs = np.abs(f)
  plt.plot(f_abs[:int(fs/2)+1])
  plt.show()
  fc = 10    # cut off
  f[fc:] = 0 # low pass filter
  f_abs = np.abs(f)
  plt.plot(f_abs[:int(fs/2)+1])
  plt.show()
  f_ifft = np.fft.ifft(f*2)
  # 逆フーリエ変換(IFFT)
  f_real = f_ifft.real
  # 実数部のみにする
  plt.plot(t, f_real)
  plt.show()

本内容を TeraPad 等で作成したら、ファイル名を適当に
si_fft_filter-go.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.py ファイル動作確認

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

  • si_fft_ifft-go.py 実行結果-1
  • Matplotlib の表示画面が出現し、上図のような元波形のグラフが表示されますので ×印をクリックして、次に進めます。
    今度は、フーリエ変換(FFT)波形が表示されます。

  • si_fft_ifft.py 実行結果-2
  • 再び、×印をクリックして、次に進めます。
    今度は、ロ-パスフィルタ処理後の FFT 結果画面が表示されます。

  • si_fft_ifft.py 実行結果-3
  • 再び、×印をクリックして、次に進めます。
    今度は、ロ-パス処理後の IFFT 結果画面が表示されます。
    ノイズ波形がなくなっているのを確認することができます。

  • si_fft_ifft.py 実行結果-4
  • ここまでで、豪ドル/円 CSV ダウンロ-ドデ-タ FFT 解析 プログラムの確認が終わりました。
    引き続き、豪ドル/円チャ-トロ-ソク足表示 に進みます。


  • 豪ドル/円チャ-トロ-ソク足表示 に進む
  • 豪ドル/円 CSV デ-タ FFT 解析 に戻る
  • FFT & IFFT Filter プログラムまとめ に戻る
  • FFT & IFFT Filter プログラム に戻る
  • 単純な FFT & IFFT プログラム に戻る
  • Python FFT & IFFT 概要 に戻る
  • 70VPS に戻る