Systematic Trading research and development, with a flavour of Trend Following
Au.Tra.Sy blog – Automated trading System header image 2

Can You Trade Effectively on a Monthly Basis?

January 11th, 2011 · 19 Comments · Backtest

EndofMonth-CraftyGoat

Long-Term Trend Following is often billed as a superior and simple alternative to Buy-and-Hold for individual traders.

For those investors wanting to take a DIY/self-trading approach, an active strategy might bring better performance – but requires a far more active involvement. In the case of an End-of-Day Trend Following system trading a global portfolio, the requirements to check the markets and system every day, potentially several times a day, might be incompatible with individual investors’ lifestyle (job, family, etc.).

A more practical – monthly – system might suit some individual traders’ requirements better. But can these monthly systems achieve decent performances?

Daily vs Monthly Data

This post will be looking at the results of one system traded on two different frequencies:

  • Daily
  • Monthly

One common approach when testing a monthly/weekly system is to use the corresponding timeframe for the data fed to the back-testing system. This can sound intuitively correct but testing a system on monthly data has some drawbacks.

We still want to be able to “see what happened” in between each monthly trading decision (i.e. chart the intra-month equity curve), which is not possible with monthly data. Moreover, the reporting frequency does affect the system statistics (an illustration with Max Drawdown being described in this paper by David Harding [pdf] – covered in this post).

In order to perform an apples-to-apples comparison of both frequencies on the same system, daily data needs to be used in each case.

System Rules

A viable monthly system needs to be relatively long term: no point in trading a 3-day swing trading system on a monthly basis…

For the purpose of this post, the classical Golden Cross system is used (a.k.a. the 200-50 Moving Average Cross-Over system – featured in the State of Trend Following report).

In its daily incarnation, the system is traded exactly as per the monthly report: Buy when Short MA > Long MA, Sell when Short MA < Long MA. No stops are used, in combination with a fixed fractional money management logic (position size based on volatility). The same portfolio is used over the period 2000-2010.

The monthly incarnation is near-identical, but for an additional monthly trading condition: a trade can only take place on the last trading day of the month. If the MA cross-over occurs on the 3rd of the month: the position only changes at the end of the month. Intuitively, we can see how this could be an issue; by possibly staying on the wrong side of the trade during a good chunk of a move.

Note that if the MAs cross back before the end of the month, the position will stay unchanged at month-end, which could prevent some whipsawing.

Results: The Monthly System Holds Up

Maybe in a sigh of relief, the budding DIY trader/blog reader will look at the following results, which seem to indicate little difference between the daily and monthly systems:

Performance Stats Daily Monthly
CAGR
41.45%
39.14%
Max DD
53.90%
56.70%
MAR 0.77 0.69
Sharpe Ratio 0.98 1
Trade Number 691 602

 
After all, it might be possible to run a Trend Following system on a monthly basis with a decent performance!

Below are the graphical comparisons of both monthly and daily systems:

Curves-200-50

Diff-200-50

The first chart represents the equity curves of both systems, with the difference between the two plotted on the second chart (the second plot represents the rolling difference in CAGR between each system). The monthly system actually over-performs for most of the testing period (daily over-performance is negative), until 2008, when the daily system takes over.

A Shorter-Term System

Intrigued by the results? I was. And wanted to investigate further how a system could hold up being traded on a monthly basis.

A shorter-term system should logically be more affected by the monthly trading condition, so I decided to stretch the test by using the 50-20 Moving Average Cross-Over and apply the same treatment to it.

Below are the results:

Performance Stats Daily Monthly
CAGR
32.75%
34.50%
Max DD
54.90%
67.20%
MAR 0.6 0.51
Sharpe Ratio 0.79 0.83
Trade Number 2330 1569
Avg. DD
22.00%
15.71%

 
While the CAGR is comparable (even slightly better for the monthly system), the Max Drawdown figure is substantially worse (by 22.4%). Looking at the graphical results, we can see that the Max DD occurred during the crash of 2008 – where it paid up to follow your positions closely (ie on a daily basis). Note that this was the same for the Golden Cross system, where 2008 saw the daily system perform much better than the monthly one, during the crash.

Daily and Monthly Equity Curves

Daily and Monthly Equity Curves

CAGR Difference between both systems

CAGR Difference between both systems

Note that comparing two different systems is always a subjective affair, depending on which stats you decide to focus on. For example, the monthly system performs worse on MaxDD but actually better on average drawdown amount (added on the last line of performance stats table), which is also reflected in the higher Sharpe ratio.

Is Monthly Trading Worth It?

As always, the same disclaimer applies regarding the significance of the test using one system only.
But the fact that trading a daily system on a monthly frequency did not dramatically impact performance is quite encouraging.
Moreover, the fact that no adjustments were made to the monthly systems suggests that there might be some room for further improvement (a logic to better handle fast-reversing periods like 2008 might be an interesting area to look at).

Monthly Trend Following systems might not be the best or optimal solution; but they could offer a nice cost/reward solution to the individual trader.
 
 

Picture credits: CraftyGoat via flickr (CC)
Related Posts with Thumbnails

Tags:

19 Comments so far ↓

  • Tetranomad

    Nice article Jez! How did you set up the monthly backtest? I assume you used Trading Blox Builder?

  • Jez Liberty

    @Tetranomad – thanks.
    I used Trading Blox for the monthly backtest. I actually used a copy of the daily systems (which are standard ones part the State of Trend Following report suite) and simply added a condition to the Entry/Exit block to only trigger orders of the current test date was at month-end. For any other day, the logic in the Entry/Exit scripts are simply skipped. It was fairly straight-forward.

  • Tuesday links: tempered with fact Abnormal Returns

    [...] Can you trade effectively on a monthly basis?  (Automated Trading System) [...]

  • RiskCog

    Cool test Jez. I have tried the last test you mentioned regarding optimizing the system parameters for the time period. In one particular case I found that trading off of end-of-day data every day using optimized parameters generally performed “better” than trading on longer time frames. The params were also optimized separately for the longer time frames.

    BUT, I found that extending the trading frequency modestly had little affect on the system return. So trading every 3 or 5 days was almost as good as every day. Another interesting thing is that fairly long trading frequencies would sometimes use short term parameters. For example I found long bonds to be so strongly mean reverting in the 2 day time frame, that it was still potentially useful for a weekly or longer system.

    Tito at PuppetMasterTrading mentioned this table that shows the maximum theoretical sharpe rations at different time periods. (note that this is largely an academic discussion because of how irrelevant the Sharpe ratio is for most situations) http://books.google.com/books?id=8iCiOip5scIC&lpg=PA76&ots=L8RUrOZZWQ&dq=max%20theoretical%20sharpe%20ratio%20frequency%20trading&pg=PA78#v=onepage&q&f=false

  • Jez Liberty

    Thanks RiskCog – this is actually interesting, as it means that for those folks wanting to trade a daily shorter-term system on a weekly basis, this might be a feasible option too.

  • Rick

    Hello Jez,

    A few questions and comments:

    (1) How did you estimate the initial capital of 10 Million?

    (2) Statistically speaking, the start time of the simulation is random and you could have started actual trading right before the drawdown in excess of 50%. Do you agree?

    (3) Do you agree that drawdown levels of more than 50% point to useless systems?

    (4) You could use monthly averages with monthly data. I this case, MA(50) becomes MA(2) and MA(200) becomes MA(10) approximately. Then you are not restricted to trade at the end of the month.

    Rick

  • Jez Liberty

    Rick,
    The initial capital is just an arbitrary figure. Picking 100 Million instead of 10 sould have made little difference to the end result stats.

    I am not sure where you are going with the 50% drawdowns questions. We are not looking at a system in isolation in this post, but comparing two identical systems traded on different frequencies. They both start at the same date, trade the same strategy, portfolio and position sizing. Drawdown is actually a function of the latter, so judging a system solely by its drawdown amount is not really relevant, I believe. Dial down the position size on the same system and the drawdown decreases automatically.

    The system on daily data does not restrict trading at the end of the month, you could choose to trade after the 18th of each month if you wished to, or even following the phases of the moon , if you wanted to get “new-agey”. The point about using daily data was mainly to be able to track a daily equity curve and compute stats based on it (information you lose when using monthly data).

  • Michael S

    Good discussion Jez. I ran a similar test here with basically the same conclusion…

    http://marketsci.wordpress.com/2010/07/13/the-golden-cross-daily-vs-weekly-vs-monthly-2/

    Biggest surprise for me was the fact that weekly/monthly variations didn’t significantly reduce the number of trades.

    michael

  • Jez Liberty

    Thanks for the link Mike – reassuring that we are coming to the same conclusions with a similar but slightly different test (especially with such a long testing period).
    Jez
    Ps: good to see that you are taking time out of your “geek cave” to come here and add to the discussion. Looking forward to hearing more about your new widget…

  • Pumpernickel

    Severe moves against your position, early in the month (such as your crash-of-2008 example) can be dealt with neatly and easily, in a simple way that doesn’t increase the trader’s workload one iota. You still run your system code once a month, you still place orders with your broker once a month, you still match-up your theoretical positions vs. your actual positions once a month. You’re still a Monthly Trader. But if and when a crash occurs, you exit right away!

    How? You “cheat”. Although you, the system trader, don’t work daily, *your* *broker* *does* .

    If your system’s exits use Stop orders (such as turtle-ish Channel Breakout systems et al), you can place your Stop order as Good Till Cancelled. Voila! Now you can exit on the 8th of the month even though you only place orders on the 31st.

    Monthly, you cancel your previous GTC Stop (if it wasn’t filled), and place a new GTC Stop. If another crash occurs, near the beginning of the month, you’re ready.

  • Jez Liberty

    Thanks Pumpernickel. The solution you’re describing is probably one of the best/easiest ones to mitigate for that risk. And obviously it would work very well for a system with stop order exits.

    For other systems like the 2-phase MA cross-over featured in this post, I suppose we could transform it into a “2.5-phase” system: 2-phase in normal operation with a “Crash Exit” third phase. Once the stop-order for the crash exit has taken place (intra-month), the monthly trader gets back in the market at the end of the month based on the latest cross-over (and resets a new Crash Exit stop order).

    This would mean an additional system parameter to determine: the distance between the stop order and the entry/end-of-month price, for the “Crash Exit”. I suspect that trading on a monthly basis avoids some of the whipsawing which would happen on a daily system (a possible explanation for the lower average DD of the monthly system), so we’d probably want to the keep the “Crash Exit” far enough, but not too far, as this was defeat the purpose.
    I can feel a stepped parameter TB test coming as this is definitely worth investigating further..

    ~Jez

  • Pumpernickel

    You will need to modify the continuous contracts you use for backtesting: make them roll-over at times when a Real Monthly Trader would roll-over. A Real Monthly Trader (“RMT”) could not use volume and/or open interest to trigger roll-overs, because this would require him to monitor V and/or OI every day, and that’s not Monthly Trading. Thus an RMT must (by definition) roll-over on some kind of calendar based plan.

    Some of the tradeables in your 60 market portfolio (CL, NG, KPO, STW, etc) roll-over 12X per year so it’s important to roll them at the right time of the month; too soon and the new front contract is illiquid, too late and the old is illiquid. You may find this difficult or impossible if you only roll-over on the same day you place orders, the last trading day of the month.

    Another tactic is to give up completely. Concede defeat, capitulate, forget ever becoming a Real Monthly Trader, and instead become a Slightly More Often Than Monthly trader. You continue to place all orders on the last day of the month, but (Plan A) you also perform rollovers on the 10th and the 20th of the month. Some markets roll on the 10th, others roll on the 20th, others roll on the last day of the month. Or else (Plan B): you also perform rollovers every Friday.

    Whichever roll-over scheme you choose, you’ll need to backtest your Monthly Trading System using contract data that rolls over according to your Monthly or almost Monthly plan. Otherwise you deceive yourself if you pretend you’ve tested “Trading once a month”.

  • Jez Liberty

    Oops! Definitely a big oversight from my part. Thank you very much for pointing this out (this completely escaped me at the time of writing the post) and for the alternative rolling suggestions. I agree: the results of the test was therefore deceiving from a point of view of a pure Monthly Trader.

    Yet, another alternative would be to “outsource” the rolling mechanism: another direction I am planning to explore, with the more “leisurely” trader in mind, is the use of ETFs instead of futures (in which case, the ETF managers would perform the contracts roll-over for you, against a mgt fee).

    This should also alleviate another “barrier” for some (most?) would-be monthly/individual traders: starting trading capital.

    This is of course not futures trend following any more and you lose some of its advantages, most notably the inherent leverage embedded in futures – although the method described in Anthony Garner’s ETF Trading book (LINK) to increase returns/volatility might be a partial solution to this for some systems (not for 2-phase systems though).

  • Barron

    Hi Jez ,

    I am one of the up till now silent readers, just to say I appreciate your blog, I have been studying Trend trading for some time, the mechanical approach or strict rules appeals to me, great work

    Thanks Barron

  • Jeff P.

    Hi, I wonder if the draw down figures on the monthly system aren’t also hugely impacted by the start date of your analysis — i.e., what constitutes the month? I’m assuming you are using standard calendar conventions, but perhaps you see my point, starting on “the right day” may have “saved” that outsized draw down. Just a small point with respect to the side-by-side. Best, Jeff

  • Jez Liberty

    Indeed I used standard calendar conventions and trading only took place at the start of the month (signal analysis on last trading day for orders at open on next trading day).
    I definitely see how that could impact the drawdown figures and a composite test made up of 30 runs (ie a different “trading” day of the month for each test) might probably offer more insight into this.

  • SumofAllTrades

    We tested the idea of monthly trading using different month opening days and closing days a few years ago when we developed a monthly trading strategy for a few 401(k) plans which limit excessive trading activity. That is we tested using the 7th as our signal day and the eighth as our execution day…8th as signal and 9th as execution…etc. We did this for every day of the month and found that our best and most consistent results were found by having our signal day at the calendar end of each month, but the execution day on the 3rd or 4th of the succeeding month. This was done with varying universes of open-end mutual funds since each plan set its own universe of available investment options. Real time results have born this out over the past few years. We speculate about the causes of this phenomenon but have no hard data to support any theory of causation.

    There are several reasons for considering longer term systems including 1. limiting friction effects of frequent trading. 2. Capacity issues in some instruments, especially if the strategy is being traded professionally, can cause slippage if an entire portfolio of size is being moved on a single day. 3. offering managed account returns without the need to be in front of a computer on a daily basis. This fits some types of investors such as endowments and foundations who can benefit from well tested monthly strategies without having to hire full time managers or staff to do it in-house. ~SoAT

  • Nizar Mahri

    Hi Jez,

    Actually in this day and age, trading a daily or even intraday system doesn’t have to be much more work than a monthly – Just automate it.

    That’s what I’ve done using Amibroker and IB. Though the TradingBlox screenshots you posted look amazing.

    If you are talking about trend following specifically, there’s really no reason why you can’t run a trend following system, on, say, liquid Nasdaq stocks using 1-minute bars. Though you’d probably struggle with liquidity/slippage once your account gets beyond single digit millions.

  • ZigZag

    Hi Jez
    Thanks for the excellent job you do in AuTraSys – it should be required reading for any serious TA practitioner.
    I have had some luck with a breakout trend-following system based on the classic Keltner channels idea on a WEEKLY timeframe. I use a portfolio of some 40 of the most liquid commodities futures, excluding equities (continuous, back-adjusted). I am working to include risk and money management rules in the system (chandelier, yoyo and hard dollar stops).
    Would you care to post a test/commentary on the system/portfolio above? (I am not a programmer and could use a quick reality check…).
    Thanks
    ZigZag

Leave a Comment