2020年11月24日火曜日

プロフィットファクタ 続編 PFは何取引必要なのか

 昨日のPFの続編です。

その前にごめんなさいがあります。

ブロガーが新しくなったのですが、今まで見ていなかったコメントが大量に出てきました。
ごめんなさい。結構古いものもありましたので本当に申し訳ないのですが、またどんどん送っていただければ嬉しく思いますm(__)m


さて、昨日のPFの続きです。

昨日は1EA KARATHを見本に何取引あればPFは安定するのかという話を書きました。難しい数学抜きで実践的なものと考えていますが、1EAではどうかと思いますので

現在回している5EAを追加しました。
開発して回しているEAは90ほどあるのですがここは代表作ということでこの5つです。
全てワンポジEAです。


FEAT SYSTEMに出品している5つです。
最終取引のPFから最大何%乖離しているかをみました。

ちなみに一番よかったのは1506回取引したCassynEU 2.01でした。

10%乖離に必要な取引数は最大390回でした。
5%乖離は1030回です。
1000取引というと1日1回取引するEAで4年ほどでしょうか
こうなってくるとフォワードのPFは参考にならないということになります。

10%を目標で最大390回 
EAユーザーの好きなボリンジャーバンド的2σで406回です。

1日1回程度の取引のEAは非常に多いと思います。
これのフォワードを1-2年動かした場合のPFは10%誤差があります。

ここから考えると
①PFは少数第一位まででいい(そんなに精度が良くない)
②優劣をつけるには少なくとも0.2以上の差が欲しい
③フォワードの場合1年以上計測していないと意味がない(取引数300-400必要)


PFはバックテストで見るのがいいようです










2020年11月23日月曜日

プロフィットファクタ は何取引すれば信頼性がでるのでしょうか 1例紹介

 プロフィットファクタはいったい何でしょうか

計算式)総利益÷総損失

1を切ったら利益が出ていないというのは計算式からもわかります。

しかし上はいくらでしょうか

PFは含み損を抱えている時にポジションを閉じなければ無限に値を上げることができます。

PFが大きすぎるのは取引数が少ない、もしくはグリッドトレードのようなものになります。

そこで少し考察を書いてみました。

https://feat.trgy.co.jp/pf/

書きながら検証方法を検討しました。

EAを一つ用意しそのEAが10回取引したときのPF

20回取引したときのPF・・・・1500回取引したときのPFとならべて誤差を確認しました。
使ったEAはKARATH 

挿入したコードはこちらです

input int ExpertCnt=100;

if(OrdersHistoryTotal()>=ExpertCnt)ExpertRemove();


ExpertCntを10から10ステップで1510まで回します。
1510回の根拠はもともとの取引数が1501回だったことによります。





過去最大の乖離率を表示しました。

最終1501回取引したときのPFは1.91です




30回取引したところでの乖離は90%でした。
EAによって差は出ると思いますが30取引のフォワードのPFは全く信用できないということです。

40回取引で大きく下がりました 36% 本来のPF1が1.36になるということです。まだまだですね。

グラフが縦長で醜いのでおなじ%が続くところは非表示にしています。

270回取引をすると10%以下になりました。年間の平日が260日程度ですので毎日1回取引をするEAを1年回した場合PFは1割の誤差ということです。
PF1.0と1.2のEAは同じPFかもしれないということになります。

もう何個かEAを回して同じテストをするともう少し値が見えてくるかもしれません。
例えば5EAを回して10%を切る値を捜した場合一番多く取引数が必要だったEAの値を基準にします。
あくまでも1例紹介ですが、1年程度まわしたフォワード試験のPFは誤差が非常に大きいという結論です。

PFを見るならバックテストがいいようです。
一年(正確には270回)取引をしたEA同士を比較する場合でも1割の誤差があるので0.2程度の差は誤差と意識して使いましょう