2006年03月31日

システムの適応化

前回の「システムの最適化と適応化の違い」の続きです。

実は参考文献がこれです。

いくつかのブログで紹介されていたので、システムトレーダの人なら知っている人も多いかと思います。
ディジタル信号処理の理論を駆使して相場を解析するというかなり異色な文献です。
情報通信系の大学の大学院レベルの内容なので、内容を正確に理解している人はあまりいないと思いますが、TradeStation のソースコードがついていますから意味はわからなくても何とか使うことはできます。

本の内容はあまり公表できませんが、作者のサイトに本の内容の一部が掲載されています。

一言で言うと、MESA(Maximum Entropy Spectral Analysis)という手法で相場のスペクトルを分析して周期(サイクル)を求めようとするものです。

ところで、サイクルというのは何かというと、底から始まったとすれば、天井まで到達して、再び底に戻ってくるまでの時間のことです。
相場は上下の振動を繰り返すので、そういう意味でサイクルという概念は存在しますし、エリオット波動など相場を波形と見なして解析する方法はこれまでもあったので、あながち的外れな考えではないと思います。

でも、これを見てください。
下の図は文献のやり方に従って、サイクルを計算する部分をインディケータとして表示させたものです。

サイクル自身は15から30くらいの範囲で変動していますが、そのサイクルが長いときと短いときが上のチャートの特徴とうまく一致しているかどうかはちょっと悩むところです。
なんとなく乱高下しているところはサイクルが短く、きれいなトレンドが発生している場面ではサイクルが長くなっているかな、という程度です。

相場がきれいなサインカーブを描いていればサイクルは確実にわかるし、予測もできますが、乱高下している相場ではどれが1サイクルなのか、後になってみてもわからないことがよくあります。
また、トレンドの場面では原理的に正確なサイクルは計算できないので、このサイクル自身は売買シグナルとしては直接は使えません。

この本では、サイクルを使って正弦波インディケータなどを開発しているようですが、色々と試した結果、意外に為替はトレンドの場面が多いからなのか、少なくともバックテストで利益が出るシステムは作れませんでした。

結局、このサイクルを一般的なテクニカルインディケータの適応化に使うのが無難なところではないかという結論に達しました。
実際、この本でもRSI、ストキャスティックス、CCIの適応化について簡単に触れてあります。
その他のインディケータでもできそうだということで、やってみたのが下の図です。

別に珍しいインディケータではありません。移動平均に最高値、最安値のレンジ、MACD、ストキャスティックス、ADXなどです。ただ、いずれもパラメータと思われる部分にサイクルを使っています。そういう意味でパラメータフリー、あるいはダイナミックパラメータとでも呼ぶのかもしれません。

と、何だかすごそうに聞こえるかもしれませんが、実際、適応化インディケータは、パラメータを適当なものに固定した場合と比べてもそれほど大きな差はありません。

適応化というのはパラメータが色々と変わりますが、相場に応じて最適に変わっているわけではありません。ただ、全くランダムに変わるよりはましかなという程度です。

でも、個人的には、パラメータが固定されているとどうしても最適化したくなるという悪い癖を抑えることができるので、気分的に楽になります。

そういう気分的な効果だけなので、面倒な割に効果が少ないと言われればその通りです。
そんなところなので、この記事で紹介したMT4用のインディケータは、今のところ公開する予定はありませんが、β版でよろしければこちらのグループに公開していますので、アクセスしてみてください。

http://groups.yahoo.co.jp/group/forex-bigwave/

にほんブログ村 為替ブログへ為替ブログランキング 現在22位
「次の記事も読んでみたい!」
と思った方はクリックにご協力ください。↑

Trackback on "システムの適応化"

このエントリーのトラックバックURL: 

"システムの適応化"へのトラックバックはまだありません。

Comment on "システムの適応化"

こんばんは。

 ダイナミックパラメータは、ボラティリティを考慮したシステムの作成には向いているんでしょうね。

 例えば、1970年と2000年では固定パラメータで行うにはあまりにもボラティリティが違いすぎるので、機能しない・・・といった具合ですね。
(1970年でも機能するようなシステムを作るべきなのか?というのは疑問ですけれど)

  •   サルサで猿さ
  • 2006年03月31日 22:25

おはようございます。
そうですね、サイクル周期の測定は悩ましいです。
あまり考えないようにしていますが。
私は値動きが周期一定のサインカーブの場合にうまくいくのは確認しました。
ただし、周期が変化した途端にサイクル周期が望ましくない激しい変化をするようです。
相場の周期が常に変化し続けているなら、サイクル周期はずっと望ましくない値を出力し続けるような気もします。
改善する方法があれば良いのですが。

  •   nacady
  • 2006年04月01日 06:45

サルサで猿ささん、コメントありがとうございます。
ストップロスやターゲットを決めるときにはボラティリティを考慮したパラメータ設定が有効でしょうね。


nacady さん、コメントありがとうございます。
サイクルの変化は転換点に大きく影響するので深刻ですね。サイクルの変化が予測できない以上、サイクルの変化がトレードに大きく影響しない形でしか使えないのではないかと思います。またそのあたりを検討してみます。