株価の時系列データをフーリエ解析してみた② 〜スペクトル分析〜
こんにちは、データサイエンティスト・ヒロキです。 株価の売り買いのタイミングなどを検討する基本的な手法を学びたい。でも、テクニカル分析の本などを見てみても、応用の事ばかり書いていてなんだか難しく感じる。もう少し時系列データの基本的なことを学びたい。とお困りの方いらっしゃったりしませんでしょうか?私は約半年くらい困っていました。
そこでこの記事では、
- ・テクニカル分析などの本を目にしたことあるが、もう少し基本的なことを学びたい
- ・どれくらいの周期で株価が変動しているか知りたい
- ・大学の教科書でスペクトル分析が出てきたけど、難しくてよくわからない
という方のために、株価などの時系列データはどれくらいの期間と大きさで変動しているか?を分析する代表的な手法「スペクトル分析」を解説していきたいと思います。
時系列データの3つの基本パターン(直流成分・周期変動・不規則変動)の一つ、周期変動に着目して、データの中にどれくらいの周期変動成分が潜んでいるのか?を求める手法の一つであるスペクトル分析を知ることで、株価の動くタイミングや季節変動の有無など様々なことを検討する材料の一つになるかと思います。またこの手法はもともと工学の分野で広く用いられている基本的な手法ですので、工学部の学生など初学者も参考になるかとももいます。
初めに、リンクをクリックいただき、一票いただけると幸いです✨
にほんブログ村にほんブログ村
優しく解説していきますので、ご安心ください🙂
スペクトル分析
株価はどれくらいの期間でどれくらいの大きさで変動しているか?
下記2ステップでスペクトル分析をし、どれくらいの周期で変動しているか?を確認していきたいと思います。Matlabコードを使って具体例も提示していきます。 30日間の無料トライアルもありますので、とりあえず試してみたい方は こちら からインストールお願いします。
それでは、次の2つのステップで説明します。
-
スペクトル分析ってなに?
イメージで表すとこんな感じです。
時系列データはどのくらいの周期の波で構成されているのか、またその大きさはどれくらい大きい波なのか?が一眼でわかるグラフ(ピリオドグラムと言います)
いつぐらいに波がピークを迎えるのかという位相の情報はピリオドグラムからはわかりません。タイミングが知りたければ前回の記事で紹介したフーリエ分析をして時系列データで波の様子を観察すると直感的にもわかりやすいかと思います。このピリオドグラムのメリットは一眼で大きさと周期がわかるところです。
-
どうやるの?
このコードをコピペするだけです。
(下記コードを実行するには"hist_stock_data"ファンクションプログラムをダウンロードしておく必要があります。まだダウンロードしていない方は、まずはこちらの記事を読んでダウンロードお願いします。)%株価データをダウンロード data = hist_stock_data('09112011','09112021','2502.T'); %時間データと終値を変数yとtに格納 y=data.Close; t=data.Date; %欠損データがある場合は補間してYYにデータを格納 [YY,TF] = fillmissing(y,'linear','SamplePoints',t); %1年を245日(営業日)としてサンプリング周波数を245回/年と定義 Fs=245; %欠損データを補った株価データYYをサンプリング周波数Fsでフーリエ変換し、パワースペクトル密度pxxと周波数fを出力 [pxx,f] = periodogram(YY,rectwin(length(y)),length(y),Fs); %横軸:周波数[回/年]、縦軸:株価の大きさとしてグラフ(ピリオドグラム)を作成 plot(f,10*log10(pxx)) xlabel('Cycles/Year') ylabel('dB / (Cycles/Year)') title('Periodogram') xlim([0 10])
一行目の株価ティッカーシンボル"2502.T"を変えると他の銘柄にも適用できます。
上記例ではアサヒグループホールディングスの株価データを分析しています。
お疲れ様でした。
今後
次回は2つのデータの関係性を表す相関係数について、解説していきたいと思います。
参考文献
本記事を書くにあたって下記文献を参考にしています。
基本的な内容が体系的に優しく書かれているので初学者におすすめの入門書です。
Excelで学ぶ理論と技術 フーリエ変換入門(Amazonリンク)
#参考動画
ヨビノリさんのYouTubeも合わせてご覧いただくと、理解が深まると思います。丁寧に開設してくださっている動画なのでぜひご覧ください。
最後まで読んでくださりありがとうございました😊
ひろき🐶