A matter that has been in years source of contrast between quantitative analysts and developers of system trading is the question if a trading system must be optimized on every financial tool or if it is necessary to individualize a set of parameters working on more markets, if possible not correlated among them. Given the clear difficulty to individualize the most universal rules it often results more convenient for some to sustain that it needs to individualize specific rules or inputs for every market. On the base of years of experience matured in systematic trading on futures and stocks we take side with half road between the two tides of thought, and an example will help us to illustrate our philosophy. To plan a winning trading system is an activity that can be compared to the planning of a motor competition. To aim at winning a world’s championship needs to get more scores than anyone else: it is not essential to win all the races, but surely a great constancy of output is needed on all the circuits and in different conditions of asphalt, temperature and climate. The good way to reach this objective is to have a fast car but easy to be set intervening only on few parameters passing from a circuit to the other. At every race drivers and technicians have at disposal just two days of testing to find the correct order that allows them to go faster than the others and to beat the competition. If you have a car that well adapts to every condition of environment and speedway all it takes is acting on few parameters to be competitive so that you’ll quickly succeed to find the correct settings in the little time at disposition. Contrarily if you have a very sophisticated car, very sensitive to the parameters or projected in a very specific way with highly technical characteristics (for example with the engine power curve and aerodynamics fitted for being fast in the circuits with elevated hourly average) you’ll risk then to be in great difficulty with finding the right setting in the little time in your disposition especially on the circuits that badly suit the characteristics of the car (city circuits, tortuous speedways, etc.).
In a competition that lasts 9 months it is not important to win in some occasions with great advantage on the adversaries if then in the greatest part of the other challenges you cut the finishing line in back positions. In the world of trading the season never has end and is important to have flexible strategies that allow us to be able to produce results the most constant possible in every condition of market. To earn the 30% one year, but to lose the 25% the following one means to return to an inferior amount of money than that possessed at the time of the departure.
The same principle of the motor competitions can be transferred to the development of a trading system. The carrying structure of the strategy has to be the same for many financial tools and, with parity of the parameters, the mathematical expectancy must be positive. On every market it will be then advisable the setting of some parameters (like the setting of the run car characterized by the incidence of the ailerons, regulation of dampers, the differential, etc.) suiting them to the peculiar characteristics of the curve to trade. As in the motor competitions the car doesn’t change for every circuit but only some settings, the same we will do in the trading.
We take for example the following strategy that we will denominate Velociraptor 1.2. The leading idea is trying to catch a directional movement of the markets exploiting the angular coefficient of the Adx: when the Adx inclination increases we take a stand. As we know the Adx it is not an indicator of direction but of intensity of the trend: it doesn’t indicate us in what side of the market we must take position. The purchasing condition is given by a nine period inclination of the simple moving average that’s higher of the inclination of the simple moving average on 25 periods and by the Macd that must be higher of its own exponential moving average on 10 periods.
Vice versa an angular coefficient of the 9 period simple moving average smaller than that on 20 and a smaller Macd than its own 10 periods exponential moving average define the order to open a short position while opening the following bar. The Macd also determines the decision of closing the position; if the Macd is inferior to its exponential average we close the long position, vice versa if we are in a short position and the Macd is higher to its moving average we get out of market.
We programmed this simple strategy in easy Language[1] and we tested it on five future markets with very different characteristics among them: Bund, cross Euro-dollar, Mini-Russell, Mini-S&P, Eurostoxx50[2]. We have gotten a profict factor of portfolio equal to 1,88 and an adjusted profict factor of 1,61. The percentage of success is very high, it overcomes 70%, even if this goes to damage the ratio average win / average loss that is broadly inferior to 1. The portfolio equity curve, calculated on a theoretical capital of departure of 100.000 $ it is very regular and only around the trade number 200 it suffers an important point of arrest with a drawdown that reaches 12%. The values of the risk-output indicators as K-ratio and Sharpe ratio are discreet while the global efficiency of the system is broadly positive. The best results are gotten on the Eurostoxx50 that reaches a profit factor of 2,61, while the “black sheep” of this strategy is the Euro that gets a positive performance even if of little.
Therefore the base of the strategy appears very solid: on whole 2 markets among 5 (mini-S&P and mini-Russell) the same set of parameters has been used, while on the lasting three have been varied from 1 to 2 parameters. All the parameters we used are explained beside in the schedule next to the relative futures. The base of the strategy (the chassis) is therefore solid and in such cases can serve as carrying column for following adaptations that the specificities of the single markets require especially in terms of risk and money management.
Every market has in fact specific characteristics of volatility and, despite the globalization has increased the correlations among the markets, each of these is otherwise influenced by the volumes, by the efficiency of the exchanges, by the publication of the macroeconomic data and by the schedules of negotiation. Therefore when has been individualized a standard chassis we must suit some parameters for the characteristics of the single circuit-market so that to make it more efficient. In the result of a trading system is fundamental to integrate it with a good strategy of money management that always allows to hold the risk under control. In the case we’re examinating it misses a part of management of the risk of portfolio. A bearable historical drawdown or passed losses that have never been elevated are not enough to make us able to avoid whatever event producing great losses, especially when we are reasoning on a daily strategy that produces a quite little number of signals and not always statistically meaningful. This means that the “worst case scenario” is always behind the angle and a trading system must be able to face whatever type of unforeseen event and not leave us at mercy of the market waiting for receiving an exit signal the day following… For example it happens that, despite the ts Velociraptor 1.2. in its rising version is not an overfitted system, in recent times it have had to face its maximum adverse excursion entirely without a risk control. It opens a long position, the market instead of rising goes down (fig. 2); but is not sensational that the system has taken a wrong direction, because it happens to whatever trading system: serious instead is that the potential loss comes to overcome the maximum historical drawdown without a limit to the losses that could assume enormous proportions in comparison with the capitalization or with the past profits. Therefore don’t forget that whatever instrument we use must have good “brakes” to face whatever type of unforeseen event especially if the car is powerful and the speedway dangerous.
{******************************************************************************
Velociraptor 1.2.
Enrico Malverti © 2008
Easy Language
Time frame: Daily
Futures
Operatività: Overnight
web: www.enricomalverti.com, email: info@enricomalverti.com
*******************************************************************************}
Input: Period(30), Len(1), Period2(9), Period3(20);
Vars: Acceleraz1(false), Acceleraz2(false), ave(0);
Ave = XAverage(MACD(C, 10, 25), 10);
If adx(Period) <> 0 and adx(Period)[Len] <> 0 Then begin
value1 = (absvalue(ADX(Period) – ADX(Period)[Len])/ADX(Period)[Len])*100;
if AVerage(C, period2)[Len] <> 0 and Average(C, Period2) <> 0 then
value2 = (absvalue(Average(C, Period2)-Average(C, period2)[Len])/ AVerage(C, period2)[Len])*100;
if AVerage(C, period3)[Len] <> 0 and Average(C, Period3) <> 0 then
value3 = (absvalue(Average(C, Period3)-Average(C, period3)[Len])/ AVerage(C, period3)[Len])*100;
if value1 > value1[1]*3 Then Begin
if value2 > value3 and MACD(C, 10, 25) < Ave then Buy next bar {Highest(H, 5) Limit}O;
if value2 < value3 and MACD(C, 10, 25) > Ave Then Sell next bar {Lowest(L, 5) Limit}O;
end;
end
else value1 = 0;
if Marketposition = 1 and MACD(C, 10, 25) > Ave Then ExitLong (“LX”) next bar at market;
if Marketposition = -1 and MACD(C, 10, 25) < Ave Then Exitshort (“sX”) next bar at market;
[1] Also available in EFS (eSignal Formula Script).
[2] We’ve not subtracted commissions and slippage.
Portfolio Evaluator Report – Velociraptor 1.2 (04/01/1994-28/04/2008) | |||||||||||||||||
System Analysis | |||||||||||||||||
Net Profit | $241.622,4993 | Open Position | ($500,0000) | ||||||||||||||
Gross Profit | $517.662,4989 | Interest Earned | $15.620,4852 | ||||||||||||||
Gross Loss | ($276.039,9996) | Commission Paid | $0,0000 | ||||||||||||||
Percent profitable | 71,53% | Profit factor | 1,88 | ||||||||||||||
Ratio avg. win/avg. loss | 0,75 | Adjusted profit factor | 1,61 | ||||||||||||||
Annual Rate of Return | 9,59% | Sharpe Ratio/Semideviation | 0,90 | / | 0,88 | ||||||||||||
Return on Initial Capital | 241,62% | Return Retracement Ratio | 4,14 | ||||||||||||||
Return on Max. Drawdown | 510,40% | K-Ratio | 3,88 | ||||||||||||||
(Sharpe Ratio with equity on monthly data) | |||||||||||||||||
Buy/Hold return | N/A | RINA Index | 204,71 | ||||||||||||||
Cumulative return | 241,62% | Percent in the market | 63,65% | ||||||||||||||
Adjusted Net Profit | $185.430,9014 | Select Net Profit | $306.382,4997 | ||||||||||||||
Adjusted Gross Profit | $487.211,7637 | Select Gross Profit | $508.412,4989 | ||||||||||||||
Adjusted Gross Loss | ($301.780,8623) | Select Gross Loss | ($202.029,9992) | ||||||||||||||
Total Trade Analysis | |||||||||||||||||
Number of total trades | 404 | Avg. trade (%) | 0,65% | ||||||||||||||
Average trade | $598,0755 | Avg. trade ± 1 STDEV | $3.379,6877 | / | ($2.183,5367) | ||||||||||||
1 Std. Deviation (STDEV) | $2.781,6122 | Coefficient of variation | 465,09% | ||||||||||||||
Run-up | |||||||||||||||||
Maximum Run-up | $10.250,0000 | Max. Run-up Date | 10/02/2004 | ||||||||||||||
Average Run-up | $1.907,2901 | Avg. trade ± 1 STDEV | $3.644,9038 | / | $169,6764 | ||||||||||||
1 Std. Deviation (STDEV) | $1.737,6137 | Coefficient of variation | 91,10% | ||||||||||||||
Drawdown | |||||||||||||||||
Maximum Drawdown | ($22.500,0003) | Max. Drawdown Date | 22/01/2008 | ||||||||||||||
Average Drawdown | ($2.351,5988) | Avg. trade ± 1 STDEV | $0,0000 | / | ($5.413,8297) | ||||||||||||
1 Std. Deviation (STDEV) | $3.062,2309 | Coefficient of variation | 130,22% | ||||||||||||||
Reward/Risk Ratios | |||||||||||||||||
Net Prft/Largest Loss | 14,21 | Net Prft/Max Drawdown | 10,74 | ||||||||||||||
Adj Net Prft/Largest Loss | 10,91 | Adj Net Prft/Max Drawdown | 8,24 | ||||||||||||||
Outlier Trades | Total Trades | Profit/Loss | |||||||||||||||
Positive outliers | 1 | $9.250,0000 | |||||||||||||||
Negative outliers | 6 | ($74.010,0004) | |||||||||||||||
Total outliers | 7 | ($64.760,0004) | |||||||||||||||
Efficiency Analysis | |||||||||||||||||
Total Efficiency | |||||||||||||||||
Average Total Efficiency | 26,42% | Avg. trade ± 1 STDEV | 72,84% | / | -19,99% | ||||||||||||
1 Std. Deviation (STDEV) | 46,42% | Coefficient of variation | 175,66% | ||||||||||||||
Entry Efficiency | |||||||||||||||||
Average Entry Efficiency | 52,67% | Avg. trade ± 1 STDEV | 83,70% | / | 21,65% | ||||||||||||
1 Std. Deviation (STDEV) | 31,03% | Coefficient of variation | 58,90% | ||||||||||||||
Exit Efficiency | |||||||||||||||||
Average Exit Efficiency | 73,75% | Avg. trade ± 1 STDEV | 96,97% | / | 50,54% | ||||||||||||
1 Std. Deviation (STDEV) | 23,21% | Coefficient of variation | 31,48% | ||||||||||||||
Portfolio Evaluator Report – Velociraptor 1.2 (04/01/1994-28/04/2008) | |||||||||||||||||
Portfolio Overview | |||||||||||||||||
# | Name | Market | Start
Date |
End
Date |
Initial
Capital |
Weight | Net
Profit |
Number
of Trades |
|||||||||
1 | Bund | ALLFGPER | 04/01/1994 | 28/04/2008 | 100000,0000 | 1 | 29100,0000 | 95 | |||||||||
2 | Euro | ALLCME6EPE | 24/01/2000 | 28/04/2008 | 100000,0000 | 1 | 23250,0000 | 52 | |||||||||
3 | Eurostoxx | ALLEUSTMA | 04/01/1999 | 28/04/2008 | 100000,0000 | 1 | 79079,9985 | 101 | |||||||||
4 | Mini Russell | ALLMRUSS | 01/07/2002 | 28/04/2008 | 100000,0000 | 1 | 58420,0007 | 50 | |||||||||
5 | Mini S&P | ALLSSPER | 15/06/1995 | 28/04/2008 | 100000,0000 | 1 | 51772,5001 | 106 | |||||||||
Performance Ratios | |||||||||||||||||
# | Name | Market | RINA
Index |
Sharpe
Ratio |
Average
Trade |
Avg Trade/
Margin |
Profit
Factor |
Percent
Profitable |
|||||||||
1 | Bund | ALLFGPER | 76,05 | 0,36 | € 306,32 | N/A | 1,52 | 63,16% | |||||||||
2 | Euro | ALLCME6EPE | 36,69 | 0,44 | € 447,12 | N/A | 1,26 | 69,81% | |||||||||
3 | Eurostoxx | ALLEUSTMA | 84,92 | 0,80 | € 782,97 | N/A | 2,61 | 74,26% | |||||||||
4 | Mini Russell | ALLMRUSS | 63,58 | 0,96 | € 1.168,40 | N/A | 2,17 | 76,00% | |||||||||
5 | Mini S&P | ALLSSPER | 120,65 | 0,89 | € 488,42 | N/A | 2,54 | 74,53% | |||||||||
Equity Curve Analysis | |||||||||||||||||
# | Name | Market | Max. Equity
Drawdown |
Max. Equity
Drawdown(%) |
Max. Equity
Run-up |
Max. Equity
Run-up(%) |
Avg. Monthly
Return |
Std. Dev.
of Returns |
|||||||||
1 | Bund | ALLFGPER | (19340,0000) | 33,93% | 40520,0000 | 238,07% | 169,1860 | 1473,1532 | |||||||||
2 | Euro | ALLCME6EPE | (27250,0000) | 98,20% | 58000,0000 | 11600,00% | 227,5000 | 3752,1198 | |||||||||
3 | Eurostoxx | ALLEUSTMA | (15999,9996) | 31,13% | 85139,9981 | 446,23% | 706,0714 | 2556,2131 | |||||||||
4 | Mini Russell | ALLMRUSS | (24420,0004) | 37,71% | 61900,0009 | 312,94% | 834,5714 | 3511,5659 | |||||||||
5 | Mini S&P | ALLSSPER | (9225,0001) | 16,21% | 53852,5008 | 270,41% | 334,0161 | 1259,2001 |
Market | Period | Len | Period2 | Period3 |
Eurostoxx | 10 | 1 | 9 | 25 |
Euro | 30 | 1 | 9 | 20 |
Bund | 30 | 1 | 9 | 20 |
Mini Russell | 15 | 1 | 9 | 25 |
Mini S&P | 15 | 1 | 9 | 25 |