MATLAB

株価予測

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

IFFT後の波形の振幅の増幅は最大値を比較して、その比率を使用して増幅係数を決定。 一応5Hzの抽出はできたが・・・。 ここらへんの考察はPythonコードを作成した後に実施予定。
株価予測

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

FFTの出力をローテーションしている都合、サンプリング数は偶数が望ましい。 頑張って調整すれば奇数でも行けるはずだがメンドイのでやらない。 無事、VTIチャートの周波数特性及びそこからのVTIチャートへの逆変換ができた。 しかし、VTIチャートの周波数特性自体に何かしら問題が・・・。
株価予測

【FFT】MATLAB、Pythonで株価予測 その34【IFFT⑬】

MATLABのインデックス検索には線形インデックス検索と論理インデックス検索がある。 線形インデックス検索はC言語の配列の添え字の考え方と一緒だが、添え字に設定できる値がベクトルにできる。 C言語はスカラーのみ。 論理インデックス検索は渡すベクトルの1かtrueのところだけが参照できる。 それぞれ書き換えも可能。
株価予測

【FFT】MATLAB、Pythonで株価予測 その33【IFFT⑫】

MATLABで超簡易バンドパスフィルタ実施。 コード開示&結果確認。 想定通り、3Hzだけ抽出で来た。 3[Hz]と-3[Hz]以外を0にしてる部分のコードが妙。 論理インデックス検索という手法を使っている。
株価予測

【FFT】MATLAB、Pythonで株価予測 その30【IFFT⑨】

FFT出力の周波数分布をローテーションをMATLABで実施。 複素共役が0点を中心とした線対称になるように配置。 この配置の方が確認し易さ、処理のし易さが増す想定。 よって、配置が意識できていればやらなくてもOK。 効能は実際の処理をする際に確認。
株価予測

【FFT】MATLAB、Pythonで株価予測 その29【IFFT⑧】

MATLABでベクトルローテーションをさせたい場合はcircshift関数を使えばOK。 ただし、次元指定の罠がある。 デフォルト次元が列方向なので、行ベクトルに対して行うとローテーションされない。 (実際には列方向にローテーションはされてると思う) [0,3]のように列行それぞれにローテーション数を指定する。
株価予測

【FFT】MATLAB、Pythonで株価予測 その28【IFFT⑦】

IFFTにも活躍してもらうため簡易的なバンドパスフィルタを実施予定。 周波数分布関数の後半に複素共役が居るため、これも同等の処置が必要。 複素共役の位置を分かりやすくするため、マイナス側に持ってくる予定。 ベクトルに対するシフト、ローテーションで対応可能。なはず。
株価予測

【FFT】MATLAB、Pythonで株価予測 その26【IFFT⑤】

複数の周波数のsin波を合成したもの対してFFT&IFFT実施。 波形の合成は単純に足し算するだけ。 想定通りの周波数分布になった。 試しに入力サンプリング期間を2倍に伸ばしてみた 想定通り、周波数が2倍になる分布に変化。
株価予測

【FFT】MATLAB、Pythonで株価予測 その24【IFFT③】

引き続きsin波をFFTに入れる実験継続。 今回は入力期間を2πから4πに増やしてみた。 これにより、結果的に期間内のsin(x)の振動は増える。 よって、FFTの結果としてのsin(x)の周波数は1Hzではなく2Hzとなる。 あくまで、入力サンプリングを1周期とした周波数である点に注意。 物理的な周波数とは異なる。
株価予測

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

sin波でFFT、IFFTを実施。 パッと見ちゃんと元に戻ってるのは確認。 FFTの出力である周波数の分布は前半と後半で意味が異なる。 後半が前半の複素共役に当たり、IFFT時に虚数部を相殺する役割を追っている。 特定周波数を取り出すばあは複素共役部分も一緒に取り出す必要がある。