Australian (ASX) Stock Market Forum

Would you trade this system?

Nizar,

My file for the ASX 2001 is 17MB. Have you got an email address that would take that size a file. I found there is a big difference testing the current ASX300 back in 2001 compared to testing the actual constituents of the ASX300 as it was back then. My file includes those shares delisted and those with name changes. Was a painstaking task doing it but worth it as I eliminate the survivorship bias.

Now my date filter was for the last date of 2001 on the weekly chart. The last date if you are trading from a daily chart would be 31/12/2001.

So it should be

StDay:=Input(" Start day",1,31,31);
StMnth:=Input("Start month",1,12,12);
StYear:=Input("Start year",1980,2020,2001);
EnDay:=Input(" End day",1,31,31);
EnMnth:=Input(" End month",1,12,12);
EnYear:=Input(" End year",1980,2020,2001);
If((Year() > StYear OR (Year()=StYear AND ((Month() >
StMnth) OR (Month() = StMnth AND DayOfMonth() >=
StDay)))) AND (Year() < EnYear OR (Year()=EnYear AND
((Month() < EnMnth) OR (Month() = EnMnth AND
DayOfMonth() <= EnDay)))) ,1,0);


Also you might have to use the forum.dll latch function in your exit code to help you get exits on the 31/12/2001

eg

le:=Fml("Your entry trigger");

lx:=Fml("Your exit trigger");

SE:=0;
SX:=0;

B:=ExtFml("forum.Latch",LE,LX,SE,SX);

B = 0 AND Ref(B,-1) = 1



Also add this to your Entry code. It is from Roy Larsen


Date Filter1
StDay:=Input(" Start day",1,31,1);
StMnth:=Input("Start month",1,12,1);
StYear:=Input("Start year",1980,2020,2001);
EnDay:=Input(" End day",1,31,31);
EnMnth:=Input(" End month",1,12,12);
EnYear:=Input(" End year",1980,2020,2001);
If((Year() > StYear OR (Year()=StYear AND ((Month() >
StMnth) OR (Month() = StMnth AND DayOfMonth() >=
StDay)))) AND (Year() < EnYear OR (Year()=EnYear AND
((Month() < EnMnth) OR (Month() = EnMnth AND
DayOfMonth() <= EnDay)))) ,1,0);


Note this date filter is used with a different purpose from the other date filter I gave earlier and that is why I named this date filter1. This date filter when incorporated with your entry code forces only entries that occur between 1/1/2001 and 31/1/2001

So for example

date:=fml("date filter1");
entry:=cross(c,mov(c,21,s));
entry and date

Hope that helps

Also to get the 0.75% go to the preference section where you set your parameters. You have transaction costs:Fixed costs, fixed costs per share/contract,fractional costs. Choose the fractional cost and this will enable you to choose your transaction cost as a fraction of your cost for entry into a trade.

I try to stress my system as much as possible to see how it performs.


Also I chose 2001 as opposed to 2002 because of the unexpected events of sep 11. A lot of systems would have been unprepared for that and most systems perform worse in 2001 than 2002 even though 2002 was a down year for the XAO.
 
Here is my system using my ASX300 list from 2001

It is a weekly system


Detailed Report
(Kaleon asx300 2001list)

Simulation Summary
Simulation Date: 15/09/2007
Simulation Time: 11:35:34 PM
Simulation Duration: 0.13 seconds

Trade Summary
Earliest Entry Date in the Trade Database: 25/01/2001
Latest Entry Date in the Trade Database: 21/12/2001
Earliest Exit Date in the Trade Database: 16/02/2001
Latest Exit Date in the Trade Database: 28/12/2001

Start Trade Entry Date: 25/01/2001
Stop Trade Entry Date: 21/12/2001
First Entry Date: 25/01/2001
Last Entry Date: 21/12/2001
First Exit Date: 16/02/2001
Last Exit Date: 28/12/2001

Total Trading duration: 337 days

Profit Summary
Profit Status: PROFITABLE
Starting Capital: $30,000.00
Finishing Capital: $30,393.37
Maximum Equity/(Date): $393.37 (28/12/2001)
Minimum Equity/(Date): -$2,899.20 (21/09/2001)
Gross Trade Profit: $3,728.24 (12.43%)
Gross Trade Loss: -$3,334.87 (-11.12%)
Total Net Profit: $393.37 (1.31%)
Average Profit per Trade: $19.67
Profit Factor: 1.1180
Profit Index: 10.55%
Total Transaction Cost: $744.76
Total Slippage: $938.41
Daily Compound Interest Rate: 0.0039%
Annualized Compound Interest Rate: 1.4210%

Trade Statistics
Trades Processed: 23
Trades Taken: 20
Partial Trades Taken: 0
Trades Rejected: 3
Winning Trades: 9 (45.00%)
Losing Trades: 11 (55.00%)
Breakeven Trades: 0 (0.00%)

Normal Exit Trades: 16 (80.00%)
Delayed Normal Exit Trades: 0 (0.00%)
Open Trades: 0 (0.00%)
Protective Stop Exit Trades: 4 (20.00%)
Time Stop Exit Trades: 0 (0.00%)
Profit Stop Exit Trades: 0 (0.00%)

Largest Winning Trade/(Date): $1,708.29 (28/12/2001)
Largest Losing Trade/(Date): -$629.55 (21/09/2001)
Average Winning Trade: $414.25
Average Losing Trade: -$303.17
Average Win/Average Loss: 1.3664

Trade Duration Statistics
(All Trades)
Maximum Trade Duration: 239 (days)
Minimum Trade Duration: 7 (days)
Average Trade Duration: 89 (days)
(Winning Trades)
Maximum Trade Duration: 239 (days)
Minimum Trade Duration: 7 (days)
Average Trade Duration: 121 (days)
(Losing Trades)
Maximum Trade Duration: 140 (days)
Minimum Trade Duration: 7 (days)
Average Trade Duration: 64 (days)

Consecutive Trade Statistics
Maximum consecutive winning trades: 3
Maximum consecutive losing trades: 8
Average consecutive winning trades: 2.25
Average consecutive losing trades: 2.75

Trade Expectation Statistics
Normalized Expectation per dollar risked: $0.0910
Maximum Reward/Risk ratio: 5.04
Minimum Reward/Risk ratio: -1.37
Average Positive Reward/Risk ratio: 1.07
Average Negative Reward/Risk ratio: -0.71

Relative Drawdown
Maximum Dollar Drawdown/(Date): $2,978.82 (21/09/2001)
Maximum Percentage Drawdown/(Date): 9.9290% (21/09/2001)

Absolute (Peak-to-Valley) Dollar Drawdown
Maximum Dollar Drawdown: $2,978.82 (9.9290%)
Capital Peak/(Date): $30,000.00 (18000101)
Capital Valley/(Date): $27,021.18 (21/09/2001)

Absolute (Peak-to-Valley) Percent Drawdown
Maximum Percentage Drawdown: 9.9290% ($2,978.82)
Capital Peak/(Date): $30,000.00 (18000101)
Capital Valley/(Date): $27,021.18 (21/09/2001)
 
And now using the current ASX300 list


Detailed Report
(Kaleon asx300 2007 list)

Simulation Summary
Simulation Date: 15/09/2007
Simulation Time: 11:39:19 PM
Simulation Duration: 0.14 seconds

Trade Summary
Earliest Entry Date in the Trade Database: 25/01/2001
Latest Entry Date in the Trade Database: 7/12/2001
Earliest Exit Date in the Trade Database: 16/03/2001
Latest Exit Date in the Trade Database: 28/12/2001

Start Trade Entry Date: 25/01/2001
Stop Trade Entry Date: 7/12/2001
First Entry Date: 25/01/2001
Last Entry Date: 7/12/2001
First Exit Date: 16/03/2001
Last Exit Date: 28/12/2001

Total Trading duration: 337 days

Profit Summary
Profit Status: PROFITABLE
Starting Capital: $30,000.00
Finishing Capital: $35,642.40
Maximum Equity/(Date): $5,642.40 (28/12/2001)
Minimum Equity/(Date): -$1,892.83 (28/12/2001)
Gross Trade Profit: $8,250.36 (27.50%)
Gross Trade Loss: -$2,607.96 (-8.69%)
Total Net Profit: $5,642.40 (18.81%)
Average Profit per Trade: $331.91
Profit Factor: 3.1635
Profit Index: 68.39%
Total Transaction Cost: $640.34
Total Slippage: $1,498.51
Daily Compound Interest Rate: 0.0512%
Annualized Compound Interest Rate: 20.5214%

Trade Statistics
Trades Processed: 18
Trades Taken: 17
Partial Trades Taken: 0
Trades Rejected: 1
Winning Trades: 8 (47.06%)
Losing Trades: 9 (52.94%)
Breakeven Trades: 0 (0.00%)

Normal Exit Trades: 15 (88.24%)
Delayed Normal Exit Trades: 0 (0.00%)
Open Trades: 0 (0.00%)
Protective Stop Exit Trades: 2 (11.76%)
Time Stop Exit Trades: 0 (0.00%)
Profit Stop Exit Trades: 0 (0.00%)

Largest Winning Trade/(Date): $3,242.89 (28/12/2001)
Largest Losing Trade/(Date): -$734.03 (21/09/2001)
Average Winning Trade: $1,031.29
Average Losing Trade: -$289.77
Average Win/Average Loss: 3.5590

Trade Duration Statistics
(All Trades)
Maximum Trade Duration: 337 (days)
Minimum Trade Duration: 21 (days)
Average Trade Duration: 148 (days)
(Winning Trades)
Maximum Trade Duration: 337 (days)
Minimum Trade Duration: 50 (days)
Average Trade Duration: 217 (days)
(Losing Trades)
Maximum Trade Duration: 196 (days)
Minimum Trade Duration: 21 (days)
Average Trade Duration: 86 (days)

Consecutive Trade Statistics
Maximum consecutive winning trades: 4
Maximum consecutive losing trades: 3
Average consecutive winning trades: 1.60
Average consecutive losing trades: 2.25

Trade Expectation Statistics
Normalized Expectation per dollar risked: $0.7200
Maximum Reward/Risk ratio: 7.12
Minimum Reward/Risk ratio: -1.55
Average Positive Reward/Risk ratio: 2.24
Average Negative Reward/Risk ratio: -0.63

Relative Drawdown
Maximum Dollar Drawdown/(Date): $1,187.06 (17/08/2001)
Maximum Percentage Drawdown/(Date): 3.9250% (17/08/2001)

Absolute (Peak-to-Valley) Dollar Drawdown
Maximum Dollar Drawdown: $2,248.87 (7.4360%)
Capital Peak/(Date): $30,241.17 (16/03/2001)
Capital Valley/(Date): $27,992.30 (28/12/2001)

Absolute (Peak-to-Valley) Percent Drawdown
Maximum Percentage Drawdown: 7.4360% ($2,248.87)
Capital Peak/(Date): $30,241.17 (16/03/2001)
Capital Valley/(Date): $27,992.30 (28/12/2001)


Quite a big difference.


I think you will find your system deep in the red when you use my ASX300 list.
 
Tech, a question that I have been pondering:

Why is Monte Carlo Analysis better than Optimising/Walk Forward?

We've been lead down the Monte Carlo path with Tradesim but is it the better way to go?

What's the difference?

Cheers SB

Off to run (Well actually shuffle) the City Bay.Will make some comments this afternoon.
Bingk Julius and Howard all make some points Id like to add to.
 
Why is Monte Carlo Analysis better than Optimising/Walk Forward?

An extention of this question, at risk of digressing the thread, I wonder about the assertion Curtis Faith makes that regular Monte Carlo testing breaks up the sequencing of Black Swan events and hence the distribution of results from a series of Monte Carlo might be misleading. He claims that his TradingBlox software has parameters to keep these events properly grouped. I haven't investigated this and it's of course entirely possible that my interpretation of what he was saying is also incorrect...but since we're calling Monte Carlo into question we might as well take it the whole 9 yards.

For this reason I think GPs idea of randomly dropping a proportion of trades has a lot of merit.

ASX.G
 
Hi Julius --

RE: Out of sample testing

Are the nature of the signals we select for a trading system subject to a natural bias toward performance? ie. a non-systematic process of optimization by the trader who develops the system.

If so, does this support the use of out of sample testing to validate the objectiveness of the design?

I'm not sure you meant this for me, but I'll comment.

In my opinion, the following is a reasonable outline for the design, test, and validation of a trading system. Of course there are personal biases -- they should be identified and incorporated into the objective function if it is possible to do that, or decided upon in one of the early steps before system design and testing starts.

Step 1 is definition of the objective function. The objective function assigns scores to features that the system designer wants to reward or punish. Over any given ticker and time period, alternative systems are ranked by objective function -- higher values are better.

Step 2 is selection of frequency of trading, frequency of data collection, when to enter, style of orders, followed by account size, issues to trade, number of issues to hold, and statement of expectations.

Step 3 is design of the system -- the entries and exits.

Step 4 is selection of the data to use to develop the system. What period of time, how long is each in-sample period, how long is each out-of-sample period, how many walk forward steps, what gets optimized, and so forth.

Step 5 are the optimization and automatic walk forward runs. If the objective function has been well designed, there are no judgments made during the optimization and walk forward -- everything is automatic. When all walk forward steps have been completed, evaluate the concatenated out-of-sample results. (Always ignore all in-sample results -- they are always good and have no predictive value.) Followed by a one-time decision whether to trust the system and trade it, or go back to the drawing board. There is no guarantee that any system will be profitable -- the best we can hope for is a high level of confidence. And that level of confidence is directly related to the rigor with which the system design, test, and validation was carried out.

Step 6 -- only necessary if the system is being traded live. Take every trade without exception! Monitor the performance of the system to evaluate whether it is continuing to work or not. Periodically, typically after the time of an in-sample period has passed, reoptimize and continue trading using the new argument values.

Thanks,
Howard
 
An extention of this question, at risk of digressing the thread, I wonder about the assertion Curtis Faith makes that regular Monte Carlo testing breaks up the sequencing of Black Swan events and hence the distribution of results from a series of Monte Carlo might be misleading. He claims that his TradingBlox software has parameters to keep these events properly grouped. I haven't investigated this and it's of course entirely possible that my interpretation of what he was saying is also incorrect...but since we're calling Monte Carlo into question we might as well take it the whole 9 yards.

For this reason I think GPs idea of randomly dropping a proportion of trades has a lot of merit.

ASX.G

Hi Gorilla --

First, let me state my opinion that Monte Carlo techniques can be very valuable in helping evaluate the performance of a trading system, and help decide whether a trading system is likely to be profitable in the future.

Curtis Faith is one of the original Turtles. Their systems were classical breakouts, with low percentage of winning trades and high ratio of winning amount to losing amount. They traded commodities and looked for favorable Black Swans. They were almost always in either a long position or a short position hoping for the big move or big trend.

Monte Carlo techniques can be applied in many ways. One way is to reorder observed actual trades. Another is to first create a statistical distribution from the observed actual trades, then make repeated random selections from that distribution.

Both of these techniques create simulated equity curves, with the hope that the distribution of these simulated equity curves gives some insight into the possible behavior of the trading system's equity curve, including how Black Swan events might affect the system.

If the question is "Can either of these techniques help describe the effect of Black Swan events and help prepare the trader for them," I think the answer is clearly "yes."

If the question is "Can either of these techniques help avoid future Black Swans," I think the answer is clearly "no."

Thanks,
Howard
 
Monte Carlo techniques can be applied in many ways. One way is to reorder observed actual trades. Another is to first create a statistical distribution from the observed actual trades, then make repeated random selections from that distribution.

Both of these techniques create simulated equity curves, with the hope that the distribution of these simulated equity curves gives some insight into the possible behavior of the trading system's equity curve, including how Black Swan events might affect the system.

Thanks for the quick response Howard. Boy have I got a lot to learn.

His point was that if you don't keep the observed actual trades together in time blocks sufficiently large enough to group the sequence of trades in the Black Swan events then you won't encounter them as intact events in MC analysis often enough to give an accurate indication of their impact on the distribution of results. That was my understanding. It made sense to me.

I agree that doing it his way won't help you get around these events...but I would expect that the distribution of results might better represent the probability that you are going to encounter, say for example, the severe drawdowns often associated with these events.

I actually don't understand what the blue version of MC analysis does, so I'm not sure if it addresses the issue. I'd be curious to know which version of the above TradeSim employs.

Thanks again for the reply.

ASX.G
 
Hi ASXG

My understanding is that TradeSim MC randomises the trades but keeps the date sequence intact. So if there was capital available for one trade, but six signals occurred, then normally TradeSim would take the first share alphabetically.

In MC it shuffles the sequence of trades to give a range of possible portfolios but maintains the date sequence of entries.

Hope this helps

Cheers

Shane
 
Thanks for your response Howard.

I thought I might try to better articulate the original question, given the interesting points of difference in regards to out of sample testing:

The steps Howard lists above serve as systematic alternative to an unstructured, or 'natural' development process. The purpose behind this is to minimise possible subjective influence on the system; which is ultimately the goal of all systems development, regardless of the approach. In this way, we maximise the validity of the system out of sample.

Most technical traders tend to employ a number of different 'indicators' which are mixed and match based on the current situation or in other words the percieved market state. It follows then that the selection of the indicators chosen to be used in a system are subject to some subjective judgement. Note that I refer to indicators in the general sense.

The degree to which this may influence live trading performance depends, I think, on the nature of the system (ie. trend/swing, short term/long term, etc) and also the indicators chosen - is it the combination of the indicators or the specific parameters which are contributing to performance?

Somewhere else Howard posted something about system decay, however I haven't heard Nick Radge address this issue and I suspect that it is not a major part of his methodology - not that either method is better, just different, and perhaps points of difference may arise from the nature of the systems being developed. "There is more than one way to skin a cat"

Interested to hear others thoughts on these issues.

Apologies Nick & Howard if I have misinterpreted anything, feel free to correct me. :rolleyes:
 
Hi ASXG

My understanding is that TradeSim MC randomises the trades but keeps the date sequence intact. So if there was capital available for one trade, but six signals occurred, then normally TradeSim would take the first share alphabetically.

In MC it shuffles the sequence of trades to give a range of possible portfolios but maintains the date sequence of entries.

Hope this helps

Cheers

Shane

Yes thats my understanding as well, and its how David explains it in the TradeSim manual.
 
Nizar,

My file for the ASX 2001 is 17MB. Have you got an email address that would take that size a file. I found there is a big difference testing the current ASX300 back in 2001 compared to testing the actual constituents of the ASX300 as it was back then. My file includes those shares delisted and those with name changes. Was a painstaking task doing it but worth it as I eliminate the survivorship bias.

Now my date filter was for the last date of 2001 on the weekly chart. The last date if you are trading from a daily chart would be 31/12/2001.

So it should be

StDay:=Input(" Start day",1,31,31);
StMnth:=Input("Start month",1,12,12);
StYear:=Input("Start year",1980,2020,2001);
EnDay:=Input(" End day",1,31,31);
EnMnth:=Input(" End month",1,12,12);
EnYear:=Input(" End year",1980,2020,2001);
If((Year() > StYear OR (Year()=StYear AND ((Month() >
StMnth) OR (Month() = StMnth AND DayOfMonth() >=
StDay)))) AND (Year() < EnYear OR (Year()=EnYear AND
((Month() < EnMnth) OR (Month() = EnMnth AND
DayOfMonth() <= EnDay)))) ,1,0);


Also you might have to use the forum.dll latch function in your exit code to help you get exits on the 31/12/2001

eg

le:=Fml("Your entry trigger");

lx:=Fml("Your exit trigger");

SE:=0;
SX:=0;

B:=ExtFml("forum.Latch",LE,LX,SE,SX);

B = 0 AND Ref(B,-1) = 1



Also add this to your Entry code. It is from Roy Larsen


Date Filter1
StDay:=Input(" Start day",1,31,1);
StMnth:=Input("Start month",1,12,1);
StYear:=Input("Start year",1980,2020,2001);
EnDay:=Input(" End day",1,31,31);
EnMnth:=Input(" End month",1,12,12);
EnYear:=Input(" End year",1980,2020,2001);
If((Year() > StYear OR (Year()=StYear AND ((Month() >
StMnth) OR (Month() = StMnth AND DayOfMonth() >=
StDay)))) AND (Year() < EnYear OR (Year()=EnYear AND
((Month() < EnMnth) OR (Month() = EnMnth AND
DayOfMonth() <= EnDay)))) ,1,0);


Note this date filter is used with a different purpose from the other date filter I gave earlier and that is why I named this date filter1. This date filter when incorporated with your entry code forces only entries that occur between 1/1/2001 and 31/1/2001

So for example

date:=fml("date filter1");
entry:=cross(c,mov(c,21,s));
entry and date

Hope that helps

Also to get the 0.75% go to the preference section where you set your parameters. You have transaction costs:Fixed costs, fixed costs per share/contract,fractional costs. Choose the fractional cost and this will enable you to choose your transaction cost as a fraction of your cost for entry into a trade.

I try to stress my system as much as possible to see how it performs.


Also I chose 2001 as opposed to 2002 because of the unexpected events of sep 11. A lot of systems would have been unprepared for that and most systems perform worse in 2001 than 2002 even though 2002 was a down year for the XAO.

Kaleon.
I found a much easier way to exit all open trades at the date which you want.

In the MS exploration, as part of your exit trigger put your exit and then add this:

ExitTrigger:=("your exit") OR ExtFml( "TradeSim.SetTriggerAtDate",dd,mm,yyyy);

Hope this helps.

By the way, it seems your a gun at MetaStock code.
Maybe you can help me with this thread:
https://www.aussiestockforums.com/forums/showthread.php?p=200922#post200922
 
Ok heres mine over the year 2001 over the whole market with a liquidity filter (its included in my entry criteria).

Detailed Report

Trade Database Filename
C:\TradeSimData\WeeklyMaster07for2001.trb

Simulation Summary
Simulation Date: 16/09/2007
Simulation Time: 2:01:15 PM
Simulation Duration: 1.45 seconds

Trade Summary
Earliest Entry Date in the Trade Database: 4/01/2001
Latest Entry Date in the Trade Database: 28/12/2001
Earliest Exit Date in the Trade Database: 25/01/2001
Latest Exit Date in the Trade Database: 11/01/2002

Start Trade Entry Date: 4/01/2001
Stop Trade Entry Date: 28/12/2001
First Entry Date: 4/01/2001
Last Entry Date: 28/12/2001
First Exit Date: 25/01/2001
Last Exit Date: 11/01/2002

Total Trading duration: 372 days

Profit Summary
Profit Status: PROFITABLE
Starting Capital: $30,000.00
Finishing Capital: $31,413.62
Maximum Equity/(Date): $1,413.62 (11/01/2002)
Minimum Equity/(Date): -$1,757.07 (23/02/2001)
Gross Trade Profit: $3,600.25 (12.00%)
Gross Trade Loss: -$2,186.63 (-7.29%)
Total Net Profit: $1,413.62 (4.71%)
Average Profit per Trade: $128.51
Profit Factor: 1.6465
Profit Index: 39.26%
Total Transaction Cost: $484.00
Total Slippage: $0.00
Total Trade Interest: $0.00
Daily Compound Interest Rate: 0.0124%
Annualized Compound Interest Rate: 4.6214%

Trade Statistics
Trades Processed: 761
Trades Taken: 11
Partial Trades Taken: 0
Trades Rejected: 185
Winning Trades: 7 (63.64%)
Losing Trades: 4 (36.36%)
Breakeven Trades: 0 (0.00%)

Largest Winning Trade/(Date): $944.46 (21/12/2001)
Largest Losing Trade/(Date): -$1,069.00 (16/02/2001)
Average Winning Trade: $514.32
Average Losing Trade: -$546.66
Average Win/Average Loss: 0.9408

Trade Breakdown Long and Short Trades Long Trades Short Trades
Normal Exit: 11 (100.00%) 11 (100.00%) 0 (0.00%)

Total Trades: 11 (100.00%) 11 (100.00%) 0 (0.00%)

Trade Duration Statistics Winning and Losing Trades Winning Trades Losing Trades
Maximum Trade Duration: 350 (days) 350 (days) 98 (days)
Minimum Trade Duration: 14 (days) 14 (days) 20 (days)
Average Trade Duration: 158.45 (days) 219.14 (days) 52.25 (days)

Consecutive Trade Statistics
Maximum consecutive winning trades: 5
Maximum consecutive losing trades: 3
Average consecutive winning trades: 3.50
Average consecutive losing trades: 2.00

Relative Drawdown
Maximum Dollar Drawdown/(Date): $1,845.07 (23/02/2001)
Maximum Percentage Drawdown/(Date): 6.1500% (23/02/2001)

Absolute (Peak-to-Valley) Dollar Drawdown
Maximum Dollar Drawdown: $1,845.07 (6.1500%)
Capital Peak/(Date): $30,000.00 (18000101)
Capital Valley/(Date): $28,154.93 (23/02/2001)

Absolute (Peak-to-Valley) Percent Drawdown
Maximum Percentage Drawdown: 6.1500% ($1,845.07)
Capital Peak/(Date): $30,000.00 (18000101)
Capital Valley/(Date): $28,154.93 (23/02/2001)
 
I should also say the system i am running these tests are is weekly.

This is testing over the current ASX300.

Kaleon, would you be able to tell me which stocks are part of the 2001 list for ASX300.
Then i can create my own custom folder as i have the current ASX300 and also a folder of delisted securities.

Detailed Report

Trade Database Filename
C:\TradeSimData\WeeklyMaster07for2001CurrentASX300.trb

Simulation Summary
Simulation Date: 16/09/2007
Simulation Time: 2:11:28 PM
Simulation Duration: 0.20 seconds

Trade Summary
Earliest Entry Date in the Trade Database: 4/01/2001
Latest Entry Date in the Trade Database: 28/12/2001
Earliest Exit Date in the Trade Database: 25/01/2001
Latest Exit Date in the Trade Database: 11/01/2002

Start Trade Entry Date: 4/01/2001
Stop Trade Entry Date: 28/12/2001
First Entry Date: 4/01/2001
Last Entry Date: 21/09/2001
First Exit Date: 25/01/2001
Last Exit Date: 11/01/2002

Total Trading duration: 372 days

Profit Summary
Profit Status: PROFITABLE
Starting Capital: $30,000.00
Finishing Capital: $34,041.46
Maximum Equity/(Date): $4,041.46 (11/01/2002)
Minimum Equity/(Date): -$1,241.00 (16/02/2001)
Gross Trade Profit: $5,712.02 (19.04%)
Gross Trade Loss: -$1,670.56 (-5.57%)
Total Net Profit: $4,041.46 (13.47%)
Average Profit per Trade: $449.05
Profit Factor: 3.4192
Profit Index: 70.75%
Total Transaction Cost: $396.00
Total Slippage: $0.00
Total Trade Interest: $0.00
Daily Compound Interest Rate: 0.0340%
Annualized Compound Interest Rate: 13.2020%

Trade Statistics
Trades Processed: 425
Trades Taken: 9
Partial Trades Taken: 0
Trades Rejected: 106
Winning Trades: 6 (66.67%)
Losing Trades: 3 (33.33%)
Breakeven Trades: 0 (0.00%)

Largest Winning Trade/(Date): $2,788.46 (11/01/2002)
Largest Losing Trade/(Date): -$1,069.00 (16/02/2001)
Average Winning Trade: $952.00
Average Losing Trade: -$556.85
Average Win/Average Loss: 1.7096

Trade Breakdown Long and Short Trades Long Trades Short Trades
Normal Exit: 9 (100.00%) 9 (100.00%) 0 (0.00%)

Total Trades: 9 (100.00%) 9 (100.00%) 0 (0.00%)

Trade Duration Statistics Winning and Losing Trades Winning Trades Losing Trades
Maximum Trade Duration: 371 (days) 371 (days) 98 (days)
Minimum Trade Duration: 20 (days) 112 (days) 20 (days)
Average Trade Duration: 195.22 (days) 266.17 (days) 53.33 (days)

Consecutive Trade Statistics
Maximum consecutive winning trades: 4
Maximum consecutive losing trades: 2
Average consecutive winning trades: 3.00
Average consecutive losing trades: 1.50

Relative Drawdown
Maximum Dollar Drawdown/(Date): $1,329.00 (16/02/2001)
Maximum Percentage Drawdown/(Date): 4.4300% (16/02/2001)

Absolute (Peak-to-Valley) Dollar Drawdown
Maximum Dollar Drawdown: $1,329.00 (4.4300%)
Capital Peak/(Date): $30,000.00 (18000101)
Capital Valley/(Date): $28,671.00 (16/02/2001)

Absolute (Peak-to-Valley) Percent Drawdown
Maximum Percentage Drawdown: 4.4300% ($1,329.00)
Capital Peak/(Date): $30,000.00 (18000101)
Capital Valley/(Date): $28,671.00 (16/02/2001)
 
Somewhere else Howard posted something about system decay, however I haven't heard Nick Radge address this issue and I suspect that it is not a major part of his methodology - not that either method is better, just different, and perhaps points of difference may arise from the nature of the systems being developed. "There is more than one way to skin a cat"

Interested to hear others thoughts on these issues.

Well i am nowhere near as qualified as Nick Radge or Howard to speak on this matter, but will put forward my view nonetheless.

Howard did say that systems do decay over time, and he gave the Donchian Style breakout systems that worked so well in the 70s and 80s -- and in his view do not work well now -- as an example.

Now many of us here who have successfully traded trend following systems in the last few years would beg to differ.

In my point of view, mechanical systems have a far sooner expiry date when traded on the futures market than on the stockmarket.

Why? Because as a % of total market participants, i would suspect that mechanical systems traders make up a far greater proportion in the futures markets than they do in the stockmarket. As a result of this, there is much more research and development going on into designing mechanical systems in the futures market compared to in the stockmarket.

BlackStar's paper in 2005 suggested in its introduction that it was not commonplace for trend following systems to be traded in the stockmarket, even though it had been practiced in the futures market for decades.

Also, In the stockmarket, you have buy-and-hold types, and of course, how can we forget "believers" (look at the BMN thread to know what i mean). I dont think there are many of those types in the futures markets (?).

Any mistakes/misunderstanding in the above is probably from total ignorance. Iv never traded futures, and im only just getting started in systems testing and design. Its pretty much based on what Iv read and from speaking to others.
 
Nizar,

This is the list of ASX300 constituents as of 31 Dec 2000

AAT
AAU
ABC
ADA
ADB
ADP
ADZ
AFI
AFT
AGG
AGH
AGK
AHD
AHX
AIP
AIX
AJR
ALL
ALS
ALU
AMC
AMM
AMP
ANM
ANN
ANZ
AOG
AOR
APA
APL
APN
AQP
ARG
ART
ASC
ASX
AUD
AUN
AXA
AXN
BAM
BBG
BDL
BEN
BHP
BIR
BLD
BOQ
BRL
BRS
BRY
BTA
BWA
BWP
BXB
CAA
CAG
CAT
CBA
CCL
CDO
CEP
CEQ
CEW
CFT
CFX
CGJ
CIR
CLI
CLT
CND
CNP
COA
COH
CPA
CPU
CRG
CSL
CSR
CTL
CTR
CTX
CWO
CXP
DDF
DGD
DID
DIT
DJS
DJW
DRT
ECP
EDI
EML
ENE
ENG
ENV
ERG
ETR
EZY
FCL
FEA
FFL
FGL
FHF
FLX
FOA
FXJ
GDM
GGL
GHG
GMF
GPT
GTP
GUD
GWT
HFY
HIH
HLY
HRP
HSL
HSN
HTA
HVN
HWE
HYO
IAG
IAM
IBA
IBC
ICC
IDT
IFM
IHG
IIF
ILU
IOF
IPG
IPH
ITG
IXL
JBM
JDV
JHX
JUP
KAZ
KYC
LEI
LFE
LHG
LLC
LMS
LNN
LOK
MAQ
MBL
MCW
MGI
MGR
MIA
MIG
MIM
MIS
MLB
MLE
MME
MOF
MRE
MRZ
MTS
MYO
NAB
NCM
NDY
NEV
NFD
NLX
NMB
NRT
NUF
NVS
NWL
NWS
OEC
OIL
OML
ONE
ONX
OPS
ORG
ORI
OSH
OST
OTT
PAO
PAS
PBB
PBL
PGL
PHY
PLF
PLT
PMC
PMM
PMP
POF
PPT
PPX
PRG
PRK
PRT
PTD
PTZ
PWR
PWT
QAN
QBE
QCH
QTK
RDF
RGS
RIC
RIO
RKN
RMD
ROC
RSG
SBC
SCP
SEN
SEV
SFH
SFL
SGB
SGM
SGP
SGS
SGW
SHL
SIP
SKE
SLX
SMI
SMX
SNX
SOH
SPP
SPT
SRA
SRP
SRV
SSX
STG
STO
SUN
SWS
SYB
TAB
TAH
TAP
TCN
TEM
TEN
TGG
THG
TIF
TIM
TLA
TLS
TMN
TNE
TOL
TOR
UCL
UEL
UGL
USC
UTB
UXC
VCM
VEA
VRL
VSL
WAN
WBC
WES
WFA
WFT
WMR
WMT
WOW
WPL
WSF
WYL
ZTL
 
Nizar

With your results using the current ASX300 list you have not include slippage and transaction costs. Have you set the entry order control as a stop order and to unconditionally enter a trade?

If I followed your set up my results are:




Detailed Report
(Kaleon asx300list no transaction/slippage, default entry)

Simulation Summary
Simulation Date: 16/09/2007
Simulation Time: 1:16:29 PM
Simulation Duration: 0.14 seconds

Trade Summary
Earliest Entry Date in the Trade Database: 25/01/2001
Latest Entry Date in the Trade Database: 7/12/2001
Earliest Exit Date in the Trade Database: 16/03/2001
Latest Exit Date in the Trade Database: 28/12/2001

Start Trade Entry Date: 25/01/2001
Stop Trade Entry Date: 7/12/2001
First Entry Date: 25/01/2001
Last Entry Date: 7/12/2001
First Exit Date: 16/03/2001
Last Exit Date: 28/12/2001

Total Trading duration: 337 days

Profit Summary
Profit Status: PROFITABLE
Starting Capital: $30,000.00
Finishing Capital: $37,850.58
Maximum Equity/(Date): $7,850.58 (28/12/2001)
Minimum Equity/(Date): -$954.20 (21/09/2001)
Gross Trade Profit: $9,547.27 (31.82%)
Gross Trade Loss: -$1,696.69 (-5.66%)
Total Net Profit: $7,850.58 (26.17%)
Average Profit per Trade: $461.80
Profit Factor: 5.6270
Profit Index: 82.23%
Total Transaction Cost: $0.00
Total Slippage: $0.00
Daily Compound Interest Rate: 0.0690%
Annualized Compound Interest Rate: 28.6290%

Trade Statistics
Trades Processed: 18
Trades Taken: 17
Partial Trades Taken: 0
Trades Rejected: 1
Winning Trades: 11 (64.71%)
Losing Trades: 6 (35.29%)
Breakeven Trades: 0 (0.00%)

Normal Exit Trades: 15 (88.24%)
Delayed Normal Exit Trades: 0 (0.00%)
Open Trades: 0 (0.00%)
Protective Stop Exit Trades: 2 (11.76%)
Time Stop Exit Trades: 0 (0.00%)
Profit Stop Exit Trades: 0 (0.00%)

Largest Winning Trade/(Date): $3,411.60 (28/12/2001)
Largest Losing Trade/(Date): -$564.06 (21/09/2001)
Average Winning Trade: $867.93
Average Losing Trade: -$282.78
Average Win/Average Loss: 3.0693

Trade Duration Statistics
(All Trades)
Maximum Trade Duration: 337 (days)
Minimum Trade Duration: 21 (days)
Average Trade Duration: 148 (days)
(Winning Trades)
Maximum Trade Duration: 337 (days)
Minimum Trade Duration: 28 (days)
Average Trade Duration: 177 (days)
(Losing Trades)
Maximum Trade Duration: 196 (days)
Minimum Trade Duration: 21 (days)
Average Trade Duration: 95 (days)

Consecutive Trade Statistics
Maximum consecutive winning trades: 4
Maximum consecutive losing trades: 2
Average consecutive winning trades: 2.20
Average consecutive losing trades: 1.50

Trade Expectation Statistics
Normalized Expectation per dollar risked: $1.0000
Maximum Reward/Risk ratio: 7.74
Minimum Reward/Risk ratio: -1.23
Average Positive Reward/Risk ratio: 1.95
Average Negative Reward/Risk ratio: -0.63

Relative Drawdown
Maximum Dollar Drawdown/(Date): $909.46 (17/08/2001)
Maximum Percentage Drawdown/(Date): 2.9850% (17/08/2001)

Absolute (Peak-to-Valley) Dollar Drawdown
Maximum Dollar Drawdown: $1,416.92 (4.6510%)
Capital Peak/(Date): $30,462.72 (16/03/2001)
Capital Valley/(Date): $29,045.80 (21/09/2001)

Absolute (Peak-to-Valley) Percent Drawdown
Maximum Percentage Drawdown: 4.6510% ($1,416.92)
Capital Peak/(Date): $30,462.72 (16/03/2001)
Capital Valley/(Date): $29,045.80 (21/09/2001)
 
That last tradesim test was using fixed % risk.

Now using equal dollar units of $5000 per trade with no slippage and no transaction costs and default entry which is what I think you have used for your results I get this:

Detailed Report
(Kaleon asx300 current list no transaction/slippage, default entry, fixed dollar units)

Simulation Summary
Simulation Date: 16/09/2007
Simulation Time: 1:20:25 PM
Simulation Duration: 0.09 seconds

Trade Summary
Earliest Entry Date in the Trade Database: 25/01/2001
Latest Entry Date in the Trade Database: 7/12/2001
Earliest Exit Date in the Trade Database: 16/03/2001
Latest Exit Date in the Trade Database: 28/12/2001

Start Trade Entry Date: 25/01/2001
Stop Trade Entry Date: 7/12/2001
First Entry Date: 25/01/2001
Last Entry Date: 16/11/2001
First Exit Date: 16/03/2001
Last Exit Date: 28/12/2001

Total Trading duration: 337 days

Profit Summary
Profit Status: PROFITABLE
Starting Capital: $30,000.00
Finishing Capital: $42,368.62
Maximum Equity/(Date): $12,368.62 (28/12/2001)
Minimum Equity/(Date): $88.31 (17/08/2001)
Gross Trade Profit: $14,432.18 (48.11%)
Gross Trade Loss: -$2,063.57 (-6.88%)
Total Net Profit: $12,368.62 (41.23%)
Average Profit per Trade: $1,124.42
Profit Factor: 6.9938
Profit Index: 85.70%
Total Transaction Cost: $0.00
Total Slippage: $0.00
Daily Compound Interest Rate: 0.1025%
Annualized Compound Interest Rate: 45.3381%

Trade Statistics
Trades Processed: 18
Trades Taken: 11
Partial Trades Taken: 0
Trades Rejected: 7
Winning Trades: 8 (72.73%)
Losing Trades: 3 (27.27%)
Breakeven Trades: 0 (0.00%)

Normal Exit Trades: 10 (90.91%)
Delayed Normal Exit Trades: 0 (0.00%)
Open Trades: 0 (0.00%)
Protective Stop Exit Trades: 1 (9.09%)
Time Stop Exit Trades: 0 (0.00%)
Profit Stop Exit Trades: 0 (0.00%)

Largest Winning Trade/(Date): $7,469.03 (28/12/2001)
Largest Losing Trade/(Date): -$1,195.62 (17/08/2001)
Average Winning Trade: $1,804.02
Average Losing Trade: -$687.86
Average Win/Average Loss: 2.6227

Trade Duration Statistics
(All Trades)
Maximum Trade Duration: 337 (days)
Minimum Trade Duration: 42 (days)
Average Trade Duration: 162 (days)
(Winning Trades)
Maximum Trade Duration: 337 (days)
Minimum Trade Duration: 42 (days)
Average Trade Duration: 184 (days)
(Losing Trades)
Maximum Trade Duration: 196 (days)
Minimum Trade Duration: 42 (days)
Average Trade Duration: 103 (days)

Consecutive Trade Statistics
Maximum consecutive winning trades: 4
Maximum consecutive losing trades: 2
Average consecutive winning trades: 2.67
Average consecutive losing trades: 1.50

Relative Drawdown
Maximum Dollar Drawdown/(Date): $2,028.77 (17/08/2001)
Maximum Percentage Drawdown/(Date): 6.3170% (17/08/2001)

Absolute (Peak-to-Valley) Dollar Drawdown
Maximum Dollar Drawdown: $2,028.77 (6.3170%)
Capital Peak/(Date): $32,117.07 (16/03/2001)
Capital Valley/(Date): $30,088.31 (17/08/2001)

Absolute (Peak-to-Valley) Percent Drawdown
Maximum Percentage Drawdown: 6.3170% ($2,028.77)
Capital Peak/(Date): $32,117.07 (16/03/2001)
Capital Valley/(Date): $30,088.31 (17/08/2001)
 
Sorry Nizar,

I noticed you had transaction costs but no slippage. I think slippage would eat away a large portion of potential profit. Did you used fixed dollar units of fixed % risk in your simulations?
 
Great thread to read guys.Well done for sharing so much of your research.
I have a question if you don't mind.
When you use a back testing method to review your systems, do you then forward test for a period of time and compare actual results vs historical theorectical?
The reason I ask this is some years back when I was playing with metastock I would find systems that appear to work on back test well however when the 'go live' test was undertaken the profitability dropped dramatically and mostly became unprofitable.
I think this is because back testing assumes a get out at price target. This is not always the case (especially with derivatives) because the volume does not allow the trade to be completely exited.
You guys have obviusly spent a great deal more time than I did so wondering if this figures at all in your equations?

thanks and congrats again on a great thread

debono
 
Top