さて前回は、「ウォークフォワード分析」最初の見直し手順のブログ記事で、コメント頂いた考慮漏れの部分について、手順の見直しを行っている様子を書きました。今回は、実際に実施してみた結果とその後の考察について書いてみたいと思います。
くどいですが、選定の流れを大まかに整理すると。
【選定の流れ】
-----------------------------
1.10年のデータのうち、最初の6年でルール(※)を決め、残り4年でアウトサンプル評価
ただし、最適化目的関数は10年分のデータを使用して決める
※ルール
・通貨ペア毎の最適化期間/WF期間
・ポートフォリオに組み込む通貨ペアの選定
・各通貨ペアの組み込み比率
2.アウトサンプル評価はトレードパフォーマンスで行う
3.アウトサンプルを元にトレーディング・プランを作成する
4.開始時に実際のパラメータを決めるのは直近6年分のデータを使う
5.2年間隔で直近過去6年分データを元にルール(※)を変更する
6.最適化期間/WF期間の選定方法は以下
A.最適化期間の目的関数の結果とWF期間純益の「偏差値」を求める
B.R2乗に符号をつける
C.符号付R2乗値のシャープレシオを求める
D.「符号付R2乗値シャープレシオ」のスキャン結果から堅牢ものを選ぶ
E.ブートストラップ法で「符号付R2乗値」が0以下でない事を確認する
-----------------------------------
さてさっそく、最適化用の目的関数の選定を実施してみた。
【最適化に使用する目的関数の選定】
-----------------------------
選定方法は以前と同じで、違いは全通貨ペアをいっしょくたにして評価する点。
今回選定するにあたってスキャンした条件は以下。
●スキャン条件
・目的関数:18種類(※)
※以前のブログ記事に載せた16種類+「シャープレシオ」とその周囲平均
・通貨ペア数:6通貨ペア
・WF期間 :4ヶ月、8ヶ月、12ヶ月の3種類
・最適化期間:24ヶ月~60ヶ月を6ヶ月刻みで7種類
●選定基準
以前のブログ記事のと同じで、以下の手順
・符号付R2シャープレシオで評価する
正数率が高い目的関数を上位2~3つ選び、その中で正数の平均と
全体平均が高い目的関数を選ぶ
●結果
という事で、目的関数は「超悲観的PF」に決定!!
-----------------------------
さて、次は各通貨ペア毎に最適化期間/WF期間を選んでみた。
【通貨ペア毎に最適化期間/WF期間を求める】
-----------------------------
今回はアウトサンプル用に4年分(2007年1月~2010年12月)のデータを用意してて、それを2年で2分割して評価することになって、以下の様な結果
選定方法は、以前の記事と同じ方法で、最適期間は24ヶ月~36ヶ月を6ヶ月単位、WF期間は4ヶ月~12ヶ月を4ヶ月単位。
1.最適化期間:2001年1月~2006年12月
2.最適化期間:2003年1月~2008年12月
さて、次はポートフォリオに組み込む通貨ペアを選んで、組み込み比率を求めてみた。
【通貨ペアの選定と組み込み比率の計算】
------------------------------
1.主軸通貨ペアの選定
前回のブログで決めたとおり、R2シャープレシオが高い2通貨ペアを選んでみた。
前述の表のとおり、R2シャープレシオが高い2通貨ペアは以下。
●最適化期間:2001年1月~2006年12月
EURUSD,USDCHF
●最適化期間:2003年1月~2008年12月
EURUSD,USDCHF
2.追加分の通貨ペア選定と組み込み比率の計算
前回のブログで決めたとおり、ポートフォリオに追加する2通貨ペアの選定と、
「現代ポートフォリオ理論」にもとづいて、各通貨ペアのリターン/リスク/相関係数から、
組み込み比率を求めてみた。以下は、インサンプルでのリスク/リターン/相関係数の一覧。
●最適化期間:2001年1月~2006年12月
EURUSD/USDCHF両方と相関係数が低いのは、GBPJPYとUSDJPY
・組み込み比率
●最適化期間:2003年1月~2008年12月
・組み込み比率
さて、問題はここから。
このルールを元に、アウトサンプル評価を行う。
#想定は400トレードぐらい。
【アウトサンプルのパフォーマンス評価】
------------------------------
さて、さっそく概要から。対象は、2007年1月~2010年12月の4年間。
1.パフォーマンス評価結果
グダグダな曲線とはいえ、以前よりさらにパフォーマンスが悪化しながらも、
一応利益は出てる。
2.利益は偶然か必然か?
さて問題は、これが偶然か必然なのか?
●PF観点
だいぶ以前の記事で、観測したトレード数に対して、2.5%の危険率で偶然発生しうる
PFを求めて、それを上回った事を確認していた。
そして今回のトレード数を元に偶然発生しうるPFを求めてると、1.15。
今回の観測結果は、1.08
あれ??
●95%信頼区間下限値
最終的に正数になればええんやが、結果は「-26.50US$」
んん???
●ブートストラップ法による検証
以前の符号付R2を評価する際に使用した方法を今回のトレード結果に当てはめて見た。
サンプル分布を作成する為に試行したシミュレーション回数は10万回。使用した信頼区間
は90%。
結果は以下。
=============================================
o Original average of data,9.044794
o p-value(percentage),29.672
o Confidence interval(lowest) ,-18.566427
o Confidence interval(highest) ,37.81658
---------------------------------------------
o Average data of simulation,9.044812
o +2sigma data of simulation,45.03672
o Highest data of simulation,92.701449
o -2sigma data of simulation,-26.947095
o Lowest data of simulation,-59.614832
=============================================
p値が5%以下で「統計的に有意」、10%以下で「おそらく有意」という判定だけど、
結果は、29%強。90%信頼区間(下限値)が正数かどうかでみると、-18弱。
という事は???
------------------------------
全くあかんやん。。。。
か”-ん。。。。(T_T)
どこが問題や???
【問題の可能性】
------------------------------
問題箇所の仮説と切り分け方法を考えてみた。
1.トレードルールが悪い
「多市場多期間最適化検証」の結果から言うと、問題ないはず。
ただこの時の検証に2009年~2010年のデータを使ってない点が一つの
被疑箇所。この期間が極端に悪いと、今回のルールが以前は通用してたけど今は使えない
という事に。。
2.最適化期間/WF期間選定方法の問題
ここは他に案なし。少なくとも以前のWF効率が最大となる選択方法よりかは
いいんじゃないかなぁと。WF効率が最大となる期間選定を、今回のアウトサンプル
評価と同じ様にして、アウトサンプルのパフォーマンス比較してみればいいかも。
3.最適化目的関数
これも上記「2.」と同じ。
4.ポートフォリオの問題
よく考えたら、R2シャープレシオが低くても、インサンプルでいい成績を残した
通貨ペアに組み込み比率が大きく割りあたってしまう。
しかも、1つのデータだけで組み込み比率を計算してしまっていいのか疑問。
ここは、他にも通貨ペアの選定方法を洗い出して見てもいいかも。
5.ローリング・モデル自体の問題
これ自体を見直す日もくるかも知れないけど、一旦採択したモデルなので、
今回は見直さない。ただ1通貨ペア毎に最頻出して、パフォーマンスの相関性が
低いパラメータセット2~3個選んで、分散するという考え方は試す時間あるかも。
6.たまたま低迷期
10年間のインサンプルデータみてると、時期によって結構浮き沈みがある。
もしそうであれば、後半6年のインサンプルを元に前半4年のアウトサンプル
評価して、あわせてみたら期待値が正になる可能性も。
ただ、アウトサンプル検証対象として2005年/2006年のデータが使われない
という検証方法の欠点も。
いろいろ被疑箇所が挙がったけど、とりあえず一番怪しげなのが「4.ポートフォリオの問題」。
なのでまずは、ここの考え方をいろいろ考えて、検証してみようかと。
------------------------------
さて、本当に怪しいのはどこでしょうか?
え? オレ自身??
そして、実は結構ショックな状態で「FXシステムトレード初心者奮闘記」は、ポートフォリオの組み方の検討と検証比較に進むのでした。
#MT4用EAテストでPC過負荷試験、MT4の最新バージョンでもしなきゃ。
0 件のコメント:
コメントを投稿