システムの最適化についての疑問

TradeStationなどでトレーディングシステムを作成する際、その最適化を行ったときに必ず出てくるのが、その方法が正しいのかという疑問だ。それについてのQ&A方式で紹介。

The Breakout Bulletin

ブレイクアウト会報

The following article was originally published in the August 2002 issue of The Breakout Bulletin.
以下の記事はブレイクアウト会報の2002年8月号に掲載されたものです。

Answers to Your Questions
質問とその回答 2

    Q: I ran an optimization test, but am not sure I did it correctly. At first I tried to optimize all variables in increments of 0.1, but that would have produced 4.8 million tests! So I instead started to optimize one variable at a time, working my way down the list of variables, until the variables held steady. I set the equity input equal to $100,000. Please comment on my optimization technique.

質問:
私は最適化のテストを実行しましたが、正しく行えた確信がありません。
最初に私はすべての変数について数値増加幅を0.1にして最適化を行おうとしました。
ですがこれは480万回ものテストになります。
そのため代わりに、変数が安定するまでずっとリストの数にまで変数を減らしながら、1回につき1つの変数の最適化を開始しました。
資産入力値は$100,000に設定しています。
私の最適化の方法についてコメントしていただけますでしょうか。

    A: I recommend setting the equity parameter equal to zero when optimizing. That way, it will default to one contract per trade and you don’t have to worry about the account size settings. I usually either do one variable at a time or 2 at a time. For example, you might try optimizing the entry and exit parameters for long trades together, then the 2 parameters for the short trades, followed by the trend parameter.

回答:
最適化を行うときは資産入力値を0に設定してください。
こうすることで1トレードあたり1建て玉の初期設定となり、あなたは口座の大きさの設定を心配する必要がありません。
私はたいてい1回につき1または2個の変数の最適化を行っています。
例えば、あなたはロングのトレードのためのエントリーとエグジットのパラメータの最適化を試して、次にトレンドパラメータの前にあるショートのトレードのパラメータ2つについて最適化を試す、というようにです。

    I like to look at several performance statistics when optimizing. I generally optimize on the profit factor, but always check the equity curve to make sure it is as straight as possible. I also like to have at least 100 trades in my sample. I like to see the profits for the most recent period strong, a low number of max consecutive losers, and a high net profit. I also like to see a small max loser and a good balance between long and short trade profits. Finally, I like to make sure that the parameters I end up with produce reasonable trades. By this I mean that the stops can’t be unrealistically tight or so loose that I’m not comfortable with that much risk. Similarly, the entry fractions shouldn’t be so small that I enter on every false breakout or so large that I get too few trades.

私は最適化の際、いくつかのパフォーマンスの統計項目を好んで注目します。
たいていはプロフィットファクターについて最適化を行っていますが、資産成長曲線ができるだけ直線的であることを必ず確認します。

また自分のトレードサンプルで少なくとも100回のトレード回数があることを、好んで条件にします。
最近の期間で利益がでていること、
low number of max consecutive losers、
そしてa high net profit.もよく確認します。

また最大損益が小さいこと、ロングとショートのトレード利益がいいバランスであることも確認します。

最後に私が完成させたパラメータが納得のいくトレードを行っていることを確認します。
これによりストップが非現実的にきつくなっていることはないと判断するのです、また大きなリスクをとるのに自信がもてないということがなくなります。

同じようにエントリー部分の設定が小さすぎて(エントリーの条件をゆるくしすぎて)すべての偽のブレイクアウトでエントリーしてしまったり、またはエントリー部分が大きすぎて(エントリーの条件をきつくしすぎて)とても少ないトレード回数となってしまう、ということはないはずです。

    Of course, there’s no one correct way to choose parameter settings. To a large extent, it depends on what kind of trading you like to do. With a little searching, you will probably find completely different parameter sets that give equally good, although different, results.

もちろん、パラメータ設定の選び方に正しい方法などありません。
数多くのパラメータの設定の中でどの方法を選ぶかは、あなたがどのようなトレードを好むのかによるのです。
数少ない調査では、同じ様にいいが異なった結果を出す完全に異なるパラメータ設定をおそらくみつけるでしょう。

    Q: I have looked at the new Minimax version but cannot get the parameter settings quoted on page 4 of the new manual to give me anything like the performance summary results shown on pages 13 and 16. Could you please confirm the setting used for these results were as per page 4 or, if not, could you let me know what they are?

質問:
私は新しいMinMaxのバージョンを調べましたが、13ページと16ページに載っているパフォーマンスサマリーの結果のようなものが得られる、新しいマニュアルの4ページのパラメータ設定は得られませんでした。
これらの結果に使われた設定が4ページにあるものなのか確認していただけますか?もしできないようでしたら私にその設定を教えてくれませんか?

    A: The parameters on p. 4 of the new manual (v2) are the ones used to generate the results listed in the manual. Your data may be different than mine. I used TS 6 with the full session (23 1/2 hour) contract e-mini data series to generate these results. In TS 6, these are symbols @ES and @NQ. You should confirm that your data covers the full session and not only the day session. You should also confirm that it covers the same time period as in the user’s guide. If you’re not getting the same results but you believe your data is good, I would recommend reoptimizing. I recommend doing this in any case so that you get to choose the parameters that give the kind of trading results you prefer. You may prefer to minimize your drawdown at the expense of net profit, or maybe you’d rather tighten up the stops even though it might reduce the percent winners. There’s no one best set of parameter values. Also, you’ll probably be more confident in the system if you explore different parameter sets and choose your own.

回答:
新しいマニュアル(バージョン2)の4ページに載っているパラメータは掲載された結果を出すのに使われたものです。
あなたのデータがわたしのデータと異なっているかもしれません。

私はトレードステーション6でこれらの結果を出すためにフルセッション(23.5時間)コントラクトのe-miniデータを使いました。
トレードステーション6ではe-miniのシンボルは@ESと@NQです。
あなたのデータがデイセッションだけでなくフルセッションもカバーしていることを確認してください。

またユーザーガイドにのっているものと同じ時間枠になっていることも確認してください。
もしあなたが、同じ結果を得られないがあなたのデータはおかしくないと信じるのならば、再最適化をしてください。
あなたの望むトレードの結果となるパラメータ設定を選ぶために、どのような場合でも再最適化することをおすすめします。

純利益の出費におけるドローダウンが最小となることをあなたが望むかもしれません、または勝率は下がるがむしろストップをきつめに設定するかもしれません。

最高のパラメータ数値の設定というものはないのです。また、もしあなたが異なるパラメータ設定を調べ、あなた自身が選択するならば、おそらくあなたはそのシステムにさらに自信をもつでしょう。

    Q: What should I do in the spreadsheet when a new contract starts trading? I use CSI for my data, so my data backadjusts after the rollover date. Does this mean I need to backadjust the data in the spreadsheet manually?

質問:
新しい限月がトレードを開始するとき、私はスプレッドシートで何をするべきでしょうか?

私はCSI(銘柄選択指数)を自分のデータとして使用しています、ですので私のデータはロールオーバー日後に、前にさかのぼって調整(バックアジャスト)されます。
これは私がスプレッドシートのデータを手作業でバックアジャストする必要があるということでしょうか?

    A: After a rollover, the easiest way to handle it in the spreadsheet is just to copy over all your existing data with the newly adjusted data from CSI. That way, all your data will be back-adjusted properly. For example, let’s say the rollover date for the Sep contract is Sep 18th. On that date, your CSI data series will back-adjust.

回答:
ロールオーバーの後は、スプレッドシートでそれを行う最も簡単な方法は、あなたのデータすべてを新しく調整されたCSIデータで上書きすることです。

こうすることで、すべてのあなたのデータはおそらくバックアジャストされているでしょう。
例えば、7月限月のロールオーバー日が7月18日だとしましょう。この日にあなたのCSIデータ類はバックアジャストされます。

    This may change the prices prior to Sep 18th slightly based on the difference between the closes of the Sep and Dec contracts on Sep 18; this is the essence of the back-adjusting process. To make sure all the data in the spreadsheet is adjusted accordingly, you could copy your CSI price data from the beginning of the date in your spreadsheet to Sep 18th, and paste this data into your spreadsheet over the existing data. This way, all the data in your spreadsheet will be up-to-date. The system only looks back about 14 days, however, so this will only make a difference for some of the calculations for up to two weeks following the rollover date. I haven’t tested this, but based on how the system works I suspect the difference between back-adjusting and not back-adjusting (i.e., using the nearest futures) will be fairly small.

これは7月18日における7月限月との11月限月の終値の間の違いに基づいて、7月18日より以前のプライスをわずかに変えるでしょう。
つまりこれがバックアジャストの過程の性質なのです。

スプレッドシートのすべてのデータがそれらしく調整されていることを確認するため、あなたのスプレッドシートのデータのはじめから7月18日までのCSIプライスデータをコピーしてください。
そしてこのデータをスプレッドシートのデータに上書き貼り付けしてください。

こうすることで、あなたのスプレッドシートのすべてのデータは新しくなります。
システムは約14日間さかのぼって見るだけですが、しかしながらこれはロールオーバー日後の2週間までの期間のいくつかの計算に違いをつくるだけです。
私はこれについてテストはしていません、しかしシステムがどのように働くかということに基づくと、バックアジャストと非バックアジャスト(つまり最近の先物のデータを使うということ)の間の違いはとてもわずかなものだと思います。

終わり

この内容は下記のページを作者の許可を得て翻訳紹介しています。
http://www.breakoutfutures.com/Newsletters/Newsletter0802.htm