2011/03/09

FX売買システム多市場多期間最適化時代 - 最適値の寿命と、目的関数について



さて前回は、微妙な状態で「新SmoothMADIシステム」の「多市場多期間最適化」が完了したさせた話をしました。今回は、ちょっと横道に逸れて、最適値の寿命と目的関数に関して思った事を書いてみたいと思います。

元々は、「定期的な最適化」と「通貨ペア毎に一貫したパラメータ」のパフォーマンス対決をしようと思ってたが、フタを開けると「通貨ペア毎に一貫したパラメータ」方式で有効そうなのは、「周囲平均値」方式のみ。
*ここで言う「周囲平均値」は、各セグメント(期間)毎の悲観的年率(-最大利益)の
 分布で、周囲1セル分平均値で最も高い値を、さらに全セグメントで、通貨ペア単位に平均化した値。

さっそく、簡易的に対決。

【比較方法】
---------------------
測定対象期間   :2009年~2010年
対象通貨ペア数  :14通貨ペアと4通貨ペア(AUDUSD / GBPUSD / USDCHF / USDJPY)
「定期的な最適化」          : 2007年~2008年のベストパラメータを適用
「通貨ペア毎に一貫したパラメータ」: 前述「周囲平均値」のパラメータを適用
*具体的なパラメータは、前回記事参照。
---------------------

【比較結果】
---------------------
●「定期的な最適化」
 14通貨ペア損益合計:-33,353US$
  4通貨ペア損益合計:- 4,614US$
 利益が出た通貨ペア数:     5通貨ペア

●「通貨ペア毎に一貫したパラメータ」
 14通貨ペア損益合計:-38,781US$
  4通貨ペア損益合計:- 5,866US$
 利益が出た通貨ペア数:     2通貨ペア
---------------------

うーん。。。。
風向きは「定期的な最適化」っぽいなぁ。。。



パルド、なかなかやるやんけ。
*「アルゴリズムトレーディング入門」の著者

で、前回宣告した、ウォークフォワード分析で適用するアウトサンプル期間のガイドラインが適切か、という話。ガイドラインでは、2年の最適化期間だと、6か月~8か月。
たくさんデータを取りたいので、6か月の方向。

ただ問題は、6か月という期間は本当に有効性が持つのか?という懸念。

どうやって検証するのかって?

ふふふ。
オレには「使える売買システム判別法」があるのさ!!

書籍代 2,800円

この本、システムを自分で開発する人向けというよりも、確率統計を駆使して、販売されているEA(自動売買プログラム)を選んで使って、使えなくなったら捨てるというスタンス。EXCELでの計算式の例も載っているので、確率統計に詳しくなくても、試してみる事もできるのがいいところ!

基本的な考え方は、システムのライフサイクルは、「立ち上がり時期」~「安定期」~「衰退期」がある。そして、その「衰退期」を、早めに検出する時期を判定する方法も載っている。
#他にも、使えるシステムなのかどうなのかの判定方法が載っている。

なかなかいい本でしょ?
しかも安い!!
#書籍代感覚マヒ状態かな。。。

衰退期を検出する手法としては、t-検定(両側検定/非分散の2標本)のP値を使うということらしい。
そして、このP値が、0.05を下回ったらシステムに変調と判断する手法。
ウォークフォワード分析」のアウトサンプル期間を6か月とした場合の「P値」EXCL計算式は、
=TTEST(最適化期間の全トレードと、アウトサンプル11回前までのトレードの損益一覧 , 直近10トレード損益一覧 , 2 , 3)

そして、アウトサンプルでトレードを始めてから、この「P値」が0.05を下回る(つまりシステムの変調を検出)までの月数を求め、それが6か月より長いか短いかを調べてみると再最適化サイクルが6か月で、適切なのかどうなのかわかるということ。

さらに横道にそれて、ウォークフォワード分析」の簡易版的要素もちょっとだけ集計してみることに。意図としては、システムを実際に運用した場合、最適化後6か月以内に、「P値」が0.05を下回ったら再最適化するのがいいのか、何も考えずに6か月毎に再最適化した方がいいのかを垣間見てみたい。

【簡易ウォークフォワード分析集計計画】
------------------------
1.概略
  ・セグメント(期間):2003年~2010年 の2年刻み
             *期間が今までと異なっている点に注意
   例:2001年~2002年(インサンプル)でのベストパラメータを、
     2003年~2004年(アウトサンプル)で評価
     なので、1通貨ペアあたり、4サンプル。
  ・対象通貨ペア:多市場多期間検証で成績がよかった6通貨ペア
          AUDUSD / EURUSD / GBPJPY / GBPUSD / USDCHF / USDJPY
2.アウトサンプル期間の妥当性検証方法
  ・各セグメント(期間)で最適化して求めたパラメータセットを、次のセグメント
   (アウトサンプル)に適用して検証。
  ・アウトサンプル期間で、P値が0.05を下回るまでの月数を求める。
   →つまりこれが6か月以上であれば、いいという事。
3.簡易ウォークフォワード分析
  インサンプルでの損益と、アウトサンプル内で最大6か月の損益を1年換算して
  計算。これを、6か月間固定と、6か月以内にP値が0.05を下回るまでで比較。
-------------------------

そして、集計用のExcelを作成。
結構面倒くさいぞ。。。
データベース買いたい度数が高くなってきた。。

【検証結果】
------------------

*表の見方
 「WF」は「ウォークフォワード」の略。
 「WF効率(月数)」は、6か月固定でのウォークフォワード効率。
 「WF効率(P値)」は、6か月以内にP値が0.05を下回るまでの損益をベースに計算
------------------

全般的に、6か月間固定にした方がいい結果に。



パルド、いいトレーダーになれるで。



しかし、簡易とはいえ検証結果の内容が、いや~な予感。。。
アウトサンプルでプラス収支となった通貨ペアはたったの2つだけ。
「ウォークフォワード効率」に至っては、ばらんばらんな値。

システムが悪いのかもしれんが、もう一つの疑惑が。

最適化の目的関数って、今の方式でいいの??

今の最適化用目的関数は、悲観的年率(-最大利益)の周囲1セル平均が一番高いパラメータを設定しているが、他にも選択肢があるのでは?
例えば、
  ・純粋に悲観的年率(-最大利益)が一番高いパラメータセット
  ・悲観的年率が一番高いパラメータセット
  ・悲観的年率の周囲1セル平均が一番高いパラメータセット
  ・PF(プロフィット・ファクター)が一番高いパラメータセット
などなど。。

これらの比較検討してないな。。。
比較してみよう!







これを「責任転嫁」とも言う。


そして、実は裏で旧SmoothMADIシステム」の多市場多期間最適化検証を進ませながら、「FXシステムトレード初心者奮闘記」の「多市場多期間最適化時代」は続くのでした。
#明日はブログアップ無理かなぁ~

0 件のコメント:

コメントを投稿