Which strategies work, and which don't

Quote from jcl:

Highpass, lowpass, and bandpass filters. This is the lite-C code for a simple second degree lowpass filter:

Code:
var smoothF(int period) { return 2./(period+1); }

var LowPass(var *Data, int Period)
{
	var *LP = series(*Data,3);
	var a = smoothF(Period);
	var a2 = a*a;
	return LP[0] = (a-a2/4)*Data[0]
		+ 0.5*a2*Data[1]
		- (a-0.75*a2)*Data[2]
		+ 2*(1.-a)*LP[1]
		- (1.-a)*(1.-a)*LP[2];
}

This is no moving average. MA crossing strategies are normally not profitable because of lag.

Using such filters in trade strategies is described on a website to which I can't post a link here out of consideration for the sponsors of this forum. I already got chastised by a moderator for posting too much info.


Do you have a screen shot of this filter?
 
SteveNYC: A chart of a lowpass filter was posted here some months ago, look for a thread titled like "extremely simple profitable strategies" or similar. And no, I do not day trade. My computer does.
 
Quote from jcl:


This is no moving average. MA crossing strategies are normally not profitable because of lag.

You mean second or higher order filters work, I guess. First order low pass = exponential moving average. So you are saying that going from first order to second order filters makes an unprofitable system become profitable. I suppose it's plausible, but I still haven't had the chance to check.
 
Quote from ssrrkk:

So you are saying that going from first order to second order filters makes an unprofitable system become profitable. I suppose it's plausible, but I still haven't had the chance to check.
If a system is profitable depends on many factors, not alone on the filter. But it's certainly easier to write a profitable system with a second order filter, than with an EMA. The filter catches market changes earlier because it has far less lag. You can easily test this when you have a trade platform with a C style language - just replace the EMA with my code above.
 
Quote from jcl:

Highpass, lowpass, and bandpass filters. This is the lite-C code for a simple second degree lowpass filter:

Code:
var smoothF(int period) { return 2./(period+1); }

var LowPass(var *Data, int Period)
{
	var *LP = series(*Data,3);
	var a = smoothF(Period);
	var a2 = a*a;
	return LP[0] = (a-a2/4)*Data[0]
		+ 0.5*a2*Data[1]
		- (a-0.75*a2)*Data[2]
		+ 2*(1.-a)*LP[1]
		- (1.-a)*(1.-a)*LP[2];
}

This is no moving average. MA crossing strategies are normally not profitable because of lag.

Using such filters in trade strategies is described on a website to which I can't post a link here out of consideration for the sponsors of this forum. I already got chastised by a moderator for posting too much info.

This filter certainly has the characteristic frequency response of a low pass filter. Unfortunately the charting tools I use don't have the capability to evaluate it but I note it can be rewritten as:

EMA( EMA( (1/a-0.25)*Data[0]+0.24*Data[1]-(1/a-0.75)*Data[2] ))

where EMA is the standard EMA function.

Why not use the zero lag EMA which is first order and not as lagging as a standard EMA, although it isn't a low pass filter:

EMA( 2*Data[0]-Data[k] ) with k=1 or k=2
 
I haven't heard yet from the zero lag EMA indicator, but if I understand your formula correctly, it's the EMA of the price momentum. This is more a highpass filter than a low pass filter, and has certainly not zero lag.
 
Back
Top