[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
-24%
AUDJPY
今週の損の半分負けた。今はL中。だめかも。
USDCHF
負けた。
GBPJPY
玉砕。介入直後にエントリーしていたのが即ストップロス。
GBPUSD
売買なし。
CADJPY
久々のエントリーでサクっと2敗。
EURJPY
無駄に勝っている。最低ロットなので、眺めるのみ。
EURGBP
まさかの42連勝。最低ロットなので、眺めるのみ。
USDJPY
冴えない週だった。
CHFJPY
爆損。一生上がり続けた通貨だった。
EURUSD
意外にも激しく動かなかった通貨だった。
週初から中頃にかけて全くエントリーしなくなったので、何事かと思い再起動もしたが、
結局ロジックに該当していなかっただけだった。
トレンドフォローのドテンシステムなので、あまりノーポジションという立場は取らないのだが、そういう週だった。
・まとめ
FXは趣味です!(泣
自分の中で、ボラティリティの上昇はEAの勝ち幅の上昇と勝手に思い込んでいた。
ボラの上昇=口座資金の上昇という自分勝手な方程式があったことを自覚。
損益のボラティリティが上がるだけで、そんなことはありえないのだった。
現実には、口座の損益変動のボラティリティ上がり、今回はマイナスへ向いた。
また、先週の時点で今週は荒れるという認識があったし、いままでにない状況を迎えることも十分予見できていた。
コレに対して無策で挑んでいたのだから、当然のごとく相場からしっぺ返しを受けた。
EAには、戦術レベルの高ボラティリティの対策、他に2つ程度エントリー・イグジットの対策があるのだけれど、
それだけでは今回の損失は防げなかった。
戦略レベルでの大方針がやはり必要なのかと実感した。
具体的には、トレンドストップと回帰ストップのスイッチかな?
戦術レベルのEAはある程度出来たのだから、相反する個々の戦術に対して管理するのが有効かと思う。
後は、久々に開発意欲が盛り返してきた。
放置していた次期システム開発にまた取り組もうかと思う。
この業界にはとんでもない化物トレーダーがいるのだけど、その人のアプローチを真似してみようかと思っている。。
なんだかんだで、全く未知のことを行っている人たちは多い。。。
+11%
AUDJPY
順調です^^
USDCHF
久しぶりのプラス。
GBPJPY
順調すぎる。
GBPUSD
久しぶりのプラス。
CADJPY
動きなし。
EURJPY
相変わらずの負けっぷり。
EURGBP
並。
USDJPY
並。
CHFJPY
ドローから復帰。
EURUSD
順調。
・まとめ
ロット分配の方法を見直した。
負け組通貨は、最低ロット。
勝ち組通貨は、再現性指数によって信頼度を測ることにし、ロット分配をおこなった。
今のところ、一番納得度の高いロット分配。
☆
「億を稼ぐトレーダーたち」を読んだ
久しぶりに本をイッキ読みした。
株とか商品先物とかやりたくなる。
そんな金無いんですけどねww
株はいつかやってみたい。ちゃんと企業に投資してみたい。
FXについては研究中の人の言葉がかなり共感出来た。
「流動性が極めて高い市場では、揺るがない真実があるのではないか?」
良かった人という意味では、
・株の長期投資を行っている「渡辺博文」さん
これぞ投資!
・元為替ディーラー「成宮浩志」さん
勉強になった。
・商品先物累計5億「秋山昇」さん
秋山昇さんはシステムトレーダーでありながら、完全に相反する大博打を打つ姿勢に衝撃を受けた。
追証間近から回復した余力で積み増ししていくということを数千万レベルでやるのはヤバ過ぎる。
5年研究してから売買してるはずなのにwww
・
怖いと思ったのはプロップファームの人たち
全く同じ手法を社員全員が行うという記述に戦慄した。
その手法が効かない異常事態になったら、誰も助からないと思うのだが。
これは私の理解不足なのかも。
トレンドフォローとかそういう大きな枠組での手法という意味なのかも。
・
やっぱ相場は勝ち逃げがいいのかもと思いつつある。
あくまで自分にとっての話だけど、さらっと博打を撃って、まぐれでいいから大きく勝つ。
後はほそぼそ小さなロットで研究する。みたいな。
そういえば、世界で活躍してるファンドマネージャーとか居なかったのかね。
あの世界の報酬は桁が3,4くらい違うと思うんだけど。
古きよき相場師が多かった印象。
次回があるならば、新人類系のトレーダーを見つけてきて欲しいw
-10%
AUDJPY
まぁ、これはいい。含み益中なので。
USDCHF
ちょいだめ。
GBPJPY
普通の負け週。
GBPUSD
普通の負け週。
CADJPY
並。
EURJPY
いてえ。
EURGBP
並。
USDJPY
普通の負け週。
CHFJPY
ドローダウン近辺。どうするか迷う。
EURUSD
負け週だけど、含み益中。
・まとめ
CHFJPYが大負け。
まだまだですなぁ。
システムトレード研究ノート~上級者用~さんの記事「フォワードテストと再現性指数」
がとても興味深かったので、挑戦してみました。
選んだシステムはST-053-12という自作のトレンドフォローEAで、現在ライブ口座で最も良い成績を誇っているシステムです。
以下に前提を
・ソフトウェア
MetaTrader4
・通貨量
1万通貨で単利です。
・期間
バックテスト期間
2006/10/01-2008/06/21
フォワードテスト期間
2008/6/21-2011/6/28
・対象パラメータ数
18パラメータ
・パラメータのSTEP
それぞれ10~20STEP程度
・手順
①まず、バックテスト期間で、最適化を行います。
②最適化結果の「テスト№」および「パラメータ」をテキストファイルにコピペします。(以降、パラメータファイルと記載)
③ソースを修正します。
「テスト№」を意味するextern変数を定義します。
「テスト№」変数の値をもとに、パラメータファイルを検索し、該当テスト№のパラメータを読み込み、既存パラメータに上書くようにします。
④INIT関数部分で、テスト№変数をパラメータファイルに記載のテスト№およびそのパラメータを網羅するように最適化対象を行います。
⑤テスト№変数のみで、最適化!
⑥これで、バックテスト№とフォワードテスト№を結び付けることが出来るようになりました。
・実際のコード(一部)
INIT()
{
#再現性指数検証テスト区分。
if(back_to_foward)
{
#パラメータファイルをオープンします。
int handle = FileOpen(parameter_set_file_name,FILE_CSV|FILE_READ|FILE_WRITE,"\t");
string param_set = "";
Print("FileOpen = " + handle );
FileSeek(handle,0,SEEK_SET);
#ポインタがファイルの最終端になるまで。
while(!FileIsEnding(handle))
{
#ファイルを読み込みます。「タブ」区切りで読み込みますので、この場合、現在のポインタから次のタブまで読み込みます。
param_set = FileReadString(handle);
//Print("####param_set = " + param_set);
#各行の1つ目の値はテスト№となりますので、それがextern変数と同じか?判断します。
if( StrToDouble(param_set) == back_test_no )
{
#同じであれば、パラメータを順次読み込み、既存変数に対して、置き換えていきます。
#行の最終端まで繰り返しパラメータ読み込みを行います。
while(!FileIsLineEnding(handle))
{
param_set = FileReadString(handle);
Print("####param_set = " + param_set);
#iMA_Method は、変数名です。読み込んだ文字列が変数名と同じであれば、
#”iMA_Method=” より以降の文字列をパラメータとして再設定します。
#読み取り時の関数は、パラメータのデータ型に依存するので、適宜使い分けてください。
if(StringSubstr(param_set,0,StringLen("iMA_Method")) == "iMA_Method")
{
iMA_Method = StrToInteger(StringSubstr(param_set,StringLen("iMA_Method")+StringLen("=")));
Print("iMA_Method = " + iMA_Method);
}
・パラメータファイルの構成(ダミーパラメータですが)
1■proflevel=4■stoplevel=8■span=6■Leverage=20■slippage=5
2■proflevel=2■stoplevel=3■span=39■Leverage=20■slippage=5
■ = タブ
テスト№ パラメータ1 パラメータ2 パラメータ3
テスト№ パラメータ1 パラメータ2 パラメータ3
といった感じで並んでいます。
~~~~~~~~~~~~~~~~~~~~~~~~~~~
テストをしてみました。
最適化の出力項目について、エクセルにて
バックテストデータをX軸、
フォワードテストデータをY軸で取り、
散布図を作成し、回帰直線、決定係数を出してみました。
・損益
良い感じですね。決定係数も0.6超えということで、「相当凄い」システム認定されましたかね?
ちなみに、下の方に溜まっているのは死んでいるケースですね。
・PF(プロフィットファクター)
これも良い傾向ですが、バックテスト時に比べてPFは下がる傾向が見受けられます。
・平均損益
これはシステム側でコントロールしているせいでこのような分布になっています。
・最大DD(資産割合)
バックテスト時のDDが低いほど、フォワードテスト時のDDも低い割合が出やすくなっています。
上に貯まっているのは死んでいるケースですね。。
・トレード数
これはおもしろい分布だと思いました。
どう捉えていいか迷いますが、トレンドフォローは繁忙期と閑散期があるのかもしれないですね。
パラメータと相場状況がトレード数に影響を及ぼしていると考えると、上記の分布もある程度納得できそうです。
・DD(金額)
ほとんどDD(割合)とおなじですね。
バックテスト時に低かったDDは、ある程度抑えられるが、相場状況によっては死ぬということですかね・・・。
・テスト全体の推移
バックテスト時の最適化の内訳
損益プラス:8374
損益マイナス:2410
損益0:3
フォワードテスト時の内訳
損益プラス:9163
損益マイナス:1624
損益0:0
上手くいきすぎていますが、良いですw
・問題点
①パラメータセットの母集団非網羅
このテスト手順に問題点があります。
もともとこの手順は面倒で行うつもりはありませんでした。
当初は、2期間で最適化を行い、重複して出現したパラメータセットで検証する予定でした。
ところが、パラメータ数が多すぎたため、重複がまったく起きていなかったのです・・・・。
検証用エクセルを作っていたのですが、まったく同一パラメータが出現しませんでした。
2期間の最適化パラメータを1セルに文字列を集約して、昇順ソートし、
IF文で検証もしましたが、確かに一件も重複していませんでした。
上記のことから、バックテストパラメータファイルと解析用コードを作成し、最適化機能を利用することで、
今の手順で進めることとしました。
というわけで、一度の再現性分析だけでは、パラメータセットの母集団のうち、
10000件程度を行ったに過ぎないので問題ではあります。
もちろん、パラメータセットのパターンが少なければ、一回の検証で終わるとは思います。
②システムの前提条件の問題
テスト期間において、テスト対象のシステムが前提としている相場状況でないと、
純粋なシステムの良し悪しが判断出来ないのかなぁと感じております。
期間によって、再現性指数がぶれるシステムもあると思います。
その場合、前提をしっかり意識していないと、「使えないシステム」として認定するリスクがあります。
今回はたまたま対象テスト期間で前提を満たしていただけかと。
・まとめ
今回のテストではうれしいことが二つありました。
一つは、現在利用しているトレンドフォローは今後もある程度期待出来そうだということ。
一つは、パラメータ数が大量にあっても、過剰最適化に必ずしもなりえないこと。今回は18パラメータです。
ということで、持論を強化する結果が得られたので大変満足ですた。
短期システムの検証を週末に行いますが、あんまり期待出来ない^^;
+3%
AUDJPY
良い感じ。
USDCHF
だめだなー。
GBPJPY
順調。
GBPUSD
売買無し。
CADJPY
ほぼ動かず。
EURJPY
久しぶりに+週。
EURGBP
とんとん。スプ負け。
USDJPY
順調。
CHFJPY
厳しい。
EURUSD
並。
・まとめ
特に書くことが無いが、AlpariJapanには少し期待してる。
+1%
AUDJPY
裁量。1000通貨で検証。
USDCHF
EAのバージョンアップを行い初稼働。だめだめ。来週はちょっと変えて。
GBPJPY
どうしちゃったの。
GBPUSD
EAのバージョンアップを行い初稼働。来週も様子見。
CADJPY
順調。
EURJPY
どうにかしたいが、ボラティリティが異様に高いね・・・。
やめたほうがいいのか?
EURGBP
EURJPYと同じく。
USDJPY
TP直前で反落。どうにかするか?
CHFJPY
久しぶりに負け。ロットが増えていたため、痛い。
EURUSD
実は一番ひどかった。トレンドフォローの宿命のような底ショート天井ロングをかました。しょうがない。
最適化の問題についてコメントを頂きましたので記事を書いてみます。
といっても浅薄な知識のため、語るところがありませんがw
・問題点
売買システムにおけるパラメータの最適化問題はシステムトレーダーにおいて、最も大きな問題の一つだと思います。
そもそも、パラメータの取り扱いはどのような問題を孕んでいるのでしょうか?
以下に示してみます。
-13%
・
個別に期待出来る通貨ごとに、ロット調整を行ったが、悪い影響を与えてしまった。
そもそも、いまが旬なシステムを評価する基準をあまり持っていないので無理もない話だった。
取れる手段として、簡単に想像すると、
・個別システムの資産曲線の回帰直線の傾き
総利益とあまり変わらなそうだが・・・。
そこら辺の統計能力は絶賛勉強中・・・。
・今週のトレード
USDCHF
よく-50pips程度済んだ・・・。
EURGBP
トレード数が少なく、負けpipsが大きかった。
USDJPY
こちらもよく-50pips程度済んだと思う。
-2%
今週は、EURJPYが爆発。しかし、ロット減らしたため効果は薄かった。
トレンド系のEURUSDがロット増やしたとたんに負けた。これが響いた。
トレンド系以外のEAを見直し、改良を行った。これで成績がマイルドになるはず。
この改良は無視したのはCHFJPY。EAとCHFJPYには特別な相性を感じる。
今週の神撤退は以下。
きれいなタイミングで逆張りエントリーしてくれたが、リミットまで上がらずに下げてしまう。
とある撤退ロジック(過去記事にあります) が見事に撤退タイミングを捉えポジションクローズ。
過去にもこんな感じで、ダメエントリーを軽減している。
もちろん、爆死もある。
気になる人は過去記事を探してみてね。
・口座1 -37%
通貨 | 純損益 | 勝率 | 総利益 | 総損失 | 平均利益 | 平均損失 | 平均時間 | トレード数 |
AUDJPY | -204.4 | 0.21 | 46.8 | -251.2 | 11.7 | -16.7 | 15:50 | 19 |
GBPUSD | 4.8 | 1 | 4.8 | 0 | 4.8 | - | 1:35 | 1 |
GBPUSD | -62.9 | 0.59 | 205.2 | -268.1 | 12.8 | -24.4 | 15:48 | 27 |
CADJPY | -39.1 | 0.73 | 185.2 | -224.3 | 9.7 | -32 | 14:49 | 26 |
EURJPY | -247.2 | 0.45 | 73 | -320.2 | 14.6 | -53.4 | 14:47 | 11 |
USDJPY | -136.8 | 0.68 | 74.8 | -211.6 | 3.6 | -21.2 | 15:49 | 31 |
CHFJPY | -114.1 | 0.72 | 354.8 | -468.9 | 7 | -23.4 | 15:50 | 71 |
GBPJPY | -10.9 | 0.57 | 179.7 | -190.6 | 44.9 | -63.5 | 14:43 | 7 |
EURUSD | 176.8 | 0.6 | 266.2 | -89.4 | 88.7 | -44.7 | 13:40 | 5 |
USDCHF | -218.5 | 0.53 | 32.5 | -251 | 3.2 | -27.9 | 15:48 | 19 |
勝率 | 平均利益 | 平均損失 | 平均時間 | トレード数 |
0.333 | 508.900 | -169.575 | 13:26 | 6 |
勝率 | 平均利益 | 平均損失 | 平均時間 | トレード数 |
0.625 | 180.143 | -122.410 | 4日0:10 | 7 |
勝率 | 平均利益 | 平均損失 | 平均時間 | トレード数 |
0.718 | 4.229 | -9.548 | 5:44 | 156 |
勝率 | 平均利益 | 平均損失 | 平均時間 | トレード数 |
0.796 | 4.256 | -13.81 | 1:13 | 49 |
勝率 | 平均利益 | 平均損失 | 平均時間 | トレード数 |
0.582 | 8.222 | -15.679 | 8:18 | 79 |
勝率 | 平均利益 | 平均損失 | 平均時間 | トレード数 |
0.749 | 6.499 | -15.251 | 3:39 | 171 |
勝率 | 平均利益 | 平均損失 | 平均時間 | トレード数 |
0.755 | 13.764 | -42.644 | 7:8 | 110 |
勝率 | 平均利益 | 平均損失 | 平均時間 | トレード数 |
0.797 | 9.832 | -21.65 | 7:53 | 118 |
勝率 | 平均利益 | 平均損失 | 平均時間 | トレード数 |
0.818 | 14.257 | -49.069 | 4:21 | 88 |