見出し画像

為替相場の変動を周波数分析してみると周期性は見えてくるか(1/2)

相場データの変動を見ていると周期性がありそうな気がします。そこでFFT(高速フーリエ変換)を使って周期性を検証してみました。取り合えず、32営業日の相場データをFFTしてみました。

32営業日のFFT結果

32営業日をFFTすると言うことは32ポイントを周波数変換することなので32個(0~31)の複素データが出力されます。そのデータのパワースペクトルを計算した結果が上図になります。

一番左のデータが平均成分、それ以外が変動成分になりますが、平均値が大きいため変動成分がほとんどわかりません。

具体的にはUSD/JPYの平均値が140円前後で変動が1円程度だとこんな感じになってしまいます。必要なのはこの変動値の周期性なので平均成分を削除してみましょう。

変動成分のみ抽出

FFTの特性上、左右対称になりますが、必要なのは(分析できるのは)左半分だけです。この場合は「1~15」になります。

周波数分析の意味ですが、この「1~15」ポイント番号をnとすると

  sin(2π×nt+Φ) t=k/32 k=0~31 Φは位相

こういう変動が発生してると言うことになります。

具体例としてn=2とすると32営業区間に2周期のサイン波形の変動が発生していると言うことを表します。つまり、32営業日に2回は同じ変化(傾向)が発生しそうだということを表しています。n=1だと1周期のみで繰返しは起きないので周期性はないと言うことです。

では実際のUSD/JPYの5年分のデータを使っていろいろ分析してみましょう。5年分データをまとめてFFTすると平均され特徴が見えずらくなるので、今回はSTFT(短時間フーリエ変換)手法を使って解析します。

条件は以下の通りとします。

①32営業日単位でFFT処理(窓関数無し)をしてパワースペクトルを計算
②FFTタイミングは16営業日毎にシフトして計算(50%オーバーラップ)
③FFT出力を発生確率に変更して表示

ここで言う変動する成分の発生確率とは、1~15が発生する割合を発生確率と定義します。各周波数のパワースペクトルレベルをPkとすると「Pk/ΣPk」で表わします。

5年分だと約1300営業日があり、80回程度のFFT演算をすることになります。このデータを平均化してみると

FFT結果の平均化

周波数特性的には周波数が高くなるほど小さくなる特徴、ピンクノイズ的な特性なっています。この結果は相場全体でみると周期性はない、つまり長期的にみると相場はランダムで予測は難しいという結論になります。

しかし、短期的には周期性も存在しそうだと言うことを体験的には感じています。そこで過去データを調べてみると時々、周期性が編著に発生している時期が見つかります。

繰返し発生周期の時間的変化

上図の「n=1のパワースペクトル」<「n=3のパワースペクトル」場合を見てみましょう

繰返し周期の発生確率分布

この場合、n=3で周期性が出ています。そこで32/3=10.67日毎に繰返しが発生していることを意味します。10.67日とはほぼ10営業日になり、約2週間毎に相場が周期性を発生していることを意味しています。

次に前後を見てみましょう。

前後のFFT処理

この前16日ズレたFFT結果を見てみるとすでにn=3辺りで発生確率が高くなっていますが、16日前のFFTではピークが低くなっています。

実際の相場データを確認してみると

相場の変化(右方向が過去)

しかし、このように上手く周期性が分析上は現れても、n=2の影響もあり正確な周期性を確定はできません。また、他の相場変動波形を見てみても明らかな周期性を観測できませんでした。

日付データしか試していませんが、周期性をらしき変動も残念ながらランダムの変動の一部がそう見えるだけかもしれません。

この記事ではFFTについては理解している前提で詳しくは説明していませんが、FFTについてもう少し勉強したい思った方は以下の記事を参考にしてください。



最後まで読んでいただいて有難うございます。 コメントは今後の参考に、フォローやサポートは今後の励みになります。