読者です 読者をやめる 読者になる 読者になる

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

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

スポンサーリンク

とりあえずMF-DFAをインジケーター化(改良中)

GW中に終える予定だったMF-DFAのインジケーターを今頃作ってます。表示をどうするか悩ましいのですが、とりあえずスケーリング指数だけ表示してみました。
f:id:fxborg:20170509045619p:plain

・・・もうすこし工夫が必要そう。

◎かんたんなMF-DFAの説明

MF-DFA( multifractal detrended fluctuation analysis の略)

DFAのマルチフラクタル版です。DFAはスケールを連続的に変化させながらゆらぎの変動を測って、これらのフラクタル性を評価するもの。

自然現象や生体リズムなどと相性がよく、心拍変動や地震予知の分野で研究されてるっぽい(Google調べ)。

▼スケーリング指数αの見方 

DFAのスケーリング指数 α には、以下のような意味があるそうです。

  1. ・0.5未満 ・ 負の自己相関。逆向きの変動が未来で起こる可能性が増す。
  2. ・0.5  ・・・ 自己相関はなくホワイトノイズとなる。
  3. ・0.5~1.0・ 正の自己相関。同じ向きの変動が未来で起こる可能性が増す。
  4. ・1.0  ・・・ピンクノイズ(1/fのゆらぎ)となる。
  5. ・1.0~1.5・  自己相関性はあるがα値の増大とともにフラクタル性は消失。
  6. ・1.5  ・・・ ブラウンノイズとなる。

【参考】http://libdspace.biwako.shiga-u.ac.jp/dspace/bitstream/10441/9685/2/%E8%97%A4%E6%B0%B8%E5%8D%9A.pdf

マルチフラクタルにするには・・・

MF-DFAはDFAのマルチフラクタル版ですが、データを歪めて何度も測定しなおす訳ではなく。DFAの測定値をルジャンドル変換するだけなので意外と計算コストは高くないです。(作るのは簡単だけど解釈するのは難しそう。 )

  1. http://library.jsce.or.jp/jsce/open/00035/2000/55-1B/55-1B-0016.pdf
  2. https://www.fuw.edu.pl/tl_files/studia/materialy/ef/Multifractal_Algorithm_2008.pdf
  3. ルジャンドル変換とはなにか(動画バージョン)  

最後に 

 MF-DFA自体はそんなに難しいアルゴリズムではないのですが、何度も同じ計算をするところが気になって、最適化をしているうちに連休も終わってしまいました。速度自体は問題なくなったのですが、表示や使用方法などまだまだ研究が必要そうです。

とりあえず、こちらからどうぞ

  1. indicators/MFDFA.mq4
  2. mfdfa_source.zip
  3. Libraries/mfdfa.dll

( dll は念のためKaspersky VirusDesk で検査しています。)

【追記 2017.5.9 13:15 】DFAでは初期処理でデータのバイアスを除去する処理を行なうのですが、こちらの版ではその部分が抜けておりました。これを行なうと計算結果のキャッシュが出来なくなるので、入れたくないのだけど・・・。

【追記 2017.5.10 10:50】ホワイトノイズ的なデータの場合は変換が必要ですが、ブラウンノイズの場合は行なわなくて良さそうです。そもそも価格データ自体が累積和されてるようなものなので、このままでいいのかも・・・・。
(参考 A tutorial introduction to adaptive fractal analysis