【VTI】MATLAB、Pythonで株価予測 その46【周波数解析⑩】

【VTI】MATLAB、Pythonで株価予測 その46【周波数解析⑩】 株価予測
【VTI】MATLAB、Pythonで株価予測 その46【周波数解析⑩】

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

はじめに

前回は、新たなVTIチャートの取得と確認、MATLAB、Python(Numpy)で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

新VTIチャートの周波数特性

太郎くん
太郎くん

前回は新VTIチャートにFFTとIFFTができるか確認できたんで、
今回から、実際に周波数特性を見て行くって感じかな?

フクさん
フクさん

そうだね。
早速、前回のMATLABのplotを確認してみよう。

新VTIチャートをMATLABのFFT、IFFTで元に戻せるか確認、f(t)、F(ω)、f(x)
太郎くん
太郎くん

10Hz以下で見た場合、突出しているのは
1[Hz]、3[Hz]、5[Hz]、7[Hz]
ってところかな?

フクさん
フクさん

とりあえず、3[Hz]だけ抽出してみるか。

新VTIチャートから3[Hz]だけを抽出

太郎くん
太郎くん

使用するコードとしてはこの回のやつで良いよね?

フクさん
フクさん

それでOKだ。

太郎くん
太郎くん

ただ、そのままだと5[Hz]が抽出されちゃうんで、

% 特定周波数のみ抽出
Fw_Filter=Fw_tmp;
Hz = 5;
Low = Hz-0.1;
High = Hz+0.1;

% 特定周波数のみ抽出
Fw_Filter=Fw_tmp;
Hz = 3;
Low = Hz-0.1;
High = Hz+0.1;
太郎くん
太郎くん

こんな感じで修正すれば3[Hz]が取り出せるはずだ。

結果

太郎くん
太郎くん

実行結果としてはこうなったよ。
あと、3[Hz]の極大値と極小値に赤点線を入れておいた。

新VTIチャートをMATLABで3Hzと抽出して極大値と極小値に赤点線
太郎くん
太郎くん

なんかそれっぽく特性と掴んでるようには見えるね。

フクさん
フクさん

中々望ましい結果が出始めてきた感じだな。

一応Python(Numpy)でも

太郎くん
太郎くん

さらについでにPython(Numpy)もやっておこう。

新VTIチャートをPython(Numpy)で3Hzと抽出して極大値と極小値に赤点線
フクさん
フクさん

Python(Numpy)でも同じことができるってことだな。

フクさん
フクさん

というわけで、次回からは他の周波数でも試していく。

まとめ

フクさん
フクさん

まとめだよ。

  • 新VTIチャートの周波数特性を確認。
    • 1[Hz]、3[Hz]、5[Hz]、7[Hz]あたりが突出している。
  • まずはお試しで3[Hz]を抽出して確認。
    • かなり特徴を表していることが分かる。
    • Python(Numpy)でも同様のことができることを確認。

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

コメント

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