Australian (ASX) Stock Market Forum

Dump it Here

I plan to get involved. Are we running this as a daily or weekly strategy?
Timeframe: Weekly
@dpong the strategy is from your snippet of code & the details are:

Portfolio size $100k
Bet size $5k
Index - All Ordinaries
Backtest Data Source: Norgate Platinum
Backtest Date range: 1/07/2020 - 30/12/2020
Watchlist: All Ords Current & Past
Pad and Align: XAO.au
Timeframe: Weekly

Skate
 
I trade the US markets, so the data I have is the data I have. Here I am trading against the Russell 3000 and using the S&P500 instead of the Australian index. Obviously the code does not currently reference the index filter at this time.

SetForeign( "^SPX", True , True ); // I've used the new Norgate Updater (NDU) format - change if the format is different to your data supplier

[It is a very chipper first run! I'm quite surprised.]

Windows_10-5.jpg
 
The profits are quite outstanding. The MaxDD is a little bit troubling, and could be an area to improve.

[Though the CAR/MaxDD @ 1.92 is actually quite good! Perhaps I should withdraw my comment.]

[I'm still using free data from Yahoo finance. Will soon be using Norgate data US Platinum.]
 
I ran the test back from 1995. Sure there are lots of problems doing that but still worth a look. (Survivorship bias, Index delisting, etc.)

It shows a few things.
1) Using only 2020 as a baseline may be problematic. 2020 in many ways was a trend follower's dream come true.
2) MaxDD and CAR/MaxDD are much worse in this run. Improvements in this area would be welcomed.
3) Long term Annual Return still looks compelling.

Windows_10-6.jpg

Window_and_Windows_10-3.jpg
 
Last edited:
For reference, here is where I found the CCI crossover code:


[They have many examples and system examples. Obviously(?) I am not affiliated with them in any way.]
 
Made a small change by tightening up the tight stop from 10% to 5%. Using only 2020 I got a slight improvement in Annual Return and CAR/MaxDD. Naturally, we would need to test on different time series to see if I'm merely curve-fitting 2020.

Notification_Center.jpg



Windows_10-7.jpg
 
Using 1995-2020 long term data the CAR was slightly lower and CAR/MaxDD was also slightly lower. Neither were lower by much.

[Just a whisker.]
 
Sorry about the size of my graphics.

Using 2020 data only, changing Position Score makes a significant improvement.

[This strategy makes a *lot* of trades.]

Window_and_Windows_10-4.jpg

Windows_10-8.jpg
 
For reference, here is where I found the CCI crossover code:
[They have many examples and system examples. Obviously(?) I am not affiliated with them in any way.]

@dpong you didn't mention that the parameter setting was for a Daily Strategy.

Question
1. Did you backtest the strategy from the original source: https://tradingtuitions.com/cci-trading-system-2/

Remark
There seems to be little interest in developing a CCI Strategy so we will give it the flick.

Daily code parameters Capture.JPG
Daily parameters Capture.JPG

Skate.
 
That is too bad, @Skate because I am very interested in it. I Googled CCI trading system as you suggested and that is what I found. I saved it in AmiBroker as an example to read later. Then I asked you if this is how you are using CCI. I didn't test the original code, but I have been testing the code you provided.

I'm running the code that you provided with this formula on weekly data and it is getting stellar results on my US data, although the drawdowns are large.

I'm currently running an optimization for the Fast and Slow CCI to see if I can find a good spot to set these.

Just because the authors ran it daily, I see no reason for me to not use it weekly, if it works. [I was psyched.]
 
@dpong you didn't mention that the parameter setting was for a Daily Strategy.


Remark
There seems to be little interest in developing a CCI Strategy so we will give it the flick.

View attachment 118295

Skate.

Hi Skate,

Just an observation that from your initial post to dismissing the CCI activity was about 12 hours and most of that was overnight, perhaps a bit quick? Your time to dismiss the WTT was also reasonably quick I felt.
 
I'm running the code that you provided with this formula on weekly data and it is getting stellar results on my US data, although the drawdowns are large.

@dpong the drawdown is acceptable trading the Aussie All Ordinaries. To overcome a large drawdown you can add a momentum stop or a stale exit. Fiddling with a strategy is half the fun while remembering not to curve fit the strategy to any time period. Also, I've used a conservative Price Filter, an area that can be investigated.

Skate.
 
@dpong the drawdown is acceptable trading the Aussie All Ordinaries. To overcome a large drawdown you can add a momentum stop or a stale exit. Fiddling with a strategy is half the fun while remembering not to curve fit the strategy to any time period. Also, I've used a conservative Price Filter, an area that can be investigated.

Skate.
Thank-you for your advice, sir! I hope I did not pollute your thread too much, overnight. And I did not mean to mislead you that the code I took was from an author advising it works best on a daily chart. It was certainly not my intention. [I just the new guy, so sorry.]
 
Hi Skate,
Just an observation that from your initial post to dismissing the CCI activity was about 12 hours and most of that was overnight, perhaps a bit quick? Your time to dismiss the WTT was also reasonably quick I felt.

@stasisbr, when there is no interest, there is no interest.

Skate.
 
I'm new at this so better not accept my conclusions too easily here, but I am trying.

I ran an optimization of CCIFast and CCISlow for this CCI strategy on US data for 2018, 2019, 2020. [I'm optimizing for CAR/MDD.]

For CCISlow it appears that values of 10 or 15 appear to be promising.

Window_and_Windows_10-5.jpg




Given that CCIFast will be 10 or 15, then potential candidates for CCISlow look to be between 30 to 50. Even 70 through 100 could be viable.

[50 looks like a prime candidate.]
Window_and_Windows_10-6.jpg


I will continue my testing. @Skate kindly PM me if I should slow down, thanks!
 
Thank-you for your advice, sir! I hope I did not pollute your thread too much, overnight. And I did not mean to mislead you that the code I took was from an author advising it works best on a daily chart. It was certainly not my intention. [I just the new guy, so sorry.]

I would follow skates advice there. I ran the code against AllOrds and it was good but some years it was completely flat. I would be a bit reluctant to run it as a stand-alone system (I would want to combine it with another strategy). Not sure what it looks like on the US market but what skate says is correct. Try a stale filter, a momentum filter. Try and see why it has those large drawdown's during that period. the goal wont be to curve fit a rule/method to get the best outcome but adding a rule that preserves capital during those moments. WHen I design my systems I make sure the system rules, in general, work well. Then I add my filters to preserve capital during those down times but with rules that make sense and are sound.
 
Interesting how we all get slightly different results from the same code and source.
Amibroker with original code + Norgate Platinum
1/7/2020 - 30/12/2020

Current All Ords | All Ords at time of purchase (inc. Delisted) | (Bonus) Entire ASX (inc. Delisted)
1610507360757.png
 
Last edited:
The original code does need optimising as the cherry picked results may seem incredible but the 10 year returns show a different story.
1/1/2010 - 31/12/2020
Current All Ords (Not possible unless you can read the future) | All Ords at time of purchase (inc. Delisted) | (Bonus) Entire ASX (inc. Delisted)

1610508358124.png
 
Top