Unknown world -201ページ目

ボリンジャーバンド検証 歪度拡張バージョン

さて、前回のボリンジャーバンド検証 の終わりに、


次はマルチタイムフレームをやる


って書きましたが、忘れていることがあったので今回はその内容でw

何を忘れたかといいますと、


カウンターオンリーの検証で、

トレンドフォロー条件の検証が皆無だった


ということでござる。歪度を扱った時点で出すべきですた ( p_q)


>>歪度の基本説明はこちら


>>歪度を使った場合のパフォーマンスこちら


前回の歪度バージョンはカウンターオンリーだったので、

トレンドフォローの条件を加えただけって感じです。



【ボリンジャーバンド パラメーター条件】

観測日数 ⇒ 20日

σ ⇒ ±2σ活用

歪度 ⇒±0.5以内をカウンタートレード区間と設定

    ⇒±0.5以外をトレンドフォロートレード区間と設定

終値ベースで平均及び標準偏差を計算

チャートで↑の条件を把握すると・・



chapon式システムトレード-5-3SkweChart

ボリンジャーの戦略としては最適かもしれない。カウンター場面と

トレンドフォロー場面を歪度によって区分けするってのは正統かつ

面白い感じがするね!

要は、


統計的に機能する環境のスタンス

統計的に機能しない環境のスタンス


の両面を考えることによって、初めて統計というものが役に立つって

ことですな!

よく、相場は統計を活用して、、、、、とか講釈を垂れる方がいるけど、

まともに統計を相場に活用しても無理が生じるだけよw

統計は、相場にどう役立てるのかが肝であって、統計採取による数値

そのものは使い難い・・っていうか使えんと思った方がええよ。



【カウンターシグナル条件】

★前日に-2σを終値が下回る かつ 当日は-2σを終値が上回る

⇒買いシグナル発生

★前回のトレードが売りだった、もしくは売り保有中かつ歪度が±0.5

以内の場合買いシグナルを採用

採用された買いシグナルは翌日の寄付でエントリー


★前日に+2σを終値が上回る かつ 当日は+2σを終値が下回る

⇒売りシグナル発生

★前回のトレードが買いだった、もしくは買い保有中かつ歪度が±0.5

以内の場合売りシグナルを採用

を採用

採用された売りシグナルは翌日の寄付でエントリー


新設 トレンドフォローシグナル条件】

★前日に+2σを終値が上回る

⇒買いシグナル発生

歪度が±0.5以外の場合買いシグナルを採用

採用された買いシグナルは翌日の寄付でエントリー


★前日に-2σを終値が下回る

⇒売りシグナル発生

歪度が±0.5以外の場合売りシグナルを採用

採用された売りシグナルは翌日の寄付でエントリー


【決済条件】

買いポジションの決済 ⇒ 買い保有中に-2σを終値で下回る

売りポジションの決済 ⇒ 売り保有中に+2σを終値で上回る

共に翌日の寄付でイグジット


歪度を使うことでカウンターとトレンドフォローの区分けが明確になった

っていうことはあるね!

で、カウンターとトレンドフォローを混在させるとどうなるか??

バックテストしてみよう♪


>>ボリンジャーバンドのカウンターのみデフォルト仕様はこちら参照


【日経平均】


chapon式システムトレード-5-2Nikkei225
【パフォーマンス】 測定期間 1984年~2010年

Net Profit 49528
Profit Factor 2.107466612
Max Close To Close Drawdown -5283.73
Total # of Trades 133
Total # of Open Trades 1
Number Winning Trades 62
Number Losing Trades 71
% Profitable 46.61654135
Avg Trade (win & loss) 372.3909774
Average Winning Trade 1520.159516
Average Losing Trade -629.8857746
Ratio Avg Win / Avg Loss 2.413389185
Largest Winning Trade 6936
Largest Losing Trade -2881



【USDJPY】


chapon式システムトレード-5-2USDJPY
【パフォーマンス】 測定期間 1983年~2010年

Net Profit 169.4
Profit Factor 1.641788217
Max Strategy Drawdown -42.53
Total # of Trades 164
Total # of Open Trades 1
Number Winning Trades 73
Number Losing Trades 91
% Profitable 44.51219512
Avg Trade (win & loss) 1.032926829
Average Winning Trade 5.93630137
Average Losing Trade -2.900549451
Ratio Avg Win / Avg Loss 2.046612709
Largest Winning Trade 52.2
Largest Losing Trade -10.3



【ダウ】


chapon式システムトレード-5-2Dow
【パフォーマンス】 測定期間 1980年~2010年

Net Profit 1702.52
Profit Factor 1.072812995
Max Strategy Drawdown -6529.63
Total # of Trades 189
Total # of Open Trades 1
Number Winning Trades 70
Number Losing Trades 119
% Profitable 37.03703704
Avg Trade (win & loss) 9.008042328
Average Winning Trade 358.3515714
Average Losing Trade -196.4881513
Ratio Avg Win / Avg Loss 1.823782091
Largest Winning Trade 2318.57
Largest Losing Trade -1109.58

【WTI】


chapon式システムトレード-5-2WTI
【パフォーマンス】 測定期間 1983年~2010年

Net Profit 100120
Profit Factor 1.475313331
Max Close To Close Drawdown -73240
Total # of Trades 176
Total # of Open Trades 1
Number Winning Trades 72
Number Losing Trades 103
% Profitable 40.90909091
Avg Trade (win & loss) 568.8636364
Average Winning Trade 4316.111111
Average Losing Trade -2045.048544
Ratio Avg Win / Avg Loss 2.110517682
Largest Winning Trade 63160
Largest Losing Trade -10640



【10year note】


chapon式システムトレード-5-2note
【パフォーマンス】 測定期間1980年~2010年

Net Profit 10.14
Profit Factor 1.4056
Max Close To Close Drawdown -3.5
Total # of Trades 190
Total # of Open Trades 1
Number Winning Trades 90
Number Losing Trades 100
% Profitable 47.36842105
Avg Trade (win & loss) 0.053368421
Average Winning Trade 0.390444444
Average Losing Trade -0.25
Ratio Avg Win / Avg Loss 1.561777778
Largest Winning Trade 2.91
Largest Losing Trade -1.08




デフォルトバージョンからの改善度合いは素晴しいものだね o(^▽^)o

noteでプラスの期待値ってところが改造のし甲斐があるシス

テムって感じがするねえ。

でも実践となると、まだ難しいレベルですな。今回のバックテスト

で得られたことは、


カウンター局面とトレンドフォロー局面の区分け


がしっかりしてれば混在しても問題は無いってところだろうね。

この内容を踏まえて、次にくるのが当初の予定であった


マルチタイムフレーム


形式のバックテストですだ!

今回の歪度を使った局面の区分けはExcelでも簡単にできるから

休日中に試してみてね♪

プラットフォームを使っている方には下にソース載せておきまする~

参考になったって思った方は

クリック宜しくねい♪

(#⌒∇⌒#)ゞ


ブログランキング・にほんブログ村へ
にほんブログ村


【今回のソース】

Inputs:MAtime(20),LastPrice(close),Sigma(2),skewprice(0.5);
Vars:MAsum(0),MA(0),
count1(0),count2(0),count3(0),
Avedissum1(0),Avedissum2(0),dev(0),
Skwepoint(0),
nBollinUp(0),nBollinDown(0),
sellpoint(0),buypoint(0);
Array:Avedis1[500](0),Avedis2[500](0);

{MA Setting1}
MAsum=0;
For count1=1 to MAtime-1 begin
MAsum=close[count1]+MAsum;
End;
If currentbar>MAtime+1 then
MA=(MAsum+LastPrice)/MAtime Else MA=0;

{M Setting}
Avedissum1=0;
For count2=1 To MAtime-1 begin
Avedis1[count2]=power(close[count2]-MA,3);
Avedissum1=Avedissum1+Avedis1[count2];
End;
Avedissum1=power(LastPrice-MA,3)+Avedissum1;

{Deviation Setting}
Avedissum2=0;
For count3=1 To MAtime-1 begin
Avedis2[count3]=square(close[count3]-MA);
Avedissum2=Avedissum2+Avedis2[count3];
End;
Avedissum2=square(LastPrice-MA)+Avedissum2;
If currentbar>MAtime+1 then
dev=Squareroot(Avedissum2/(MAtime-1)) Else dev=0;

{Skew Setting}
If currentbar>MAtime+1 then
Skwepoint=(MAtime*Avedissum1)/((MAtime-1)*(MAtime-2)*power(dev,3)) Else Skwepoint=0;

{Bollin}
nBollinUp=MA+dev*Sigma;
nBollinDown=MA-dev*Sigma;

{Trade Setting 1}
condition1=(skwepoint<skewprice and skwepoint>-skewprice);
If condition1 and sellpoint<>1 and nBollinUp[1]<close[1] and nBollinUp>close then begin
sellshort ("Bollin-CShort") next bar at market;
sellpoint=1;
buypoint=0;
end;

If condition1 and buypoint<>1 and nBollinDown[1]>close[1] and nBollinDown<close then begin
buy ("Bollin-CLong") next bar at market;
buypoint=1;
sellpoint=0;
end;

{Trade Setting 2}
condition2=(skwepoint>skewprice or skwepoint<-skewprice);
If condition2 and nBollinDown[1]>close[1] then begin
sellshort ("Bollin-TShort") next bar at market;
end;

If condition2 and nBollinUp[1]<close[1] then begin
buy ("Bollin-TLong") next bar at market;
end;

{CutSetting}
If marketposition=1 and nBollinDown>close then sell ("Long-cut") next bar at market;
If marketposition=-1 and nBollinUp<close then buytocover ("Short-cut") next bar at market;