バックナンバーはこちら。
https://www.simulationroom999.com/blog/stock-predict-matlabpython-backnumber/
はじめに
前回、さらに適切な周波数を特定できないか検討し始めたところ。
10[Hz]じゃなくて9.7[Hz]が実はより適切だったかも。
ってあたりが動機。
今回は、そこの解決策を説明する。
登場人物
博識フクロウのフクさん

イラスト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ことDFTだ。

何が違うというのだ・・・。
FFTことDFTはそもそも離散的

フーリエ変換とDFTは別物だ。
まぁ目的が一緒なので、同一とも言えるのだけど、
最大の違いはDFTは離散的で、フーリエ変換は連続的ってところだな。

いやいやいや!
その前にDFT、FFTってフーリエ変換のデジタル版でしょ?
そこに対して離散だ、連続だって言われても、
「そりゃそうじゃん!」
にしかならないじゃん!

まずそこが認識違いだな。

何が違うというのだ・・・。(2回目)

DFTはフーリエ変換からの拡張概念ではなく、
複素フーリエ係数からの拡張概念なんだよね。
根っこの部分が違う。

あ。
そういえば、そういうこと以前言ってたような・・・。

ここで言った記憶はある。

うーん、ここら辺は、いろいろ情報が山のようにと言うか津波のように来たので、ぶっちゃけほぼ覚えてない。

(マジかーい。)

まぁどっちにしても、一旦別物を思ってもらった方が良いな。
フーリエ変換をどう使う?

で、フーリエ変換が連続的ってことだから、
DFT,FFTのように整数倍の周波数以外も拾えるって理屈だと思うのだけど、
具体的に何をどうすれば良いのかが全く分からん。

ぶっちゃけ私もわからん。

なんじゃそりゃーー!!

フーリエ変換をそのままプログラムとして扱う場合、いろいろ問題があるんだよね。

そ、そうなの?

まず、フーリエ変換の数式を確認しよう。
\(\displaystyle F(\omega)=\int^{\infty}_{-\infty} f(t)e^{-i\omega t}dt\)

うん。
なんか、やっべー雰囲気を醸し出してる式だったのだけ覚えてる。

積分の範囲が\(-\infty~\infty\)の範囲。
\(f(t)\)が連続的な関数。
\(F(\omega)\)も連続的な関数。
これらを解決してあげる必要がある。

さらに、逆フーリエ変換で元の時間領域に戻す必要があるんで、
逆変換を想定した構造にする必要もあるな。

????

まぁ私もちょっと考える時間が欲しいから、次回に細かく解説しようと思う。

(もうお腹一杯なんだけど・・・。)
まとめ

まとめだよ。
- 細かい周波数特性の取り方としてフーリエ変換を利用することとした。
- フーリエ変換とDFT,FFTは別物。
- 目的が一緒なので、本来は気にしなくても良いが、今回に限っては別物扱いせざるを得ない。
- フーリエ変換の連続的、範囲が∞であることがプログラム化に対しての大きな課題。
- そもそも出来るのかもわからん。
バックナンバーはこちら。
マンガでわかるフーリエ解析
文系編集者がわかるまで書き直した 沁みる「フーリエ級数・フーリエ変換」
マーケットのテクニカル分析 ――トレード手法と売買指標の完全総合ガイド
株価チャートの教科書
テクニカル投資の基礎講座 ──チャートの読み方から仕掛け・手仕舞いまで
勝ち続ける投資家になるための 株価予測の技術[決定版]
Pythonで儲かるAIをつくる
アセットマネージャーのためのファイナンス機械学習
Pythonによるファイナンス 第2版 ―データ駆動型アプローチに向けて (オライリー・ジャパン)
コメント