# 198% CAR - too good to be true?



## gooloo (29 September 2008)

so I've had 1000's of "eureka!" moments over the past 12 months of playing with trading strategies and backtesting... all of them have ended in disappointment.

I've recently come up with a system that returns - 

start - 01/01/1995
end - 01/06/2008
total trades - 16718
CAR - 198%
Max Sys DD - 11.3%
% winners - 29%

This is with no optimisation (there really aren't that many paramaters to optimise).

I'm not posting this as a "look how good I am"... rather as an exercise in what can I possibly have done to fudge these results???? I have spent the last month trying to disprove these figures with no success.

I'm using 10% position sizes, 1% max loss stops(intraday), and 45percent trailing profit stops(intraday). entry and exits are on next days open. I'm not forward looking in any of my code. Universe is entire ASX. Data is from premiumdata and I assume clean. What else should I be checking???? How can I break this thing?

Am I too pessimistic in thinking that returns such as this are completely ridiculous and I've fudged something, somewhere? I would have considered any kind of CAR above 30% with drawdown of less than 15% to be exceptional. What % values do people consider a "good" system? 

Help me crush my dreams


----------



## wayneL (29 September 2008)

> Max Sys DD - 11.3%
> % winners - 29%




If this is trading daily bars.... Red flag there IMO


----------



## gooloo (29 September 2008)

yep... daily bars. can you clarify your red flag? is it based on a "if it seems too be good to be true it IS too good to be true?".... because that's what I'm basing mine on.


----------



## wayneL (29 September 2008)

gooloo said:


> yep... daily bars. can you clarify your red flag? is it based on a "if it seems too be good to be true it IS too good to be true?".... because that's what I'm basing mine on.




The two figures seem to be incongruent in the context of a mechanical system.

But not an expert in mech systems, I'll leave the in depth stuff to others.


----------



## Kauri (29 September 2008)

what commission/spread are you using on the 16718 trades??

Cheers
...........Kauri


----------



## gooloo (29 September 2008)

those figures are based on zero trade costs...
If I use $15 per trade the figures end up -

total trades - 16703
CAR - 185%
Max Sys DD - 11.3%
% winners - 29%

I'm not sure if that's what you mean by commission / spread?


----------



## Wysiwyg (29 September 2008)

How will 198% capital adequacy ratio make you money.What has that got to do with how profitable your system will be?Could you explain this?

CAR = tier 1 capital + tier 2 capital risk weighted assets​


----------



## Wysiwyg (29 September 2008)

I`ve been reading Tharp and he says that R multiples are what is important in determining the expectancy oy each trade.

For example ..

Average profit = net profit Ã·  number of trades. 

Expectancy = average profit per trade Ã· average loss. (___R)

Your system has a high loss % so the winners would have to be real beauties with your position size of 10% cap. and 1% stop loss.


----------



## GreatPig (29 September 2008)

Wysiwyg said:


> How will 198% capital adequacy ratio make you money



I think in this case CAR is Cumulative Average Return.

GP


----------



## Wysiwyg (29 September 2008)

GreatPig said:


> I think in this case CAR is Cumulative Average Return.
> 
> GP




Thanks GP.

How is that realistic with 29% winners?


----------



## theasxgorilla (29 September 2008)

gooloo said:


> Help me crush my dreams




What is your universe?


----------



## GreatPig (30 September 2008)

That works out at an average of about 5 trades per day. Pretty high I would have thought for an EOD system. And I would expect brokerage to make a bigger dent than that with so many trades.

My suspicion would be look-ahead code, even though you say there isn't any. Also, just as a comparison, try changing to buy on high and sell on low.

GP


----------



## Wysiwyg (30 September 2008)

I have been doing some reading and came across an interesting point about how ROA % are calculated.

Q. How is the return calculated with your system?


----------



## theasxgorilla (30 September 2008)

theasxgorilla said:


> What is your universe?




Sorry, I see it now, entire ASX.

Have a put any conditions on volume for entry bar?  Are you including brokerage?  How are you modelling brokerage if it's included?


----------



## bingk6 (30 September 2008)

Have you set your trade delays adequately so that you enter and exit your positions the day after you get your signals and NOT on the same day ??


----------



## gooloo (30 September 2008)

thanks everyone for your thoughts - i'll try and answer all questions below....

by CAR i'm referring to cumulative average return.
the universe is the entire asx
i have a volume filter set - the 20 day volume average must be greater than 50,000

trade delays are set to enter and exit on next days open, stops are intraday
with no brokerage the results are -

start - 01/01/1995
end - 01/06/2008
total trades - 16718
CAR - 198%
Max Sys DD - 11.3%
% winners - 29%

with brokerage at $15 per trade the results are -

start - 01/01/1995
end - 01/06/2008
total trades - 16703
CAR - 185%
Max Sys DD - 11.3%
% winners - 29%

with trades set to buy on next days HIGH (rather than on open) and sell on next days LOW (rather than on open) i hit 100% drawdown.

for interests sake.... some other stats from amibroker's backtest report -

Recovery Factor 17.15 
CAR/MaxDD 17.58 
RAR/MaxDD 21.22 
Profit Factor 2.27 
Payoff Ratio 5.56 
Standard Error 23865153571.62 
Risk-Reward Ratio 0.14 
Ulcer Index 1.94 
Ulcer Performance Index 99.72 
Sharpe Ratio of trades 2.17 
K-Ratio 0.0092 

the standard error seems a big number - i'm struggling to find a definition as to how this is calculated and how to interpret it.


----------



## captain black (30 September 2008)

A few thoughts:

(1) Are these results using In-sample data? How do they look using Out-of-Sample data? ie. Try a walk-forward test on out of sample data.

(2) Check the min. tick size you have set in the AA settings. Having a min. tick size of say 1c can greatly skew results if you are exiting intraday on penny stocks.

(3)







> i have a volume filter set - the 20 day volume average must be greater than 50,000



50,000 is quite low imho if you are trading the entire ASX. ie. 50000 shares of a 5c stock isn't much volume....actually 50000 shares of a $2 stock isn't much either! Try it with C*V>250000. This works well for me using a breakout system. If you prefer higher longer term volumes then MA(C*V,20)>250000 would be worth a try.


----------



## theasxgorilla (30 September 2008)

gooloo said:


> i have a volume filter set - the 20 day volume average must be greater than 50,000




What have you set under Backtester settings - Portfolio - "Limit trade size as a % of entry bar volume"?

Also, is $15 fixed brokerage realistic?

Also, if you change to buy on the high of the day and sell on the low then the system sounds sensitive slippage.

I'm not sure how advanced your Amibroker skills are, but you could try writing code the introduces slippage as a % of the distance between open and high (on entry) and open and low (on exit).  Then you can optimise on this variable and see how sensitive the system is to slippage.


----------



## gooloo (30 September 2008)

thanks guys...

As I haven't optimised anything I don't get much difference on in-sample or out of sample data. The results average around the same no matter the time period (from 1995 onwards).

the tick size is set to 0 (means no minimum)

If I change the volume filter to be MA(C*V,20) > 250,000 the results are -

start - 01/01/1995
end - 01/06/2008
total trades - 13336
CAR - 21.7%
Max Sys DD - 17%
% winners - 31%

If I set the volume filter to C*V > 250000 the results are -

start - 01/01/1995
end - 01/06/2008
total trades - 13736
CAR - 30%
Max Sys DD - 16%
% winners - 31%

An improvement on percentage of winners but a massive reduction in CAR and a jump in maxDD. I can play around with optimising the volume threshold but I'm guessing optimisation is always going to push this number lower.

limit trade size as a % of entry bar volume is set to 0 (no limit)

$15 per trade may be a touch low - once I confirm brokerage rates for IB I'll change this. 

I agree it does seem very sensitive to slippage....  Given that around 30% of profit comes from the trailing profit stop I think this is definitely a factor. Also add to this the average trade is only 3 days, AND the max loss is a measly 1%.
an interesting idea on coding in slippage calculation - need to think some more about how I code this.

thanks everyone for your responses - giving me a lot to think about and a lot of ways to break my system 

keep it coming!


----------



## rub92me (30 September 2008)

My guess would be slippage. As suggested before, filter out by dollar volume traded (at C*V at least 100,00) and try run it over a different interval.


----------



## captain black (30 September 2008)

gooloo said:


> If I set the volume filter to C*V > 250000 the results are -
> 
> start - 01/01/1995
> end - 01/06/2008
> ...




ok, given that a slight adjustment in the volume threshhold has significantly reduced your CAR it would be worth paper trading your current system for a while and check the market depth to see if you are able to trade the low volume stocks without "moving the market" so to speak. 

edit: I notice you're trading at the open, so check to see that opening volume is sufficient for you to be able to enter without affecting the opening price.

Also worthwhile is to perform a walk-forward test year by year(ie, 99-00, 00-01, etc.) just using a dummy variable

ie:  dummy=optimize("dummy",1,1,1,1);

so that the walk forward test is still performed but you'll get an idea of what market conditions are more suitable for your system. If you find that you have negative returns during "bearish" periods you may wish to include some sort of index or composite based filter then develop a short system that is "switched on" during the time your current long system is "switched off".


----------



## gooloo (30 September 2008)

the problem with paper trading (with eod data anyway) is that it's not going to show me slippage. It's also not going to show me if I'm moving the market as I'm not actually in the market! I guess sooner or later I need to consider using tick data.

thanks heaps for the tip on the dummy variable for walk fwd testing!!! so much quicker than the way i was doing it (running individual backtests year by year) 

the million dollar question is.... has anyone worked out a "golden rule" for position size versus the average Close*Volume?
i.e. if I'm trading $10,000 worth of shares I can probably get by on a Close*Volume of around 50,000. but if I'm trading $100,000 worth of shares then there's no way I can do this on a stock with a Close*Volume of 50,000 without moving the market.

I'm toying with some ideas in my head around how to meaningfully back test this to come up with a magic ratio. interested to hear others ideas on this "magic ratio".


----------



## GreatPig (30 September 2008)

I limit purchase volume to either 5% or 10% of the average daily volume, and a similar percentage of the actual entry day's volume (although in real trading you won't know that until the end of the day).

If your position size is not based on equity, you can do this in the main code, otherwise you need to use the custom backtester.

GP


----------



## elbee (30 September 2008)

gooloo,

The standard error (which is derived from the variances of the equity line) is ridiculously high and suggests you have perhaps a couple of trades with abnormally high profits.

In the backtester results window sort the trades by profit and then examine in detail the trade with the highest profit to satisfy yourself that trade was actually able to be done at the entry and exit prices shown.


----------



## howardbandy (30 September 2008)

gooloo said:


> thanks everyone for your thoughts - i'll try and answer all questions below....
> 
> by CAR i'm referring to cumulative average return.
> the universe is the entire asx
> ...




Hi Gooloo --

Several things stand out as problematical --

In AmiBroker, CAR is Compound Annual rate of Return.

Max system drawdown of 11% is outstandingly good for a CAR of 198%.

An average of five trades per day over 13 years -- how many symbols in the watchlist?

The K-ratio is too low.

29% winners is pretty low for a lot of people.

1995 to the present suggests that all of this is in-sample.  Is that true?  If so, it is probably meaningless.  Run some walk-forward tests and see what the out-of-sample results look like.


Thanks,
Howard


----------

