FXボーグ | テクニカル実験室

テクニカル分析を使った自動売買プログラムの開発に挑戦!

スポンサーリンク

Caterpillar-SSA 3.40で特異スペクトル解析を試す。

フラクタル関係はこのくらいにして今度はSSA(特異スペクトル解析)に挑戦してみようと思います。学習向けの良いサイトが見つからなかったのですが、こちらの解析ソフトがあったので試してみました。

【CaterpillarSSA 3.40(評価版)】

f:id:fxborg:20170912014838p:plain(Time series analysis and forecast, Caterpillar SSA method [Software]より入手しました。)

SSAの基本

SSA(Singural Spectrum Analysis)は非定常なデータに対して適用しても大丈夫な数少ない統計手法の一つです。分析は以下のような手順で行います。

  • 1.時系列データをトレンド、周期変動、ノイズなどの各成分に分離。
  • 2.主要なコンポーネントのみを選んで再構築。
  • 3.再構築したデータを利用して予測 or 分析。

データの読み込み

 時系列データはDUKASCOPYからUSDJPY4時間足をダウンロードして使用しました。CSV形式に対応しているのでそのまま読み込めます。

f:id:fxborg:20170912025203p:plain

デコンポジション

さっそく各成分を分離してみましょう。ウインドウ長は60を設定しました。

f:id:fxborg:20170912032022p:plain

 全体の特徴を知るには「Verticallity Characteristic」をチェックします。

f:id:fxborg:20170912093335p:plain

赤いラインが階段状になっているところでは特徴的な成分を見つけることが出来ます。例えば、下記の番号が該当します。

  • ・9、10、11
  • ・16、17
  • ・21、22
  • ・31、32

トレンド成分と周期変動成分の見分け方

トレンド成分と周期変動成分を判別する直接的な方法は各成分のプロットを観察することです。

特にトレンド成分はグラフで簡単に見分けられます。周期性を持たずにゆっくりと変化するグラフが該当します。周期変動成分の場合は、散布図の中から渦上になった円や多角形を探します。

各成分の一覧

次の画像は、番号付けられた成分のグラフと散布図の一覧です。

▼各成分のグラフ(1-15)

f:id:fxborg:20170912025939p:plain

1と2はトレンド成分として使えそうです。

▼各成分の散布図(1-15)

f:id:fxborg:20170912030116p:plain

10番にはきれいな渦巻きが現れました。

▼各成分のグラフ(16-30)

f:id:fxborg:20170912030238p:plain

▼各成分の散布図(16-30)

f:id:fxborg:20170912030322p:plain

たくさんの渦巻状の多角形が現れました。

主成分から再構築

主要な成分をグループ化したら、これらの成分を合成し新たな時系列データを再構築します。

f:id:fxborg:20170912032119p:plain

▼グループ毎に再構築したグラフ

f:id:fxborg:20170912031918p:plain

  • ・上段・・・トレンド成分(1,2)
  • ・中段・・・周期成分(9-14)
  • ・下段・・・周期成分(17-20)

トレンド指標やオシレーター指標として使えそうですね。

▼トレンド成分だけで再構築した例

f:id:fxborg:20170912030754p:plain

▼トレンドと周期成分で再構築した例

f:id:fxborg:20170912032357p:plain

参考リンク

最後に 

今回はCaterpiller-SSAを使って特異スペクトル解析について調べてみました。このソフトはよく出来ているので、使ってくうちにだいたいの雰囲気が掴めてきました。試用期間が30日あるので学習にも良いと思います。

今後は主成分の選定を自動化する方法等を調べたいと思います。