GreatPig
Pigs In Space
- Joined
- 9 July 2004
- Posts
- 2,368
- Reactions
- 14
It is a form of Monte Carlo testing. The way I see it, randomly rejecting trades is much the same as randomly picking trades from the available signals, as long as you don't reject so many that the sparsity of signals biases the results too much._ExY_ said:This method seems to resemble monte carlo whereas instead of randomly selecting trades at random your simply rejecting them(is there any difference?!)
How can the information gained by this approach be anymore useful in testing the 'resilience' of the system?
This method seems to resemble monte carlo whereas instead of randomly selecting trades at random your simply rejecting them(is there any difference?!)
I actually still don't get monte carlo analysis...do you reject any trades when you do monte carlo analysis? Or do you just reorder them and observe things like Max DD?
The answer to the first question...my thoughts only...if you reject trades at random, and you have a large enough sample of trades to be considered significant, and through rejecting say 5% of the trades you notice that your CAGR or Max DD or some other relevant measure consistently takes a big hit, then it could be the case that your system is too dependent upon the opportunity factor present in your sample data, and may not perform as well with a reduced opportunity factor in the future.
ASX.G
So rather than one singular portfolio of trades being tested many 1000s can be tested.I have seen a system which has a 97% success rate (97% of portfolios are profitable,3% are losers) over 20000 portfolios.
Would you trade it?
Why/why not?
(Question is to anyone interested).
And of course I ignore the last 5 years in all backtests.
Normally trades are selected based on preference rules, when more than one is available at a time. Randomising which of those trades is selected goes part way towards Monte Carlo testing, but unless your system gives lots of signals, there may be certain signals which will always be picked up simply because they are the only signals available at that time, especially in a shorter-term system. If one that's always picked up is a huge winner, then all your Monte Carlo results will be biased by that same trade, as you may never get a backtest without that trade in it. By randomly rejecting signals though, you will eventually get backtests where that trade is rejected, and will thus see some results that don't include it.
Yes, but that's a historic winner which may not normally occur and may not occur again. If the system only ends up with positive expectancy because of that trade, then if such a trade doesn't occur again during his trading life, his system won't make money.bingk6 said:he'll always be in a position to take that hugh winner
Yes, but that's a historic winner which may not normally occur and may not occur again. If the system only ends up with positive expectancy because of that trade, then if such a trade doesn't occur again during his trading life, his system won't make money.
A lot of ifs and buts of course, but just something to be wary of. I think a robust system shouldn't be highly reliant on any particular trade or small number of trades.
Yes, but that's a historic winner which may not normally occur and may not occur again. If the system only ends up with positive expectancy because of that trade, then if such a trade doesn't occur again during his trading life, his system won't make money.
A lot of ifs and buts of course, but just something to be wary of. I think a robust system shouldn't be highly reliant on any particular trade or small number of trades.
Cheers,
GP
Probably similar, but I think taking out random trades would be easier to code.tech/a said:Is this not covered taking out the best and worst trades in the test.
I think a robust system shouldn't be highly reliant on any particular trade or small number of trades.
It is always better to check for the performance of the system with the extremes removed, so that we are only checking the "bread and butter" stuff.
If one that's always picked up is a huge winner, then all your Monte Carlo results will be biased by that same trade, as you may never get a backtest without that trade in it. By randomly rejecting signals though, you will eventually get backtests where that trade is rejected, and will thus see some results that don't include it.
An alternative to Tech’s method is as follows:-
a) From the Trade Log Window note the unique trade numbers you wish to exclude from this simulation,
b) go to the Trade Database Window and remove the tick from the box of the trade numbers noted in a) above,
c) then press Start Simulation and the new results will now exclude those trades.
Why? This doesn’t really answer Nizars original question. Nizars question is more about what is the likelihood of a trading system replicating its results in a different period. So does it matter if you’re testing to see how these extremes are removed? Well its not going to matter if they are there in the future. All of the tests proposed so far simply access how the system will perform if these outliers aren’t there. They are not about accessing weather or not the system will be able to pickup these in the future, which should be the aim when designing these tests (if these types of tests are devised they will be able to measure to some extent the robustness of the system).
Also Nizars question is also about weather or not to deem a system exhibiting statistically significant behaviour based upon its results. You are trying to access weather or not these outliers (well the behaviour of all trades and from those trades the behaviour of the system) picked up by your system are something that is likely to be picked up in the future.
I know that this may seem repetitive but this still doesn’t tell us anything we already know and doesn’t address Nizars original question. I could turn this line of thought around and say I have a system that has an expected mean < 0, but should I still trade it because the system may pickup because I may pickup a winning trade that makes the system suitable for trading? What im trying to say is, given we have a system that is profitable because of a small % of outlier trades, and perform Monte Carlo where several portfolio are produced and now lets say that one of these portfolios gives an unfavorable result. Now lets take this unfavorable portfolio and imagine that this was the actual result we got originally prior to performing the Monte Carlo analysis where we reject N trades. I could say well should I reject the system? Because it may pickup some favorable trades in the following N trades.
Randomly removing buy signals is not just about removing outliers. As it randomly removes any signal, there will be some backtests where the outliers are still present. It's primarily to help ensure that different backtests will take different portfolio paths, and that after lots of backtests, a large variety of portfolios using the same signals will have been tested. As far as outliers go, it's mainly to help ensure that none of them are always included in every portfolio backtest._ExY_ said:So does it matter if you’re testing to see how these extremes are removed?
It wasn't a response to Nizar's original question, rather to your more-recent question.this still doesn’t tell us anything we already know and doesn’t address Nizars original question.
It's primarily to help ensure that different backtests will take different portfolio paths,
So rather than one singular portfolio of trades being tested many 1000s can be tested.I have seen a system which has a 97% success rate (97% of portfolios are profitable,3% are losers) over 20000 portfolios.
Would you trade it?
Why/why not?
I see your point and yes it could.
But do you really want to take a punt that the portfolio your trading wont be the portfolio that makes a loss.
Systems development is about removing the "Punt" factor.
It wasn't a response to Nizar's original question, rather to your more-recent question.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?