Yeah, I got one of those, too. A strategy that during the 09-09 /ES contract produced $15,553 in net profit with only $30 in draw-down and I actually achieved these numbers by optimizing for SQN -- no joke, here... Van Tharpe himself would be applauding -- which makes me wonder if I'm not sitting on a Holy Grail after all. Even throwing away the top 2 or 3 winning trades, the damn thing produces a 200%+ return on the capital tied-up for margin purposes, and that's for 6 months (or so). I'm still goofing with it, but it looks pretty darn promising. It's fully automatic -- no discretionary trades in there at all. It doesn't like to go short much, and it will sometimes let long stretches of time go by without seeing anything it likes at all -- literally, no trades for a period of weeks. I'll try and post a pic of the graph.
Seeing your parameters I'm willing to bet it's curve fitted.
Run your optimization on half your data window and then run the optimized values on the 2nd half. If the results are bad then it's curve fitted. Even if the results are not good it doesn't mean it's not curve fitted. Finally walk it forward in real time.
But seeing all your parameters, 99.9% chance that it's curve fitted.
Yeah, back-testing it, the strategy actually is continually profitable with those bizarre parameters, but I have a personal rule about throwing away the single best trade from any back-test as an outlier. The 06-09 /ES contract looked liked the attached image: profitable by $2,100+, but notice that if you remove the single best trade, it's actually in the red. It does back-test well, profitable continuously, but when taking away that single best trade from each back-test, it's flattish in performance. Let's see if I can attach the 06-09 results image:
By the way, I don't have any problem with the concept of using optimized parameters as a rule -- I do happen to think the market is essentially chaotic in the sense that the human mind can not grasp the structures that exist within it -- and that an optimal strategy over time will probably end-up capturing some kind of deep, fluctuating rhythm in a variance across time, i.e., the actual parameters of whatever the optimal strategy actually is will be difficult for us to grasp -- the underlying mechanics of whatever rhythm is in there don't seem to be integratable to the human mind.
in exemplum: Observe that just as random traffic noise does actually have a beat -- an actual rhythm -- it's simply beyond our mind to identify that rhythm. A computer can identify a "rhythm" of 1,247 beats per measure, and 463 measures per bar, when processing an audio clip of random traffic noise -- but again, to the human ear, it's just random noise.
I hate speaking in metaphor, but the market is much the same. Patterns do seem to be there; they're just too deep for us to be able to actually identify them.
Anyhow, my basic point is that weird parameters by themselves don't necessarily force me to abandon a strategy.
The following user says Thank You to AynRandFan for this post:
It's not just that you have weird parameters, you have lots of them.
If I can write a simple strategy that uses a moving average crossover having only two parameters, and it will have profitable results, then anything more complicated than that with more than 2 parameters can have profitable results too.
I haven't tried it (I intend to) but I've heard one could optimize a strategy based on temperature and other totally unrelated data and have a profitable strategy.
Like the idea that if league X wins the Super Bowl then the president will be from party Y. Patterns exist, especially during short periods of time, but that doesn't mean they are predictive.
Throwing out the best trade is good but you must know that optimizing will search to rule out all bad trades and include all good ones. It's a compromise between the two. That's all it does. And if all good days happen on a wed and all bad ones on a thursday (during the test period) it'd conclude to trade on wed and not thursday. But that doesn't mean those days have predictive power.
The following user says Thank You to cunparis for this post:
Actually the whole point of chaos theory is that chaotic systems, while they are complex and unpredictable in certain respects, they are also inherently deterministic and thus understandable and predictable in the large sense. What that means is that while you cannot predict the exact trajectory a chaotic system will take, if you understand its dynamics you can predict where it is headed on a larger scale and places it might stop along the way (think Gann techniques, Murrey Math lines).
Chaotic systems are also controllable in many cases. 20 years ago engineers though chaos was something to be avoided, too complex and unpredictable. But recent breakthroughs since the late 90's have led to new insights and understanding of chaotic behavior, we are now finding that chaos is natural and desirable in many cases. For example if you understand the chaotic dynamics of a mechanical system you can exert a very small perturbation to create a huge change in the system, whereas an equal change using standard techniques would have required much more energy exertion. Consider how a relatively weak earthquake in the ocean depths can create standing waves which join together with other waves to eventually create a monster tidal wave.
The reason I bolded inherently in the first paragraph is to emphasize the fact that the reason markets are chaotic is because their dynamics are inhereted from the people acting in them. People are inherently prone to chaotic behavior, after all chaos is the natural state of things in this universe. The fact that we attempt to impose order on everything is one of the great paradoxes of human existence IMO and a very interesting question from the standpoint of spirituality.
But back to trading, consider the example of how a small perturbation can create a larger change in a system. This is exactly how the 'stop hunt' technique the operators use works. Because people tend to think alike (and because they tend to use the same simple, linear systems) they tend to cluster orders at certain places in the limit order book. Ie they have the thought process, 'I think a reversal is impending but I want to sell if it breaks above the previous high', or there will be others who think 'If there is a breakout of this high I want to go long and ride this powerful trend' so many orders will be clustered in these areas.
Along comes an operator who understands this and has enough money to perturb the system by placing orders above the ask/below the bid (they grease the wheels with self-induced slippage). All they have to do is quickly move the price a little bit to set off a chain reaction of fear among the noise traders which causes some to close their positions further moving the price until it hits the large cluster of orders, which depending on the size of that cluster may set off another chain reaction, etc.. All the while the operators who originally took a loss in order to perturb the system are the ones on the other end of these transactions gobbling up short orders at a higher price or buy orders at a lower price, trapping the uninformed traders into bad positions.
That is just one example but pretty much all phenomena that occur in markets can be understood to some degree through the lens of chaos theory. Understanding chaos is extremely valuable because it allows you to know what kinds of market dynamics are likely to be predictable and what kinds are unlikely to be predictable. While it is helpful to understand the mathematics of chaos, there is much greater benefit in just understanding the general tendencies of chaotic systems.
The following 2 users say Thank You to sefstrat for this post:
This strategy is somewhat naive in that it could be making a lot more profit with a lower win%. It is only taking scalp orders with relatively tight MM, if I enabled the swing orders the win% would go down but profit factor and overall profitability would go way up. (disregard the fact the orders are labeled swing on the chart, its a bug..) I posted details about my MM system on another thread yesterday if you are interested..
Note that I do not trade this exact strategy live but I do trade others very similar to it and the results are valid, its not a ninja backtesting bug =)
(in real trading my win% is low 90s, but win% is irrelevant really.. only profitability and stability matter (stability means low, consistent drawdown, no outliers))
Edit: added another image of the chart from this backtest.. you can see that it is able to isolate tops (and bottoms) very nicely
Last edited by sefstrat; October 5th, 2009 at 03:42 AM.
The following 4 users say Thank You to sefstrat for this post:
The results of your strategy are impressive - and for me it was final motivation to dive into wave(lets). And while it will take me "a while" to digest all the new information (books) I have few questions for you.
On your most recent charts you use morphological wavelets - is this what you use in the strategy you trade or do you base your strategy on some other signals.
Can you recommend any read on morphological wavelets and any other topic you recommend? I have already found some of your recommendations in other threads but well... never enough knowledge.
Also do you use multiple confirmation from various indicators or are you confident starting trade with just one of your indicators.
Which application of wavelets do you think is the most powerful for algorithmic trading: denoising, cycle extraction, extrapolation, change detection, pattern detection or other?
Morphological wavelets are a nonlinear variation on the standard Haar transform. In the strategy pictured the indicators you see are the only ones being used (actually the one in the middle is just a different representation of what is in the top pane, ie it is the wavelet detail coefficients related to the wavelet approximation or scaling coefficients which are plotted in the top pane)
In my real strategy I use an ensemble technique which is a neural network that takes many different signals based on different strategies I have developed and combines them to make a decision. Ie it takes the signals from this strategy and compares it with signals generated by other strategies based on a different indicator (most of which are based on wavelets). Each strategy gets a vote on what to do at this time (nothing, buy, sell, exit) and its vote is weighted based on how accurate its previous votes were.
All of that is quite complex and largely unnecessary at this point, I find that it only improves performance about 10-12% over using the most powerful individual sub-strategies alone. The performance gain used to be quite a bit higher (25-30%) before I started using wavelets, as you can see from the results above wavelets can isolate important features in the signal and allow you to easily filter them out so you really don't need anything else.
Feature extraction/pattern detection is definitely the most powerful aspect of wavelets for this application, in the past I would have added denoising to the list but the more I work with the nonlinear stuff I am finding that there is value in the noise =)
The morphological transform I am using is very similar to one called 'max lift' which is used in image processing for edge detection, I would advise against messing with the nonlinear stuff though until you understand the standard Haar transform. Haar transform is the only one which can easily be applied in real time so I wouldn't worry about the other basis functions like Daubechies, least asymmetric, etc..
I think the post was titled 'more contracts == less risk'
The following 3 users say Thank You to sefstrat for this post: