実際のトレードでは1回の取引に資金の何%を投入するのか?というポジションサイジングの問題がでてくる。
それをシミュレーションする方法を紹介する。
The Breakout Bulletin
ブレイクアウト会報
The following article was originally published in June 2003 issue of The Breakout Bulletin.
以下の記事はブレイクアウト会報の2003年6月号に掲載されたものです。
Improving the Accuracy of Trading System Evaluations
トレーディングシステム評価の精度の向上
- An integral step in developing a trading system is evaluating its performance.
When we test a system on historical data,
we are, in effect, simulating how that system will perform when we trade it.
It only makes sense, then, that the more accurate the simulation, the better we can evaluate the system.
If we could accurately account for all aspects of trading — slippage, commissions, account size, number
of contracts, market behavior, etc.
— then we would know just what to expect if we were to trade the system, and our decision about whether or not to trade the system would be better as a result.
トレーディングシステムを開発する際に不可欠な作業は、そのパフォーマンスを評価することである。
システムを過去データを使ってテストするとき、我々は事実上、そのシステムでトレードしたときにどのような結果を残すのかをシミュレーションする。
このことからは、より精度の高いシミュレーションであれば我々はシステムをよりうまく評価できると理解できる。
もしトレーディングのすべての面、スリッページ、手数料、資金の大きさ、建て玉の枚数、マーケットの動き、などを正確に説明できるならば、
そのシステムでトレードしようとしたときに何が予想されるのかを知ることができ、そのシステムでトレードするかどうかの決定はその結果としてよりいいものとなる。
- Of course there’s no 100% accurate way to simulate trading a system, but there are ways to increase the accuracy of the simulation.
There are two aspects in particular that I’ve addressed in my own work that I’d like to share.
The first is position sizing.
Those of you, like me, who spend a lot of time working in TradeStation, are probably used to seeing the results of system testing expressed in terms of one-contract profits and losses.
The TradeStation performance report is based on the assumption that all trades are the same size.
For futures, this means each trade is typically one contract.
For stocks, you would typically take 100 shares or some multiple of that for each trade.
もちろんシステムによるトレードを100%の精度でシミュレーションする方法は存在しないが、シミュレーションの精度を向上させる方法はある。
特に私が共有したい私自身の仕事の中で取り組んでいる(トレーディングについての)2つの面がある。
1つめはポジションサイジングである。
私のようにトレードステーションに多くの時間を費やしている人はおそらく、1枚あたりの利益と損失という設定でシステムのテストの結果を見ていることに慣れているだろう。
トレードステーションのパフォーマンスレポートはすべてのトレードを同じ枚数で行うことが前提となっている。
先物では、これは各トレードが通常は1枚で行われることを意味する。
株では通常100株またはその数倍を各トレードで使う。
- TradeStation does allow for a variable
number of shares or contracts for each trade.
EasyLanguage makes it relatively simple to program just about any method you can think of to vary the number of contracts or shares for each trade.
The problem is that most of the metrics in the TradeStation performance report lose their meaning if the number of contracts or shares is not fixed.
Metrics such as the average trade, standard deviation of the average trade, the average win, average loss, maximum dollar drawdown, and net dollar profit become distorted and difficult to interpret if the number of contracts or shares varies from trade to trade.
This is particularly true if you program rules to increase the position size as profits accumulate.
In that case, many of the performance metrics, such as average trade and dollar drawdown, tend to increase with the number of trades.
トレードステーションでは各トレードでさまざまな数の建て玉枚数を扱うことが可能である。
イージーランゲージはあなたが各トレードで扱う枚数を変更することを考えついたすべての方法をそのままプログラム化することを比較的簡単にしている。
問題はもし枚数が固定されていない場合にトレードステーションのパフォーマンスレポートのほとんどの評価基準がその意味を反映しないことである。
平均トレード、平均トレードの標準偏差、平均収益、平均損失、最大ドローダウン、純利益のような評価基準はひずみ、そしてトレードからトレードへの枚数の変更を分析することを難しくしている。
このことは、もしあなたが利益を積み上げるためにポジションサイズを増やすルールをプログラム化している場合、とりわけあてはまる。
このケースでは平均トレード、ドローダウンのようなパフォーマンスの評価基準の多くがトレードの数とともに増加する傾向がある。
- Because TradeStation isn’t designed to report performance results when using a variable number of contracts or shares, most traders probably stick to a uniform trade size when evaluating systems in TradeStation.
What’s wrong with that?
In a nutshell, it makes it difficult to see the connection between risk and reward.
We’re all familiar with the concept that the greater the risk, the greater the reward.
Higher profits are the compensation for taking on a greater risk.
No one wants to assume more risk without being compensated for it.
However, if you don’t understand the true risk inherent in a system, then how do you know if you’re being fairly compensated for it?
More to the point, when comparing trading systems or when comparing parameter sets for a given system, we generally want to choose the one that produces the greatest reward for a given level of risk.
In order to do this, we need to understand the risk-reward characteristics of our system.
トレードステーションはさまざまな枚数でトレードしたときのパフォーマンスの結果を報告するようにはデザインされていないため、トレードステーションでシステムを評価するときにほとんどのトレーダーはおそらく、一定のトレードサイズに固定している。
これは何か間違っているのだろうか?
簡単に言うならば、このことはリスクと報酬の間の関係をみることを難しくしている。
我々は皆、より大きなリスクにはより大きな報酬という概念になじみがある。
より高い収益は大きなリスクをとることへの報酬なのだ。
誰も高い報酬なしで大きなリスクをとりたくはない。
しかし、もしシステムが本来もっている本当のリスクについてあなたが理解していないとしたら、あなたはどうやってそのリスクに見合う報酬を得ているのかを知るのだろうか?
さらに言えば、トレーディングシステムを比べるときまたはシステムに設定するパラメータ数値を比べるときに、普通我々は受けるリスクのレベルに対して最大の報酬が得られるものを選択したいと思う。
そうするためには、我々は自分のシステムのリスクと報酬の特徴を理解する必要がある。
- As an example, consider the one-contract results from the following system:
1つの例として、次のシステムについて建て玉1枚のときの結果を考えてみる:
Net profit: $5944
Number of trades: 487
Ave. trade: $12
Ave. winning trade: $28
Ave. losing trade: -$23
Percent profitable: 69.6%
Profit factor: 2.73
Largest loss: -$212
Max drawdown: -$1,573
Max consecutive losers: 4
- These results are from a day trading system for the E-mini S&P 500 futures.
Most people probably wouldn’t trade this system because of its small average trade size.
Also, notice that the largest loss is -$212.
This comes from the fixed size stop used for each trade.
This means that you’re risking $212 on each trade to make $28.
Not exactly a favorable risk-reward ratio.
Put another way, with an average trade of $12, every time a trade is stopped out, the results of the past 17 trades are erased.
On the other hand, the system has a high profit factor, and the drawdown is pretty reasonable for one contract.
Assuming the average trade is achievable, would it make sense to try to scale this system up by trading more contracts or is the risk-reward ratio an insurmountable obstacle?
これらの結果はE-mini S&P 500先物でのデイトレーディングシステムによるものだ。
ほとんどの人はこの平均トレードの金額が小さいために、おそらくこのシステムでトレードをしないだろう。
また、最大損失が-212ドルであることに注目してほしい。
これは各トレードで固定額のストップを使ったことによるものである。
これはあなたが28ドルを得るために毎回のトレードで212ドルのリスクをとっていることを意味する。
全くもって有利な報酬に対するリスクの比率(リスクリワードレシオ)ではない。
別の見方では、平均トレード(利益)が12ドルで毎回トレードがストップアウトされれば(毎回12ドルの利益を出してトレードが終了していたとすれば)、過去17回のトレードの結果(利益の積み上げ)は(この固定額のストップ1回で)消されてしまう。
その一方でこのシステムは高いプロフィットファクターを持ち、ドローダウンは1枚あたりでかなり低い額だ。
平均トレードが達成できるものであると仮定すると、より建て玉枚数を増やしてトレードすることにより、このシステムをスケールアップしようとすることが理解できるだろうか?
またはリスクリワードレシオは克服できない障害なのだろうか?