The optimise function in AB works a treat.On Waynes adjustable exits.
Cant use them in a system as the variables have to be fixed.
Fine for discretionary,but how would you pick which variable to use?
How has that gone this year?In the end you'll have a set of parameters that if traded as designed and tested will return the expectancy found through testing.
What you get with a system is a repetitive entry and exit which over time will give the sested return within the upper and lower boundaries of the returns found through testing.
Lol.Not really. Stock distributions of returns are leptokurtic i.e. they have fat tails. This means Black Swans happen more often than you would think.
It is this that makes trend following systems work, and it is this that means you get crunched in a gap down more often than normal distribution suggests.
In this market traders are just used to the upside fat tail and have been relatively unexposed to the downside fat tail.
This will also eventually regress to the "mean" and traders will get more frequent unexpected and unwelcome price shocks at some point in the future.
Be prepared for that.
The optimise function in AB works a treat.
How has that gone this year?
But what happens now?
A lot of systems would never be profitable testing through this period... so do you just set a 'catastrophic movement' filter, to stop it doing anything?
Do you just ignore this period, dismiss it as an anomaly? Does the system have to be profitable during this period for you to think it valid in future? Or do you design systems knowing that it may not perform how it tests, and just accept that?
Ok, after a couple of hours and three separate build runs where i added generations, and changed the weighting of the metrics so that the emphasis was on PF, W%, and W/L Ratio and less on profitability i finally got a system that meets my Objective Function.
I have system code for a DAX system that over 8 months of historical data produced a profit after slippage and commissions of 9007.00 EUR.
The PF = 1.833
The W% = 50.2
The W/L ration = 1.8329
Next step is to take the code over to MultiCharts and test it over the same period to ensure the results are the same.
CanOz
Can
I'm not familiar with the software your using.
Not familiar with sow o the terminology.
But I think your to middle road not at extremes.
By that I mean
(1) if your trading short-term you'll want 65 % and well upwards in win rate.
(2) you'll get trends with a less success rate of 30-40%
The 50% area is very difficult to design a system in--- well that's my experience anyway.
The software I'm using uses an algorithm to design an algorithm. So I've got little control for the moment.
CanOz
If you let the genetic algo run over unbounded time-series it will almost certainly find what you've shown, the 'optimal' solution which isn't very useful walk forward.
You can influence it by providing inputs.
For example, in finding optimal daily mean reversion signals might be to provide ROC2 and Bollinger(120,1.5) of the ROC2 as inputs to the genetic algorithm. You need to come up with some (very simple and robust) inputs which will influence your algo to the sort of trading edges you think exist!
Do you catch what I'm saying? It's very important for intraday, since you need to avoid the exact issue you've found. You will probably find it's not as important if you 'trained' on daily data.
EDIT:
A very simple place to start is to provide
* Bollinger(N,1) on closing price
* Kelt(N,N,1)
* ROC(N*10)
* Bollinger(N*10,1.5) on ROC(N*10)
* Bollinger(N*10,1) on volume
* Bollinger(N*10,2) on volume
Do you see why?
No, i'm afraid its over my head Sinner....
CanOz
Hmmm...it's not the squeeze or anything like that!
Let me try and explain it a different way...
Right now you are feeding in pure price to the system, nothing else.
e.g. tick price time-series
1.01
1.02
1.03
1.02
1.03
1.02
1.03
1.04
1.03
1.02
the optimal algo might just be "buy 1.02 sell 1.03" or "short 1.03 cover 1.02" but what if when the system goes live, it's trading in a price range between 2.00-2.10? "Buy 1.02" or "short 1.03" will never work even though it was "optimal".
but if you added a ROC to it, so that it optimally knew (because they are genetically advantageous) instead "buy on 0.1% dips sell on 0.1% rises"?
this is just an example to give you an idea of what I mean.
The above Bollinger, ROC are converting raw numbers into statistical numbers, specifically std. dev from a mean and % (log normalised) changes in price/volume...notice I said ROC and not Momentum (Momentum is raw). This was just an example I chose because it is simple and robust. Nothing magic about it, there is very high tech math stuff or even technical rules (N occurrences) you could input instead.
The genetics work out whether it's optimal to buy or sell in any given situation, but you have to parameterise the situation, e.g. is it 'genetically advantageous' to buy when the price/volume is exceeding some mean by some std devs or is it more advantageous to short or even be flat?
Hello and welcome to Aussie Stock Forums!
To gain full access you must register. Registration is free and takes only a few seconds to complete.
Already a member? Log in here.