# My New Monthly System



## MovingAverage

Greetings All,

Over the past eighteen months I've been kicking around a few ideas for a monthly based systematic trading system. About three months ago I got serious about developing and testing the system and I'm reasonably happy with the system's performance and I'm now at the stage of contemplating going live with the system. However, before committing my actual capital to the system I'm going to paper trade the system for the next 6 to 9 months and intend to document my experience with the system and the trades here. My intention is to start the paper trades early Jan.

A little bit about the system and my requirements of the system:

*Why a monthly system*: Well I'm a little time poor and I already trade seperate daily and weekly systems so I figure a monthly based system in which entries and exits are placed at the beginning of each month will not be as demanding on my time.

*Entry and Exits*: I am but a simple man and so I like simple trading systems. After reading Nick Radge's Unholy Grails I've always been intrigued by the 20% Flipper strategy although I've never had any direct trading experience with the 20% Flipper other than to read the description in Nick's book. The broad logic underpinning the entries in my monthly system were inspired by the 20% Flipper but it is fare to say that my entry signals are radically different to that described in Nick's book. The main difference being that my system is most definitely not based on the "low point" used in the 20% Flipper. Again, I'm a simple man so my exits are based on a simple trailing stop.

*System Performance*: I've developed and evaluated my monthly system using Amibroker and TradeSim. While I generally consider a range of metrics when evaluating a system's performance the main key headline metrics I look at include: CAR, System Drawdown, % Winners, Profit Factor and Avg Bars Held. I've done some initial monte carlo analysis (using Trade Sim--I don't like Amibrokers' Monte Carlo analysis) and here is what it looks like:

CAR:- Min 35% Max 43%
System Draw Drawdown:- Min 10% Max 17%
% Winners:- Min 52% Max 58%
Profit Factor: - Min 3 Max 5
Avg Bars Held: - Min 34 Max 37

My plan is to go live with this system using an initial bankroll of $50k and a max number of open positions of 20 with each open position being 5% of the portfolio value. As such the above system performance figures were based on the simple model of 20 positions each being 5% of the portfolio value. I only intent to trade XAO so the above is based on stocks making up the XAO.

I will more than likely use Bell Direct to trade this system (yes I know there are cheaper brokers around, but I like Bell for several reasons) so the above performance is based on their current schedule of trade fees ($15 upto $10k, $25 between $10k and $25k and 0.1% over $25k).

Like I said I plan to paper trade for six to nine months before going live so stay tuned while I take my initial positions early Jan. Buy/Sell orders will be placed at the start of each month. I plan to do a bit more detailed Monte Carlo analysis of my system over Christmas so my system parameters may undergo a little tweaking here and there between now and the New Year.

I'm happy to receive any constructive feedback during this journey.

Have a great Christmas and New Year everyone and I hope 2020 brings us all a successful year of trading. Cheers all, MA.


----------



## jjbinks

Keen to see how you go.

I paper traded weekly flipper system on the US market for 6 months before deciding it wasn't for me. (I posted my results in the forums if you are interested)

Your results are quite impressive and I think it is very good idea to paper trade to give you that extra confidence that there is no issues with your system. 

Can I ask about settings for your back testing? 
What period did you test over?
What data did you use?
I know your system is monthly but is this done using amibroker monthly backtest setting or is is through the code? (The reason I ask is that it then helps make sense of bars held i.e. 34 months vs 34 days)

Also do you think you could post your equity graph?

Do you use a market filter?


----------



## MovingAverage

jjbinks said:


> Keen to see how you go.
> 
> I paper traded weekly flipper system on the US market for 6 months before deciding it wasn't for me. (I posted my results in the forums if you are interested)
> 
> Your results are quite impressive and I think it is very good idea to paper trade to give you that extra confidence that there is no issues with your system.
> 
> Can I ask about settings for your back testing?
> What period did you test over?
> What data did you use?
> I know your system is monthly but is this done using amibroker monthly backtest setting or is is through the code? (The reason I ask is that it then helps make sense of bars held i.e. 34 months vs 34 days)
> 
> Also do you think you could post your equity graph?
> 
> Do you use a market filter?




@jjbinks In relation to my backtesting--I used Amibroker's Explorer to give me a dump of all possible trades. I didn't just use entered trades via the backtester which would have only been a sub-set of all possible trades. I then dumped all possible trades into TradeSim for the Monte Carlo simulations which gave me the results that I published in this thread. For the results I posted here I used all stocks that made up XAO from 1 Jan 2000 through to 1 Nov 2019 and my data included all current and delisted stocks (to address survivorship bias). I've done some walk forward analysis recently and for that I used a broader time frame of XAO stocks starting at 1 Jan 1990 through to 1 Nov 2019. I set the time frame in AFL to monthly. Funny you should mentioned hold time as I do have a few uncertainties that I'm looking at in more detail as my feeling is that the hold time should be less but I'm just confirming this so will let you know soon. No problems on posting the equity curve. I'll post up some graphs from you in the next day or so. Yes, I use several market filters but nothing too fancy--volume, price and an index filter (is XAO up, down or sideways).


----------



## MovingAverage

@jjbinks here you go, a few Amibroker graphs for you. Keep in mind these graphs were generated using $50k initial capital with max of 20 open position each being 5% of portfolio value (open positions + cash). I used the trade commission schedule as outlined in my original post. I've used all XAO stocks (listed and delisted) from 1 Jan 1990 through to 1 Dec 2019. First equity graph is the Amibroker equity from its Monte analysis of a 1000 runs. The second graph is the equity curve from a single backtest of Amibroker and the final graph is the drawdown associated with the single run equity curve shown on the second graph. Happy to share any other data you might be interested in.


----------



## Warr87

I'm looking forward to this. I was re-reading parts of Nick's book and liked the section in the back about the person trading a monthly system. Like the analysis of this too. 

Can't wait to see how it performs!


----------



## MovingAverage

@jjbinks was looking at some of my simulations and the average hold time appears to be weeks. I mentioned in my original post that it was bars (in a monthly time frame) so that was not right so average hold time is 34 to 37 weeks. Just correcting an error in my last post with the equity graphs, the graphs were generated using data from 1 Jan 2000 (not 1990) through to 1 Dec 2019.


----------



## Joe90

Your system is 'returning' just shy of 40% average over 19 years. When I see exceptional test results like this in my own systems I always get suspicious. Would be interested to see some OOS and walkforward test results.


----------



## MovingAverage

I'm very suspicious myself and you'll see your annual rate % calculation is in line with the monte results I highlighted in my initial post. I've done a reasonable amount of backtesting, MC and WF testing and have done my best to ensure I'm not curve fitting. I'm going to test it on EU and US market data as well but haven't done this yet. I'll post up some XAO WF results for you so stay tuned.


----------



## MovingAverage

@Joe90 I've just run a quick Amibroker walk forward for you. See below. This is just from a single run to give you an idea. I've actually done more comprehensive WF testing than this in which I'm adding a random element to the entry and then ran 2500 separate WF tests so I can better understand the limits associated with the WF tests--a Monte on my WF testing if you like. Key thing for you to note about the below WF test is I have used the IS and OS over two year periods to ensure I have a statistically relevant number of trades. In this case I was looking for a minimum of 50 trades during each IS and OS periods which two years gave me. For context, the results I provided in my original post where based on around 640 trades. My system has several input variables but for the purpose of this WF test here
I haven't tried to "tune" all variables instead this WF test only seeks to tune a single variable associated with the entry signal.


----------



## jjbinks

Hi @MovingAverage,

Thanks for posting the details.

My main concern is that those results look "too good." 
I guess regardless of how good they look a big part of building a system is trying your best to find a fault in it.

From what you have described it seems that you are fairly thorough with your analysis. The other important thing to think about is whether you have any look-ahead bias in your code.

When I was working on the flipper I realised that there are at least 3 different ways people approach coding this.
1) 20% rise from a n-day low
2) Use loop to make the opposite of a trailing stop (i.e. trailing buy if price 20% > lowest point since last sell)
3) Zig zag function

The zig zag function is forward looking.
If you are using loops you also have to be careful.

Other places where look ahead bias can creep into your code are:
1)Way you set delays for buy/sell signals. (if your results are much worse on a weekly/daily timeframe then this might be an issue)
2)Position scores
3)Market filters
4)Stop losses

Apologies if you already looked into these. I have made these mistakes... unfortunately too many times lol.

Cheers
JJ


----------



## Sir Burr

jjbinks said:


> My main concern is that those results look "too good."




Looks like profits are pyramided.
Deep pockets to pay that tax 

A way around that is to turn it off (a bit more realistic) or maybe include it into a % commission.


----------



## MovingAverage

jjbinks said:


> Hi @MovingAverage,
> 
> Thanks for posting the details.
> 
> My main concern is that those results look "too good."
> I guess regardless of how good they look a big part of building a system is trying your best to find a fault in it.
> 
> From what you have described it seems that you are fairly thorough with your analysis. The other important thing to think about is whether you have any look-ahead bias in your code.
> 
> When I was working on the flipper I realised that there are at least 3 different ways people approach coding this.
> 1) 20% rise from a n-day low
> 2) Use loop to make the opposite of a trailing stop (i.e. trailing buy if price 20% > lowest point since last sell)
> 3) Zig zag function
> 
> The zig zag function is forward looking.
> If you are using loops you also have to be careful.
> 
> Other places where look ahead bias can creep into your code are:
> 1)Way you set delays for buy/sell signals. (if your results are much worse on a weekly/daily timeframe then this might be an issue)
> 2)Position scores
> 3)Market filters
> 4)Stop losses
> 
> Apologies if you already looked into these. I have made these mistakes... unfortunately too many times lol.
> 
> Cheers
> JJ




Hi JJ,
Thanks for your input--I appreciate it. I've been developing and trading systems with Amibroker for many years so I too am first to admit that the results on my monthly system look way too good. Part of the motivation for posting here was in the hope people would try and poke holes in my system. I have been trying to fault it for the past few months and while I've found a few issues these haven't had a major impact on the system performance. The results are actually the reason I'm going to paper trade this system in the first instance to see how it tracks against my simulations. I should point out that my system was inspired by some of the concepts of the 20% Flipper but it is actually very different and your points 1 - 3 aren't really relevant to my monthly system. You raise a good issue regarding look ahead bias and I intend to asked a friend to review my Amibroker code to make sure I'm not falling into traps like look ahead bias. Thanks again for your input.
MA.


----------



## MovingAverage

Sir Burr said:


> Looks like profits are pyramided.
> Deep pockets to pay that tax
> 
> A way around that is to turn it off (a bit more realistic) or maybe include it into a % commission.



No pyramiding of profits. I don't live trade like that so my simulations don't do it. As I mentioned in my original post, each position is 5% of portfolio value (open positions + cash) with a max of 20 simultaneous open positions. My sims also do not allow position size shrinking in the event cash is less than 5% position size.


----------



## Sir Burr

MovingAverage said:


> review my Amibroker code




If you use it, check Positionscore includes a delay.


----------



## qldfrog

Sir Burr said:


> If you use it, check Positionscore includes a delay.



We had a bit of fun a year ago trying to find forward looking code etc, in a miraculous system
It can be well hidden and tricky
Taxes are important as well
A basic flipper was going from 100k to 10 million from 2006 to now.
 if you pay your tax at 33% rate..which is very low and you would need a good accountant for that in Australia ,it ended up at 3millions and would be actually worse as it would hit very hard during draw down periods
So yes, make sure it is not too good to be true
Trouble with monthly systems is it will take ages to detect any error, or realise market has changed..my 2c


----------



## MovingAverage

Sir Burr said:


> If you use it, check Positionscore includes a delay.



That's a great point and something I'll look into a bit more. For single run sims in Ami I definitely don't use it because my system doesn't involve entering a position based on a ranking. For my serious monte tests I'm using TradeSim to process an Ami Explorer dump so I'm certainly not using PositionScore there. However, I have been using PositionScore set to random() for my preliminary Monte analysis in Ami (which I do pre-TradeSim analysis) run over 2500 individual sims to give me different portfolio entries. The system performance figures I posted in my original post were via TradeSim so comfortable that PositionScore isn't impacting that. However, you have caused me to think about this a bit more so I'll double check my code and approach. Thanks for your thoughts.


----------



## MovingAverage

qldfrog said:


> We had a bit of fun a year ago trying to find forward looking code etc, in a miraculous system
> It can be well hidden and tricky
> Taxes are important as well
> A basic flipper was going from 100k to 10 million from 2006 to now.
> if you pay your tax at 33% rate..which is very low and you would need a good accountant for that in Australia ,it ended up at 3millions and would be actually worse as it would hit very hard during draw down periods
> So yes, make sure it is not too good to be true
> Trouble with monthly systems is it will take ages to detect any error, or realise market has changed..my 2c




Thanks @qldfrog. You raise a good point about tax. I have a friend who factors this into his system analysis, but to be honest it's not something I take into account. What little spare time I have is generally spent refining and improving the systems I'm already trading. You hit the nail on the head with your comment about monthly systems and it is one of my biggest concerns about trading monthly. Most of my focus to date has been spent studying this system over the longer term 15 - 20 years. But I would like to see if a can get a meaningful understanding of the system for shorter time frames at around 2 years. So far, anything under 2 years gives me less than 50 trades which I feel is not an appropriate sample size. I am toying with the idea of looking at techniques to shorten the hold time with a view to having more trades in a shorter window, but this will probably come at the cost of a reduced CAR. I'd be happy with a reduced CAR if I could get confidence in the sims over a shorter timeframe.


----------



## jjbinks

Looks like you are very thorough in your approach. 

Out of curiosity can I ask if you tried your system on a daily or weekly timeframe?

One thing I still haven't got a handle on is how to determine if a system is performing as you would predict once you start trading (or paper trading). I assume your plan with paper trading for 6 months is to then compare results with a back test over that period to see if things match up. Just wondering what parameters you use to decide whether your real world results match what is predicted by backtest. Personally I look at the monte carlo results from to get an idea of what results I could expect  say 90% of the time and then see if my results fit with this.


----------



## Sir Burr

qldfrog said:


> So yes, make sure it is not too good to be true
> Trouble with monthly systems is it will take ages to detect any error, or realise market has changed..my 2c




Yes, tax is being incorporated into the positionsize. It's possible to take account of it but I think results are unrealistic anyway. Tax is just a small point 

For interest:
https://forum.amibroker.com/t/handling-taxes-capital-gains-losses/7748


MovingAverage said:


> I'll double check my code and approach.




Not always correct but you can do a quick check here: _AFL formula Editor/Menu/Tools/Code Check & Profile_

This may indicate references to future quotes in your code.


----------



## MovingAverage

jjbinks said:


> Looks like you are very thorough in your approach.
> 
> Out of curiosity can I ask if you tried your system on a daily or weekly timeframe?
> 
> One thing I still haven't got a handle on is how to determine if a system is performing as you would predict once you start trading (or paper trading). I assume your plan with paper trading for 6 months is to then compare results with a back test over that period to see if things match up. Just wondering what parameters you use to decide whether your real world results match what is predicted by backtest. Personally I look at the monte carlo results from to get an idea of what results I could expect  say 90% of the time and then see if my results fit with this.




I haven't tried this system on daily or weekly timeframes yet. My original desire was for a monthly system as I currently trade daily and weekly systems so that hasn't been a focus for me yet. Correct, I'll paper trade to see how some of the initial trades compare to a few characteristics of my sims. Initially, I will probably only look at individual trade parameters like: trade profit, trade loss, trade draw down, hold time. I won't bother initially looking at some of the broader system parameters like CAR, system drawdown etc as I don't expect to have enough paper trades to draw any statistically relevant conclusions on how it is tracking against overall system performance. I'm not sure where this will get me, but I'm going to look at historical first half calendar year performance over a period of time (that is, run the sims over the Jan -July period for the past 15 years) and then compare my paper trades to this.


----------



## qldfrog

Yes realistic tax handling in backtesting is not easy
I just average the return per year then remove tax due per year and start again
Provisional tax will not help especially in a draw down as any attempt to lower that provisional tax before eofy can end up in fines if there is a rebund in June..
Working agile in a prehistoric system is not easy...


----------



## Sir Burr

qldfrog said:


> I just average the return per year then remove tax due per year and start again
> Provisional tax will not help especially in a draw down as any attempt to lower that provisional tax before eofy can end up in fines if there is a rebund in June.




One of these days, the end goal to become a non-resident will make my backtests realistic


----------



## Habakkuk

For entertainment or maybe educational purposes here's my complete bogus system, fully disclosed.
I'm not posting performance figures - what would be the point? You've all got Amibroker.
It's run on the full ASX, not the current AllOrds including historical constituents which is popular here but a serious future leak.
See if you can work out what's wrong with it. If not, try trading it; you won't lose any money if you follow the rules.

// Bogus System
// impossible to execute
// optimized for 1/7/2010 to mid-2016
// but parameters don't matter all that much

PositionScore = Ref(ROC(C, 3), -1) ;

PosQty = 100 ; // there's nothing wrong with that
// it's a conservative form of compounding with fixed position size
PosSize = 7500 ;
BuyLimit = Ref(MA(C, 7), -2) - Ref(ATR(20), -1) * 2 ; // over-optimized
LookBack = 250 ;
AvgTurnOver = 2000000 ;

SetOption("InitialEquity", 20000);
SetOption("MaxOpenPositions", PosQty);
SetPositionSize( PosSize, spsValue);
SetOption("CommissionMode", 1);
SetOption("CommissionAmount", 0.08); // Interactive Brokers
SetOption("AllowSameBarExit", True); 
SetTradeDelays (0,0,0,0);

BuySig = C < Ref(C, -1)
AND  C > MA(C, LookBack)
AND MA(C * V, 60) > AvgTurnOver;

Buy = Ref(BuySig, -1) AND Low < BuyLimit;
BuyPrice = Min( Open, BuyLimit);

Sell = Close > Open;
SellPrice = Close;

// exploration

MR = BuySig;
Filter = MR AND Status("lastbarinrange");
AddColumn( Ref(MA(C, 7), -1) - ATR(20),"BuyLimit", 2.3 );
AddColumn( abs(ROC(C, 3)),"ROC", 2.3 );

// scan
AddToComposite(BuySig, "~~MANY", "V", 1);


----------



## Sir Burr

How about the Low could bust the BuyLimit mid session so the backtest is picking the min. between the Open and BuyLimit?

ie: impossible to go back and buy at the Open

Also, the AB code checker doesn't pick up a problem


----------



## Habakkuk

Sir Burr said:


> How about the Low could bust the BuyLimit mid session so the backtest is picking the min. between the Open and BuyLimit?
> 
> ie: impossible to go back and buy at the Open
> 
> Also, the AB code checker doesn't pick up a problem




No. You need to understand what the code does.
The BuyLimit is known after the close of the previous day for every potential stock that is produced by the exploration. I have included it for that reason.
On the morning of the trading day we look if we can pick up any of those stocks for a price below the limit price. So we enter a limit order just below the calculated price. If we get filled, that's fine; if we don't, that's fine too.
Sometimes we get filled at the open, sometimes mid-session and sometimes at the close. It's all the same for the Amibroker backtester.
The reason for the Min() expression is that if the Open price is below the limit price, then Amibroker would use the limit price as BuyPrice in backtests whereas in reality we were obtaining the lower Open price.

Of course the AB code checker doesn't pick up a problem, that would be too easy.


----------



## fergee

Habakkuk said:


> Sell = Close > Open;
> SellPrice = Close;



If I had to guess (as I am not a programmer in the slightest) I would say using close>open sellprice=close would mean you would not get the close price as the markets would be closed. So you would be selling the next day at previous close price and it would be hit or miss if you got your price or not.


----------



## Habakkuk

fergee said:


> If I had to guess (as *I am not a programmer* in the slightest) I would say using close>open sellprice=close would mean you would not get the close price as the markets would be closed. So you would be selling the next day at previous close price and it would be hit or miss if you got your price or not.





You're probably not a trader either or you would know how it works.
So this is what you do: at 4 PM you look at the stocks you're holding and enter a limit sell order at one tick above the open price. You have to do this in a hurry if there are many of them, but there is nothing preventing you from having a whole bunch of sell forms ready well before 4 PM to confirm with one click on each, although some trading platform have limitations. The Open price is known almost 6 hours before the close, right? You click confirm just *after* 4 PM to catch the official closing price that will appear in future backtests.
Then at 4:10 PM you get filled or you don't.
I do this every day and have done for years. Yes, sometimes I get partial fills or no fill at all when I'm too far down in the queue. It doesn't need to be perfect.


----------



## MovingAverage

Habakkuk said:


> You're probably not a trader either or you would know how it works.




nobody likes a smart arse either. what is the point of your post...to prove you're smarter than others?


----------



## fergee

Habakkuk said:


> You're probably not a trader either or you would know how it works.
> So this is what you do: at 4 PM you look at the stocks you're holding and enter a limit sell order at one tick above the open price. You have to do this in a hurry if there are many of them, but there is nothing preventing you from having a whole bunch of sell forms ready to confirm with one click on each well before 4 PM, although some trading platform have limitations. The Open price is known almost 6 hours before the close, right? You confirm just *after* 4 PM to catch the official closing price that's in the backtest.
> Then at 4:10 PM you get filled or you don't.
> I do this every day and have done for years. Yes, sometimes I get partial fills or no fill at all when I'm too far down in the queue. It doesn't need to be perfect.



Yeah I personally couldn't care less about waiting 2mins before close as that's not my style but hey what ever works for you. Just thought I would join in the convo and have a poke at the answer as it is interesting to see what other people get up to in their trading.


----------



## Sir Burr

Habakkuk said:


> So we enter a limit order just below the calculated price.




OK don't know the future leak is but a couple of things...

There is no code to exit expired stocks so your going to lock up capital when running a backtest (especially using historical constituents). Norgate has code to fix this.

Secondly running an exploration, there's a whopping load of stocks to add limit orders to unless your using an API with IB.

Something like this: https://www.theportfoliotrader.com/downloads/automated-trader-for-the-chartist/
Edit: using that, you can also limit your PosQty


----------



## Habakkuk

Sir Burr said:


> OK don't know the future leak is but a couple of things...
> 
> There is no code to exit expired stocks so your going to lock up capital when running a backtest (especially using historical constituents). Norgate has code to fix this.




True, I didn't even think of that. But that is not a future leak, just wasted resources in the backtest. It would reduce returns.
I don't know why you mention historical constituents. I've specifically said that I use ALL ASX tickers.



> Secondly running an exploration, there's a whopping load of stocks to add limit orders to unless your using an API with IB.
> 
> Something like this: https://www.theportfoliotrader.com/downloads/automated-trader-for-the-chartist/
> Edit: using that, you can also limit your PosQty




Excellent point. But it doesn't make it *impossible* to execute, only difficult. There are bigger problems.

The purpose of my original post was to show how subtle logic errors can give wildly optimistic results. Admittedly, there is some smart arse grandstanding involved because I was curious to see if anyone here could figure out where the logic errors were. But it might be educational too. I mean it's a bit of a worry if you don't pick up future leaks in the code. Mind you, after a week or so of trading the bogus system you would see the problems.


----------



## qldfrog

Sir Burr said:


> One of these days, the end goal to become a non-resident will make my backtests realistic



Not sure if you are pulling a leg but this is indeed my aim
I can not afford Australian tax on pure investment returns for the next 10y just to reach the official pension age


----------



## Sir Burr

qldfrog said:


> Not sure if you are pulling a leg but this is indeed my aim




No, definitely not. Been planning for a long time but only learned the tax ramifications the past few years.

Here, you need a good cash buffer to cover provisional tax without busting the system (selling to pay tax).


----------



## Sir Burr

MovingAverage said:


> I haven't tried this system on daily or weekly timeframes yet. My original desire was for a monthly system as I currently trade daily and weekly systems so that hasn't been a focus for me yet. Correct, I'll paper trade to see how some of the initial trades compare to a few characteristics of my sims.




Back on topic!
Besides modifying system parameters to suit a daily system (in order to paper trade quicker) you could also run Explorations and check against your Charting and step through numerous trades using Bar Replay to see if there is anything unexpected ...like moving buy signals 

If anyone super keen, could do that with the above Bogus System too.


----------



## MovingAverage

Sir Burr said:


> Back on topic!
> Besides modifying system parameters to suit a daily system (in order to paper trade quicker) you could also run Explorations and check against your Charting and step through numerous trades using Bar Replay to see if there is anything unexpected ...like moving buy signals




Thanks. I recently did a similar thing by randomly selecting a few trades from the Explorer list and manually "calculated" by entries and exits based on the charts alone and these seem to match the corresponding selected trades from the Explorer. I might give your suggested technique a go just to double check.


----------



## MovingAverage

'Morning All,
This post is a little overdue, but ran my first Explore for entries on 31 Dec. No Entries flagged so my paper account is still 100% cash at $50k. I'll be running my next scan at the end of Jan.


----------



## MovingAverage

Hi All,
Meant to post Feb positions over the weekend, but been distracted. So here it is: my system entered 3 positions at the start of Feb, which are CAT, PNV and RUL. These are the first buy signals generated by my system since I started paper trading it at the beginning of the year. As mentioned in my original post my position sizing is very simple: max of 20 open positions with each position being 5% of portfolio value. So the positions of CAT, PNV and RUL will each be approximately $2.5k given I have a theoretical $50k portfolio value (currently all cash and no open positions). I'll try and do a fancy table with position details soon, but in the meantime this will have to do.
Cheers all.


----------



## willoneau

Hi MovingAverage, how long are you going to paper trade?


----------



## MovingAverage

willoneau said:


> Hi MovingAverage, how long are you going to paper trade?



My initial thoughts were to paper trade for about 6 months, but being monthly I'm now starting to think that may not be long enough so I'm thinking I might paper trade for the entire CY.


----------



## willoneau

2019 was an interesting year to paper trade as the first half did well then went sideways, going back through it and paper trading would be worthwhile.


----------



## willoneau

I bought RUL few weeks ago with my weekly system at 0.92
I would have bought PNV but I have price limit.


----------



## MovingAverage

just looked at the daily chart on PNV...it's had a nice run over the past month.


----------



## willoneau

MovingAverage said:


> just looked at the daily chart on PNV...it's had a nice run over the past month.



Why look at daily if using monthly?


----------



## MovingAverage

willoneau said:


> Why look at daily if using monthly?



haha...i don't just trade monthly...i'm currently live trading daily and weekly systems. i just had a daily chart open when i read your post so just looked at that. the fact that i looked at the pnv daily has nothing to do with my monthly system other than i was simply curious to see what it looked like on daily given that you mentioned it


----------



## willoneau

MovingAverage said:


> haha...i don't just trade monthly...i'm currently live trading daily and weekly systems. i just had a daily chart open when i read your post so just looked at that. the fact that i looked at the pnv daily has nothing to do with my monthly system other than i was simply curious to see what it looked like on daily given that you mentioned it



are you using a modified WTT to trade monthly?


----------



## MovingAverage

willoneau said:


> are you using a modified WTT to trade monthly?



Absolutely not. I'm already trading WTT on weekly and don't want anything that is reasonably correlated to that regardless of time frame. In one of my earlier posts in this thread I indicated that my monthly was inspired by the 20% flipper, but make no mistake my monthly system is not just 20% flipper tuned to monthly. Unlike 20% flipper my monthly system is not based on a % increase from a low point. Hope that helps.


----------



## willoneau

I agree with the correlation aspect too, but at this stage I only trade one system until my capital reaches a point were it can affect a stocks price.


----------



## martyjames

HI Movingaverage -any updates? Just read through this entire thread - very interesting. Wondering if you traded it live yet and how it went in the corona crash?

cheers


----------



## MovingAverage

martyjames said:


> HI Movingaverage -any updates? Just read through this entire thread - very interesting. Wondering if you traded it live yet and how it went in the corona crash?
> 
> cheers




Hi there,

I've put the system on hold for the moment. While the system looked ok in simulations there were a few things about the system that don't suit my trading personality. The main thing being exits only at month end--the problem for me is seeing stocks head south rapidly and not exiting until month end, which is too long a time frame for me personally. Take March for example. While I still like the system (particularly the entry setups) and believe it still has merit I want to enhance it with a intra-month exit in addition to the end of month exit. The idea with the intra-month exit will be to exit those stocks that uncharacteristically decline rapidly during the month instead of waiting until the end of month to exit. This intra-month exit will suit my trading personality better. Work has been a little busy for me the past few months so haven't had the time to code the new exits, but will do. I've got two ideas for mid-month exits (it won't be a simple trailing stop) that I'm going to sim. Will let you know how I go.

No, I didn't live trade for the reasons above.

Cheers, MA.


----------



## martyjames

Thanks for the reply. Totally understand re watching huge drops in price knowing you cant exit til months end(start). Im currently changing my trading from daily to weekly as it does suit my lifestyle more and backtesting shows it survived the corona crash pretty well.

cheers
Marty


----------



## willoneau

MovingAverage said:


> Hi there,
> 
> I've put the system on hold for the moment. While the system looked ok in simulations there were a few things about the system that don't suit my trading personality. The main thing being exits only at month end--the problem for me is seeing stocks head south rapidly and not exiting until month end, which is too long a time frame for me personally. Take March for example. While I still like the system (particularly the entry setups) and believe it still has merit I want to enhance it with a intra-month exit in addition to the end of month exit. The idea with the intra-month exit will be to exit those stocks that uncharacteristically decline rapidly during the month instead of waiting until the end of month to exit. This intra-month exit will suit my trading personality better. Work has been a little busy for me the past few months so haven't had the time to code the new exits, but will do. I've got two ideas for mid-month exits (it won't be a simple trailing stop) that I'm going to sim. Will let you know how I go.
> 
> No, I didn't live trade for the reasons above.
> 
> Cheers, MA.



I think the whole point of trading monthly is to avoid the monthly fluctuations. Using March which was a major correction by it self to change to shorter time frame is incorrect. You need to look at major pull backs going back decades to see what effect they had on the Monthly system, or just trade weekly. IMHO


----------



## willoneau

I think using GTFO indicator as mentioned by Skate might help a Monthly system get out before the major correction.


----------



## MovingAverage

willoneau said:


> I think the whole point of trading monthly is to avoid the monthly fluctuations. Using March which was a major correction by it self to change to shorter time frame is incorrect. You need to look at major pull backs going back decades to see what effect they had on the Monthly system, or just trade weekly. IMHO




i think you misunderstand my comments--i'm not looking to change to a shorter time frame. I'm just looking to add an intra-month "emergency exit" while retaining the existing EOM exits. I intend to keep this a monthly system. Yes, i've looked at major pullbacks over the past decades and that is why I'm re-designing my exits. Like I said--I'm not comfortable waiting until EOM to exit stocks that are heading south rapidly--it doesn't suit me. I'm not suggesting intra-month exiting all stocks pulling back...just those that are experiencing rapid declines.


----------



## willoneau

If your not comfortable , why a Monthly?


----------



## willoneau

I am just wondering how you determine if a sudden pull back that is still within the monthly average standard deviation becomes a sell?


----------



## MovingAverage

willoneau said:


> If your not comfortable , why a Monthly?



I like it for a number of reasons: filters out a lot of noise, requires less of my time and because it doesn't have a lot of correlation with my existing live daily and weekly systems. There are a lot of things with the monthly system that I am comfortable with and just because it has one characteristic in its current form that I'm not comfortable with just mean I should just toss it in the bin


----------



## willoneau

Wouldn't a intra monthly exit bring that noise back?


----------



## MovingAverage

willoneau said:


> Wouldn't a intra monthly exit bring that noise back?



When I say noise, I mean the general volatility (ups and downs) that you see in daily charts. Like I said, I'm sticking with monthly charts so entries and exits won't change the behavior of monthly bars.


----------



## Newt

When we've all made megabucks trending trading All Ords stocks, perhaps a more conservative monthly timeframe strategy trading ASX300 or even ASX100 high dividend yield stocks might be a complimentary safer way to reduce risk in some trading holdings.....?

I've previously looked at how ASX universe strategies behave on high cap stocks and longer timeframes, and you can usually adjust them to work favourably with less % return but also lower DDs.  Doesn't mean I've ever followed through. 

Thanks for sharing your insights into this strategy and challenges of executing is MovingAverage.


----------



## willoneau

MovingAverage said:


> When I say noise, I mean the general volatility (ups and downs) that you see in daily charts. Like I said, I'm sticking with monthly charts so entries and exits won't change the behavior of monthly bars.



But your entries and exits will be placed before the monthly bars are completed?


----------



## MovingAverage

willoneau said:


> But your entries and exits will be placed before the monthly bars are completed?



Seriously, you're testing my patience but I'm not patient at the best of times. No, my entries remain the same--always at the start of the month. I never mention shifting to inta-month entries. As I said, I'm only looking to add an additional exit which MAY be triggered intra-month only if a particular stock sees an uncharacteristic decline otherwise all exits are EOM. Entries and Exits do not impact price movement (bars) regardless of timeframe. Monthly systems remove much of the daily "noise" that you see on daily price bars. Seems like I'm not very good at explaining myself.


----------



## willoneau

Sorry I'll stop the discussion if it is too hard, I never mentioned that entries and exits had anything to do with the formation of any timeframe bar. Only that if your following a mechanical system based on the close of a bar and you close a position before that bar is closed then the system back test is irrelevant.
Unless you are able to add it to your code and back test it I guess.
Entries and exits will only impact your bottom line.


----------



## willoneau

willoneau said:


> Wouldn't a intra monthly exit bring that noise back?



I probably didn't explain myself here. What I meant to say was, if you use and inter monthly exit then you will probably be triggered by that noise that a monthly bar ignores.


----------



## MovingAverage

willoneau said:


> I probably didn't explain myself here. What I meant to say was, if you use and inter monthly exit then you will probably be triggered by that noise that a monthly bar ignores.



No....I’m planning to look for uncharacteristic rapid declines in a stock price to trigger the intra-month exit—that is not noise. One very simple way to look at this is how the current price is relative to ATR or SD


----------



## vharik831

MovingAverage said:


> No....I’m planning to look for uncharacteristic rapid declines in a stock price to trigger the intra-month exit—that is not noise. One very simple way to look at this is how the current price is relative to ATR or SD



Hi MA,

Just went through the thread and it is pretty interesting. Looking at the timing of your original post, I hope you were able to escape the market decline in Mar 2020.

I am working on a monthly system and whilst the overall system performance is good, 2008 and 2020 drawdowns were a killer. These two took the max system draw down to more than 40%. Looking at the monte carlo results, the system is pretty much useless with due to this.

In order to manage or reduce the drawdown, I want to test exiting the positions intramonth, based on an index rule(index falls by x% on any given day) then even if it is the middle of month, system will have to sell all positions and wait for a the next month to take new entries.

I was wondering is you have been able to code this type of intra month exit in Amibroker. TimeframeSet/Restore options dont seem to work as the exit still happens at the end of the month.

Do I need to run the system in daily timeframe with entry signals being executed on the first day of the month?

Is there any other way?

Regards,
Hari


----------



## qldfrog

vharik831 said:


> Hi MA,
> 
> Just went through the thread and it is pretty interesting. Looking at the timing of your original post, I hope you were able to escape the market decline in Mar 2020.
> 
> I am working on a monthly system and whilst the overall system performance is good, 2008 and 2020 drawdowns were a killer. These two took the max system draw down to more than 40%. Looking at the monte carlo results, the system is pretty much useless with due to this.
> 
> In order to manage or reduce the drawdown, I want to test exiting the positions intramonth, based on an index rule(index falls by x% on any given day) then even if it is the middle of month, system will have to sell all positions and wait for a the next month to take new entries.
> 
> I was wondering is you have been able to code this type of intra month exit in Amibroker. TimeframeSet/Restore options dont seem to work as the exit still happens at the end of the month.
> 
> Do I need to run the system in daily timeframe with entry signals being executed on the first day of the month?
> 
> Is there any other way?
> 
> Regards,
> Hari



Hari, 
for a similar reason, I moved from weekly into daily system, and as in your case, did not find it that easy to code intra week exit;
The way I did it and you could probably do similar is something like
imagine a SL at x%;
if L<O*(1-%) then sell with sellprice =O*(1-%-small extra for safety)
hope you get what I mean and it can help you.obviously, no reinvestment until normal cycle


----------



## MovingAverage

vharik831 said:


> Hi MA,
> 
> Just went through the thread and it is pretty interesting. Looking at the timing of your original post, I hope you were able to escape the market decline in Mar 2020.
> 
> I am working on a monthly system and whilst the overall system performance is good, 2008 and 2020 drawdowns were a killer. These two took the max system draw down to more than 40%. Looking at the monte carlo results, the system is pretty much useless with due to this.
> 
> In order to manage or reduce the drawdown, I want to test exiting the positions intramonth, based on an index rule(index falls by x% on any given day) then even if it is the middle of month, system will have to sell all positions and wait for a the next month to take new entries.
> 
> I was wondering is you have been able to code this type of intra month exit in Amibroker. TimeframeSet/Restore options dont seem to work as the exit still happens at the end of the month.
> 
> Do I need to run the system in daily timeframe with entry signals being executed on the first day of the month?
> 
> Is there any other way?
> 
> Regards,
> Hari



Hi Hari,
You nailed it--the DD's were the reason I put this system on hold. Several months ago I did exactly what you are thinking, I included an intra-month exit pretty much aligned with your thinking. It made a big improvement to the DD. If memory serves me well the intramonth exit got the DD to circa 20%, which I can deal with. Yes, I used the TimeFrameSet/Restore functions and would run the AB explore on a daily basis for intramonth exits. On a side note, I use Stator to track my trades and it has a good Alert function that can be linked to stop losses. I would export the monthly exit's values from AB into Stator and it would generate my intramonth exits for the monthly via Stator Alerts. Why did I do that? I also trade daily systems so spend a lot of time in Stator so I didn't need to fire up AB on the monthly system every day and could use Stator to tell me if my monthly positions needed to be exited intramonth. I'm still a firm believe in that monthly system, but just need a bit more time to refine and test my system--too many other things on my plate at the moment. Give me a few days and I run some sims on my monthly (with the intramonth exit) and will message you the results. If you've got any challenges switching between the timeframes in AFL just sing out, I'll send you my code. BTW, I'm live trading a weekly and have now included similar intra-week exits and it has made a big difference.
MA.


----------



## MovingAverage

vharik831 said:


> Hi MA,
> 
> Just went through the thread and it is pretty interesting. Looking at the timing of your original post, I hope you were able to escape the market decline in Mar 2020.
> 
> I am working on a monthly system and whilst the overall system performance is good, 2008 and 2020 drawdowns were a killer. These two took the max system draw down to more than 40%. Looking at the monte carlo results, the system is pretty much useless with due to this.
> 
> In order to manage or reduce the drawdown, I want to test exiting the positions intramonth, based on an index rule(index falls by x% on any given day) then even if it is the middle of month, system will have to sell all positions and wait for a the next month to take new entries.
> 
> I was wondering is you have been able to code this type of intra month exit in Amibroker. TimeframeSet/Restore options dont seem to work as the exit still happens at the end of the month.
> 
> Do I need to run the system in daily timeframe with entry signals being executed on the first day of the month?
> 
> Is there any other way?
> 
> Regards,
> Hari



Hari,
I think your challenge might be that in your backtest parameters you are running it as a monthly and exiting on next bar open. With this config even if you generate an intra-month exit you will only sell on next bar open which will be the start of next month. Set you parameters to daily and use TimeFrameSet/Restore to switch to monthly for regular entries and exits. Because your parameters are set to daily your emergency exit will exit intra-month on next day open of daily bars, which is what you're chasing. Hope this makes sense?
MA


----------



## vharik831

MovingAverage said:


> Hari,
> I think your challenge might be that in your backtest parameters you are running it as a monthly and exiting on next bar open. With this config even if you generate an intra-month exit you will only sell on next bar open which will be the start of next month. Set you parameters to daily and use TimeFrameSet/Restore to switch to monthly for regular entries and exits. Because your parameters are set to daily your emergency exit will exit intra-month on next day open of daily bars, which is what you're chasing. Hope this makes sense?
> MA



Thanks MA. Makes perfect sense.


----------



## jon the pom

I have also just tested an ASX system on a monthly timeframe giving too good to be true results and leading to some serious head scratching and eventually to this intriguing post.....

With some work the amibroker exploration function will reveal all in the search for the unholy grail!! 


On a separate note I have another question.

For those of you trading systems which *buy the open*, I have not been able to find a broker that allows a *market order* out of trading hours to buy on the next open, does such a broker exist?

Interactive brokers suggest they offer this, can anyone confirm?

Or is it only possible to place a *limit order* out of hours at the close price and hope for a fill at the open?


----------



## MovingAverage

jon the pom said:


> I have also just tested an ASX system on a monthly timeframe giving too good to be true results and leading to some serious head scratching and eventually to this intriguing post.....
> 
> With some work the amibroker exploration function will reveal all in the search for the unholy grail!!
> 
> 
> On a separate note I have another question.
> 
> For those of you trading systems which *buy the open*, I have not been able to find a broker that allows a *market order* out of trading hours to buy on the next open, does such a broker exist?
> 
> Interactive brokers suggest they offer this, can anyone confirm?
> 
> Or is it only possible to place a *limit order* out of hours at the close price and hope for a fill at the open?



My understanding of the way the ASX works I can’t see how any broker can offer a market to limit outside of the market being open.


----------



## jon the pom

MovingAverage said:


> My understanding of the way the ASX works I can’t see how any broker can offer a market to limit outside of the market being open.



That’s what I’ve found also, however I’m confused as the idea behind systems like the WTT is generate signals after the close, place your orders and get on with your life. The reality seems to be make sure you are at your computer on the open so you can enter your orders. 
I’m missing something I think.


----------



## MovingAverage

jon the pom said:


> That’s what I’ve found also, however I’m confused as the idea behind systems like the WTT is generate signals after the close, place your orders and get on with your life. The reality seems to be make sure you are at your computer on the open so you can enter your orders.
> I’m missing something I think.



Good point. WTT is just another EOD (but in that case EOW) system. I live trade two EOD/EOW system and all I do is after performing my explore in AB after the day’s close and I place limit (not market to limit) orders that evening for the following day’s open. Most brokers will allow you to place limit orders after hours. All I do is price my buy price around 1-3 % higher than the last close. In most cases I get all my buys, but in some cases prices will rocket on open well above 3%. Most  mornings around 9.50 I’ll check the IAP on my buys and adjust upward if it looks to be above my buy limit.


----------



## qldfrog

jon the pom said:


> That’s what I’ve found also, however I’m confused as the idea behind systems like the WTT is generate signals after the close, place your orders and get on with your life. The reality seems to be make sure you are at your computer on the open so you can enter your orders.
> I’m missing something I think.



Pretty simple actually: for a purchase:
 at 6pm the day before, look at the close of the day, add a margin let's say 2% and put a buy order at close plus 2pc .off market but that give you your order.
Then that demand is added in the ore auction mix for the open price calculation.
As long as the open price is below you previous close plus 2pc, you will by at open.
Not fool proof, you miss if the price jump higher, and if your order is big enough vs the volume at open, you could significantly influence the orice, but this is the way, we system traders can buy at open wo being glued to the screen.
it does help to be by the screen for 30 min around the open i agree
Hope this helps


----------



## qldfrog

MA beat me and was faster to post😊, but yes : same


----------



## jon the pom

Thanks for your input guys, I am on a random walk journey to success.. 

I appreciate this is off topic and although I am talking weekly there is still relevance to monthly timeframe. 

After some effort I have been able to recreate more or less exactly the detailed backtest results of the WTT as advertised which is encouraging however I still have some pieces of the puzzle to piece together. 

1) The process of buying on open which you guys have explained. I'm thinking it's impossible to estimate the slippage effect of this method without live trading and the cost does not seem to have been accounted from in the results of the WTT as advertised. Perhaps this is included in the stated 0.08% commission cost, which to me seems on the low side.

2) Commissions of 0.08% or minimum $6 are stated. There doesn't appear to be an allowance for the transaction cost of the bid ask spread which can be considerable on low volume illiquid stocks even with filters in place.

for example assuming for some reason you buy and sell with no change in price;
buy at the ask of say $0.50
sell at the bid of say $0.51
Transaction cost = 2%


What are you guys allowing for slippage and spread in your ASX strategies if at all?

Cheers
John


----------



## qldfrog

jon the pom said:


> Thanks for your input guys, I am on a random walk journey to success..
> 
> I appreciate this is off topic and although I am talking weekly there is still relevance to monthly timeframe.
> 
> After some effort I have been able to recreate more or less exactly the detailed backtest results of the WTT as advertised which is encouraging however I still have some pieces of the puzzle to piece together.
> 
> 1) The process of buying on open which you guys have explained. I'm thinking it's impossible to estimate the slippage effect of this method without live trading and the cost does not seem to have been accounted from in the results of the WTT as advertised. Perhaps this is included in the stated 0.08% commission cost, which to me seems on the low side.
> 
> 2) Commissions of 0.08% or minimum $6 are stated. There doesn't appear to be an allowance for the transaction cost of the bid ask spread which can be considerable on low volume illiquid stocks even with filters in place.
> 
> for example assuming for some reason you buy and sell with no change in price;
> buy at the ask of say $0.50
> sell at the bid of say $0.51
> Transaction cost = 2%
> 
> 
> What are you guys allowing for slippage and spread in your ASX strategies if at all?
> 
> Cheers
> John



Does it matter?
May seem strange as answer but what you are trying to achieve is a system, as best as possible and globally positive,statistically profitable 
as long as you can compare system a vs system b, that is all what matter in my view.if a purist, you can check that backtests are as realistic as possible but really, i do not bother


----------



## MovingAverage

jon the pom said:


> Thanks for your input guys, I am on a random walk journey to success..
> 
> I appreciate this is off topic and although I am talking weekly there is still relevance to monthly timeframe.
> 
> After some effort I have been able to recreate more or less exactly the detailed backtest results of the WTT as advertised which is encouraging however I still have some pieces of the puzzle to piece together.
> 
> 1) The process of buying on open which you guys have explained. I'm thinking it's impossible to estimate the slippage effect of this method without live trading and the cost does not seem to have been accounted from in the results of the WTT as advertised. Perhaps this is included in the stated 0.08% commission cost, which to me seems on the low side.
> 
> 2) Commissions of 0.08% or minimum $6 are stated. There doesn't appear to be an allowance for the transaction cost of the bid ask spread which can be considerable on low volume illiquid stocks even with filters in place.
> 
> for example assuming for some reason you buy and sell with no change in price;
> buy at the ask of say $0.50
> sell at the bid of say $0.51
> Transaction cost = 2%
> 
> 
> What are you guys allowing for slippage and spread in your ASX strategies if at all?
> 
> Cheers
> John



Good question re slippage...I generally don’t account for it in my sims. I think @Skate has commented on this in his dump it here thread. Why don’t I account for slippage, well in 99% of cases in my live trades on buy at open I tend to get my order during the open auction. There’s a few cases in my live trading where I’ve missed the open auction but it’s only a very small number of trades. So for the most part I get the open price so don’t worry about accounting for slippage in my sims


----------



## Warr87

slippage matters more in systems with smaller timeframes. it really shouldnt make much of an impact on a monthly system.

as for buying, I just look at the depth and place my buy limit towards the upper end to ensure I get filled. I dont quibble about a few cents on my monthly. I just want in, and then check it a month later.


----------



## jon the pom

Warr87 said:


> slippage matters more in systems with smaller timeframes. it really shouldnt make much of an impact on a monthly system.
> 
> as for buying, I just look at the depth and place my buy limit towards the upper end to ensure I get filled. I dont quibble about a few cents on my monthly. I just want in, and then check it a month later.



Makes sense RE the longer timeframe.

a few weeks back a setup a trust and transferred some shares I had from my name into the trust.

Some were penny stocks around the 5-10c range.
I lost in the region of 3-6% due to bid ask spread just changing accounts.
Should have transferred off market.🧠


----------

