【FFT】MATLAB、Pythonで株価予測 その22【IFFT①】

【FFT】MATLAB、Pythonで株価予測 その23【IFFT②】 株価予測
【FFT】MATLAB、Pythonで株価予測 その23【IFFT②】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/stock-predict-matlabpython-backnumber/

はじめに

前回までで、VTIやそれのチャート関連の話をやったところ。

今回から実際にFFT、IFFTを使ってみる。
とは思っているが、そもそもFFT、IFFTがどういった入出力をするのかを確認したい。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

FFT、IFFTを使えるか?

太郎くん
太郎くん

よし!
こんどこそVTIチャートをFFT、IFFTに掛けるぞ!

フクさん
フクさん

ちょい待ち!

太郎くん
太郎くん

(またか・・・。)

太郎くん
太郎くん

まだ何かあるの?
もうFFT、IFFTの性質とかVTIチャートも揃ってるから、何か残ってる印象は無いんだけど。

フクさん
フクさん

FFTとIFFTの実際の特性を事前に掴んでおいた方が良いかと思って。

フクさん
フクさん

FFTがどういう値を返してるかってわかってる?

太郎くん
太郎くん

うーんと周波数的な何か?

フクさん
フクさん

1[Hz]のsin波があるとして、FFTはどのような値を返す?

太郎くん
太郎くん

え?1[Hz]なんだから1[Hz]?

フクさん
フクさん

1[Hz]って値が返ってくるの?

太郎くん
太郎くん

いや、なんかパワースペクトル的な感じが返ってきてた気がするが、
具体的に何かってのはちょっと分からないな・・・。

フクさん
フクさん

それが分らないと分析にもならないんで、
まずはシンプルな波形でFFT、IFFTの特性を認識する方が先かなって思ったわけだ。

太郎くん
太郎くん

確かに言われてみると、まともに使いこなせる自信は全くなくなったな・・・。

シンプルな波形

太郎くん
太郎くん

で、フクさんの言うシンプルな波形って何を使うの?

フクさん
フクさん

さっきも言ったsin波や、
異なる周波数のsin波の合成波を使う予定。
こちらで意図的に作った波形なので、合成した周波数は自明な状態なので、いろいろ分かり易いとは思う。

太郎くん
太郎くん

なるほど。
確かに1[Hz]のsin波を入れる場合だったら、FFTは1[Hz]に相当する結果を返すはずだもんね。

フクさん
フクさん

あとはFFTが想定する1周期三角関数の1周期異なるんで、その点も要確認事項だな。

太郎くん
太郎くん

うーん、その話は以前から出てきてはいるけど、
イマイチ、ピンと来てないんだよなー。

フクさん
フクさん

なら、なおさら要確認してしっかり特性を認識すべきだね。

太郎くん
太郎くん

なるほど。
割と重要なイベントな気がしてきた。

確認環境

太郎くん
太郎くん

で、何で確認するの?
MATLAB?Python?

フクさん
フクさん

基本はMATLABかな?
同じことを確認できるPythonコードも起こすつもりだけど。

太郎くん
太郎くん

あ、ちゃんと両方やるのね。
タイトル詐欺にならないか心配になったんだよね。

フクさん
フクさん

(なんかぶっちゃけMATLABだけでも良いんじゃね?って思ってるけどね。中の人が)

太郎くん
太郎くん

(MATLABとPythonだと1オリジンか0オリジンかのせいで同じ目的のコードなのに微妙に調整が違ったりするから面倒そうとは思うけどね。中の人が)

まとめ

フクさん
フクさん

まとめだよ。

  • FFT、IFFTの入出力って実は良く分かってない。
    • よって、自明且つシンプルな波形を入れて評価して見た方が良い。
      • 自明且つシンプルな波形はsin波とかそれらの合成波。
  • 実験はMATLABで実施するが、Pythonコードを起こす予定。
    • ぶっちゃけメンドクサイとは思ってるけど頑張ってやる。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました