Extremely simple strategies with > 100% annual return

Quote from tenthousandmen:

Number of trades per day isn't as important as your usual target range. Unless you're only making a couple of ticks per trade, the notion of commission and slippage ruining your pnl is hogwash...:)

Of course, this is the age old problem. You have to raise your target. But guess what, when you do that your win rate goes down. So you lower your target, guess what you dip below the vig. In the end, you have to up your win rate with higher targets. That's the name of the game. All I'm saying is it's easy to find systems that does slightly better than break-even but not enough to overcome the commission+slippage. You could say that the markets are built so that it is easy to do that and hard to overcome the costs. If it wasn't that way, then the commission and slippage will quickly rise to ensure this to be the case.
 
Quote from ssrrkk:

Of course, this is the age old problem. You have to raise your target. But guess what, when you do that your win rate goes down. So you lower your target, guess what you dip below the vig. In the end, you have to up your win rate with higher targets. That's the name of the game. All I'm saying is it's easy to find systems that does slightly better than break-even but not enough to overcome the commission+slippage. You could say that the markets are built so that it is easy to do that and hard to overcome the costs. If it wasn't that way, then the commission and slippage will quickly rise to ensure this to be the case.
Yes... those are also easily curve fitted systems
 
Quote from abattia:

"1000" is a frequency? What units? Or doesn't it matter?
Quote from jcl:

"1000" is the filter frequency in bars:

http://zorro-trader.com/en/filter.htm

and the "100" is the number of bars for the ATR function.

Other values might give a better result, but I haven't tried them as the compound strategy optimizes those parameters anyway. The above script uses 1-hour bars.
According to your Zorro link, the "1000" is the cutoff period, not the cutoff frequency. Huge difference between period and frequency and the two should never be confused with each other.

FWIW, using a LPF with a cutoff period of 1000 bars is practically like removing all of the tradable price information. And I'm not sure how seriously I take the "lag-free" claim. The LPF must be a causal filter to be applicable to trading and there are very few practical low-lag causal filters. Never seen one that is truly lag-free. Even Mark Jurik no longer makes that claim for his JMA.
 
Quote from promagma:

I like how your platform is built on Gamestudio. It was great fun back in 1996 making little games :)

No idea it was still around.
Wow, a Gamestudio old timer on this forum. Yes, it's still around and came a long way - it's now even used for creating trade platforms, instead of computer games! :) http://www.3dgamestudio.com
 
Quote from intradaybill:

You optimized some trivial system and you got very good results. Nothing new about that. One problem is that this type of non-linear models are very sensitive to initial conditions. They are chaotic in a sense. This is the main reason they do not work in practice. Specifically, if you start from a nice peak and you get a good downtrend you have a cushion to work with. If you do not get the trend but choppy action for a while, you accumulate losses without a cushion. Thus, timing and initial conditions plus the fact that optimum parameter values change constantly turn these systems into big losers 99% of the time.

Every trader with little experience knows not to waste time looking at such systems.
Walk-forward optimized systems are completely independent on initial conditions. That's just how a walk forward optimization works - the system regularly re-adapts its own parameters to the most recent price data. Look here: http://zorro-trader.com/en/training.htm
 
Quote from kut2k2:

According to your Zorro link, the "1000" is the cutoff period, not the cutoff frequency. Huge difference between period and frequency and the two should never be confused with each other.

FWIW, using a LPF with a cutoff period of 1000 bars is practically like removing all of the tradable price information. And I'm not sure how seriously I take the "lag-free" claim. The LPF must be a causal filter to be applicable to trading and there are very few practical low-lag causal filters. Never seen one that is truly lag-free. Even Mark Jurik no longer makes that claim for his JMA.
I know of no totally "lag free" filter. The lowpass filter that I use, with a 1000 bars cutoff period (or cutoff frequency if you prefer), has a lag in the 10 bars range.

As to your idea that a 1000 bars lowpass filter removes all tradable price information, just test this idea with this little script:
Code:
plot("Lowpass",LowPass(series(price()),1000),0,RED);
plot("EMA",EMA(series(price()),1000),0,BLUE);
You get immediately this result:

lowpass.png


The red curve is the lowpass filter, the blue curve is the EMA. Both are not really comparable, as a 1000 bars period has a very different effect on the EMA than on the lowpass filter, but you see that the filter is smoother and at the same time reproduces the curve much better than the EMA. This is because the lowpass filter only affects frequencies above the cutoff period, while the EMA affects all frequencies.
 
Quote from jcl:

Walk-forward optimized systems are completely independent on initial conditions. That's just how a walk forward optimization works - the system regularly re-adapts its own parameters to the most recent price data. Look here: http://zorro-trader.com/en/training.htm

At the last walk-forward step you will end up with some initial conditions for the actual trading and the system performance will depend on those. But actual performance will depend on market contitions. A small variation and there you go, boom...Do you understand the difference?
 
Quote from jcl:

but you see that the filter is smoother and at the same time reproduces the curve much better than the EMA.

Just use a faster MA and you get the same results. Or better use a fast MA(MA()). You get less lag and smooth performance.
 
Quote from intradaybill:

At the last walk-forward step you will end up with some initial conditions for the actual trading and the system performance will depend on those. But actual performance will depend on market contitions. A small variation and there you go, boom...Do you understand the difference?
You misunderstand walk forward optimization. The last walk-forward step indeed generates the parameters for the actual trading, but the system then trades with this parameters only for a time equivalent to the last test period. After that time, new parameters are generated, and trading continues with those parameters. This way you're essentially using a parameter-free system that's always adapted to the current market situation. You can find a tutorial of walk forward optimization on the Zorro website.
 
Congratulations to the OP for starting a thread that's seems to have caught the interest (if not the full approval) of the Strat Dev crowd...
Quote from jcl:
...You can find a tutorial of walk forward optimization on the Zorro website...
What is your connection to the Zorro website?
 
Back
Top