2009/12/02 Wed 13:21
今回は、「最適化」を簡単に解説してみようかと思います。


システムトレードは、最適化に始まって、最適化に終わるといっても過言じゃないくらい、
超重要でかつ奥が深いものです。


システムトレードをやってる方は、よくご存知だと思いますが、
裁量トレーダーにとっては、馴染みの薄い言葉だと思います。



辞書で引いてみると
【最適化】システム工学などで、ある目的に対し最も適切な計画を立て設計すること。また、そのような選択を行うこと。


簡単にいうと、「一番いい方法を探しましょう」という事です。


特にシステムトレードにおいての最適化は、一番儲かる手法や、数値を探すって事になります。
それを、大体は、機械的にバーっとPCで計算させてしまうわけです。


ま、言葉の定義なんて、どうでもいいわけで、実際にやってみましょう!



では、早速問題です。

あまり無意味な事をやっても、つまらないので、少し現実的に

「日経225先物を短期で逆張りする時、何日の移動平均乖離率を使うのが良いでしょうか?」
※この場合の短期とは、翌寄付きで買って、翌々寄付きで売る事とします。


ジャジャーン、正解です。

正解は、「5日」となりました。


1週間の営業日とも一致するし、それっぽい感じですねぇ。

と、こーんな事が最適化すると、簡単に出てきてしまうわけです。
便利ですねぇ。


どうやってやったかと、言うと、
2日~100日の移動平均乖離率を全て使ってみて、過去のトレードを
全てシミュレーションしてしまうわけです。

その全ての結果を比較してみて、一番良かったのが、5日というわけです。
(本当は、3日の方が合計損益は良かったが、損益曲線が汚かったので、却下)

その全ての結果をグラフにしたものがこれで、
横軸が、2~100日に振った日数で、縦軸がそれぞれの場合のトレード当り損益になってます。
これを見ると、3日~5日くらいが、ずば抜けて高く、あとは、日数を増やせば、増やすだけ、
どんどん、悪くなるって感じですかね。

つまり、過去1週間くらいの値動きに対しては、逆張り。3ヶ月以上の値動きに対しては、順張り目線で行け。
って事も分かりますね。

うーん、便利だ!

最適化1



ちなみに、今回、正解とした5日移動平均乖離率を使った時の逆張り損益曲線は、こーんな感じ。

※正確には、5日乖離率が、-1.05%より小さければ、翌日買って、翌々日売る。

最適化2

ま、実用には耐えられませんが、一応、右肩あがりです。
ブレイクアウトなんかよりは、マシなんじゃないかな。


本当は、何回売買するとかという条件も必要になってくるわけですが、
今回は、月に5回平均売買するという条件で固定して、計算してみました。



最適化の素晴らしさが、少し分かっていただけたでしょうか?

というより、この最適化なしに、システム開発はありえないと思ってます。


ただし、この結果を過信しすぎると、痛い目に会います。

それが、オーバーフィッティングってやつです。

最適化のやり過ぎですね。
これは、奥が深く、自分も未だに、こいつにやられたりしているので、
なかなか、うまく説明できないです。

ま、あまり過去の細かい事ばかりほじくり回すと、彼女に嫌われるよ。って事でしょうか。w

この辺は、色々とやりながら、感じていくしかないんだと思います。
そもそも、オーバーフィッティングについては、こっちが教えて欲しいくらいですから。



一応、今回、作ったEXCELシートはこちらからダウンロードできます。
簡単に、作ったもので、雑です。
興味がある方は、参考にしてみて下さい。


では、次回のシストレ講座・・・意外と大変なんで、やるか分かりませんが、お楽しみに。


全シストレ講座は、こちら


TRACKBACK --  |  COMMENT (13)  | 編集
2009/09/15 Tue 15:40
大相場がやってくると、逆張リストのオレは必ず思う・・・・
「みんな儲かってる時に、何やってんだオレ?」

何度も検証してて、順張りは(オレには)取れない。と分ってるんだけど、やはり隣の芝は青く見えてしまう。

しかも、この前、読んだタートル本に影響されて、懲りずに、また順張りの検証してみたよ。
その結果は、、、やっぱりイマイチ・・・・。

それなら。と同じデータで、同じくらいのトレード回数になるように得意の逆張りで検証。
当然、タイムスパンは変えてるけどね。
(※普通、逆張りのタイムスパンの方が短い。経験上、たぶん。)

その結果が、これだ! 1 ・ 2 ・ 3

グラフ1


色々な条件設定もあるし、単純比較はできないだろうが、えらく差がついた。
ちょっと期待していた順張り、逆張りの同時運用も意味なし。
(しかし、この逆張りの結果、出来すぎ・・・、何かミスってるかも・・・・汗)


また、実践の事を考えても、やはり逆張りに軍配があがる。
順張りの仕掛けは、必然的に成行きのケースが多くなり、スリッページは避けられないが、逆張りは指値で充分、対応可能。


というわけで、KK的結論は、「逆張りの方が圧倒的に有利。自分を信じろ。」というわけです。
ただ、長期的な目線では、順張りは有利なわけで、押し目狙いはいいかもね。
あくまでも自己責任で、よろしくね。



【使用データ】
手元にあったパンローリングのCDに収録された世界市場の先物140銘柄(株、為替、金利、商品)
全銘柄のリストは、ここの中ほど
(古いデータでごめんなさい。新しいのを注文したので、もしかしたら更新するかも。傾向同じなら、面倒だからしないけどさ。)


【手法】
いたってシンプル、以下の通り。

(順張り)
・40/20ドンチャンブレイク
・[フィルタ]ボラティリティが小さい時のみ仕掛ける

(逆張り)
・3日乖離率で逆張り、翌日手仕舞い
・[フィルタ]なし

(共通)
・同日に、複数銘柄のシグナルがでた場合は、平均を取る
 (合計しない事が重要。だって、全銘柄買えない時だって、あるでしょ。)
・パラメータは、トレード回数が、両手法でほぼ同じになるように適当に設定
(メチャクチャに設定したという意味ではない。ただ、オーバーフィットもしてない。)


【詳細データ】
表1
※トレード回数は、1日当たり最大1回のみ。

次回、シストレ講座③は、「最適化って何?」を予定してます。

前回の、シストレ講座①へ戻る


TRACKBACK --  |  COMMENT (11)  | 編集
2009/08/04 Tue 15:10
⇒シストレ講座はこちらにもあります!!

システムトレードに関する事を書いた事がないので、たまには。


とりあえず、シストレ講座、第一弾は、EXCELでSBI証券に発注(現物のみ)してみよう。
(前にも、第一弾って、銘打ってなんか、やったような気がするけど・・・、まあいっか)


EXCELを使って、証券会社へ発注する事が難しいと思ってる人って多いのかな。
実は、案外簡単なんですよ。

早速ですが、試してみないと分からないと思うので、EXCELプログラムをダウンロード
(SBI証券に口座を持ってないと意味ないです。)

①適当なところにダウンロードしたら、そのファイルを立ち上げて、自分のユーザーネームとパスワードを打ち込みます。

②発注ボタンを押します。

③SBI証券に実際に発注されます。(その後、ちゃんと取り消してください。)


うーん、簡単!!


興味のある人は、EXCEL上で「Alt+F11」を押して、VBAプログラムを見てみてください。
分り易くするため、エラー処理も何にもしてない一番シンプルと思われる状態にしたつもりです。
ここから、色々と発展させてみてください。

MarketSpeedなんかと、組み合わせれば、自動売買だって簡単に作れてしまう。


講座といいながら、何も教えてませんが、プログラムを読んでみて、
「意外と簡単かも。」「おれにもできるかも。」
とVBAを少しやる気になってくれれば、と思います。

シストレやるなら、最低でも、この程度の事は、必要かと思いますので。

やる気が出た人は、VBA講座なんかで、検索すると沢山HITしますんで、頑張ってみてください。

本なんか、買う必要ないですよ。ネットで、みんな親切に教えてくれてます。


※自分の環境でしか、試験してないので、うまくいかない可能性も十分あります。
※バグがあるかもしれません。
※何が何でも、何が起きても、自己責任でお願いします。


質問ありましたら、コメント欄にどうぞ。


ちなみに、参考にさせていただいたHPはこちらです。
VBAからIEを操作する場合、凄く分り易く書かれていて、かなーり参考になります。
おススメ。

【シストレ講座②】順張り vs 逆張り


TRACKBACK --  |  COMMENT (30)  | 編集

copyright © 専業システムトレード生活 all rights reserved.


template by http://flaw.blog80.fc2.com
Powered by FC2ブログ