System Trading
Now Reading
Thor Back Tested Past Five Years

Thor Back Tested Past Five Years

by The MoleMarch 1, 2015

After presenting Thor.0 some of you guys wanted to know what the long term track record is as it’s always important to see how a particular strategy performs in various market conditions. Well, I’ve been a very busy bee this weekend and am ready to deliver the goods. And not just that – I devoted over six hours of my day today running five years worth of backtests on Thor as well and the results were rather stunning. But let’s start with Thor.0 first:


This is it – Thor.0 running on all 38 symbols over the past five years which produced a total of 250R. If you consider compounding that would have turned $100k into nearly half a million. By the way that is about 800 full campaigns – 1370 entries but Thor is forced to go in/out four times in a 2R+ campaign due to a NinjaTrader bug that prevents us from taking partial profits. Hopefully they’ll fix that issue once they finally release NT8 (sometime in 2020 – hehe).

What stands out here of course is that nasty draw down in 2010 – not a happy year if we just had started out (I think this is exactly what happened to Bill Dunn). However the good news is that Thor.0 exhibits high dependency and therefore is a great candidate for employing an equity curve filter. What I mean by high dependency is that it remained below its 20-day SMA throughout the entire drawdown. See the original article and also my write up when I implemented one into CrazyIvan (which still runs today). Well, and as it so happens Thor.0 shares a codebase with CrazyIvan, and therefore the EC filter is already built-in. It even considers live trades which is essential in trend trading systems like this one. So if market conditions revert to what we experienced in 2010 then it’ll automatically shut itself off for however long necessary.


Now here is the original Thor strategy – every single campaign on every single symbol over the past five years. As it stands today 265R in about 1500 campaigns. I absolutely love that solid curve upward through a variety of market conditions. However the effort really paid us some unexpected rewards as we realized that there are were a handful of symbols which had been clear under performers in the past five years. Quite simply they have not been conducive to trading Thor and should be left out until they enter a compatible market phase.

Which by the way is nothing unusual and an approach employed by Ed Seykota – instead of trading a static set of symbols he constantly evaluates a small universe of symbols and only trades the ones in line with his strategies’ requirements, i.e. most likely trending in Ed’s case – he’s a proud trend trader and even sings about it:

That’s right – one trend pays for ’em all! But in our case actually quite a few more:


This is what happens when you start excluding 10 underperforming symbols. 311R over the past five yea and let me assure you that this is not courtesy of form fitting. We have only excluded symbols which have been continuously pointing down for the past four years – like for instance this one:


That’s AUDCAD and it’s been pointing down continuously for the past five years. Bear in mind that this one is actually included in the first Thor chart. Hard to believe really. So the approach we have decided to follow is to run a backtest on all symbols currently on our blacklist once per month and decide whether or not to include them again. The requirement for AUDCAD would be that it’s starting to point up and looks like it has entered a positive phase. Employing an SMA approach here would be difficult and we prefer to do it manually.

So there you go – all the stats on Thor and Thor.0 for the past five years. Personally I’m super happy with the results – what do the rest of guys think?

It’s not too late – learn how to consistently bank coin without news, drama, and all the misinformation. If you are interested in becoming a subscriber then don’t waste time and sign up here. The Zero indicator service also offers access to all Gold posts, so you actually get double the bang for your buck.


About The Author
The Mole
Mole created Evil Speculator amidst the chaos of the financial crisis in early August of 2008. His vision for Evil Speculator is a refuge of reason, hands-on trading knowledge, and inspiration for traders of all ages and stripes. You can follow him and his nefarious schemes at the usual social media waterholes.
Enjoyed this post? Consider a small donation to keep those evil deeds coming!

BTC: 1MwMJifeBU3YziDoLLu8S54Vg4cbnJxvpL
BCH: qqxflhnr0jcfj4nejw75klmpcsfsp68exukcr0a29e
ETH: 0x9D0824b9553346df7EFB6B76DBAd1E2763bE6Ef1
LTC: LUuoD6sDWgbqSgnpo5hceYPnTD9MAvxi6c

  • bjanssen

    Very impressive Mole. Curious about the 10 underperforming symbols, were they primarily forex or futures or a mix of both?

  • strider

    Nicely done.

  • PipCyp

    Nice results. Would be interested to know how you measure dependency beyond visual verification. Do you look at serial autocorrelation of returns? There are a few statistical tests for that and you can tweak the # of lags to get a slightly higher frequency parameter for your ECT rather than using a moving average.

    I think that discarding the ~10 symbols that the system doesn’t work for is legimate, but it really depends on your trading system design methodology, more specifically how your postulate your a priori expectations when iterating through multiple design steps. For instance, if you have a set of symbols where you expect to find “trend following” (insert other recurrent price pattern) then you test your universe for that phenomenon using a baseline set of parameters. It will work for some – hopefully most – and not for others. You should then postulate what the set of admissible parameters could be, given that you are looking for “trend following”, before searching for improvements over the baseline set of parameters. I don’t like optimising across a large set of parameters values, because this is the essence of curve-fitting. Results such as a moving average crossover system [MA 8.7 vs MA 23.5] are garbage, as they have no basis in the real world. What makes sense is allowing MA_short to be {5,10,15} and MA_long {15, 20,25}.
    Discarding symbols that don’t exhibit any “trend-following” at any of the design stages not only makes sense, but is the ONLY way to design a trading system. Case in point: there is no “trend-following” in the sequence of colours in roulette, even though you might find a set of parameters that indicate a statistical edge in the sample data you have at your disposal.

  • SirDagonet

    Very interesting, Mole…

    Re the equity filter, even with it operating on CI, didn’t that system have an approx. 40-50% equity drawdown before this latest runup? Would you suppose it might be more effective on a longer term trend following Thor/Thor.0 type system?

    Just curious whether coffee is one of your symbols… I’ve traded coffee for several years, and it can be a wicked commodity… but, if you catch a trend, it can be highly profitable. One system developer (Steve Griffiths, if my memory serves me correctly) kept the highest rated system in Futures Truth for 10 or 20 years trading coffee only primarily because he caught a significant trend early on after the system was released (though, after I did some research, I found out these were hypothetical test results, and the system generated entries could not have been duplicated in real time trading – ie, he was given credit by FT for entries or exits on days the commodity was limit up/down just because his system generated an entry or exit)

  • Scott Phillips

    Mix of both

  • Scott Phillips

    Dependency is quite literally
    “odds of a winner following a loser”
    “odds of a loser following a winner”

  • molecool

    We are being very conservative when it comes to excluding symbols and the AUDCAD is a good example during its current market page phase. Like literally pointing straight down.

  • mugabe

    Great write up: honest and transparent. A rarity in the trading world. 2 initial thoughts:
    1 As the poster above implies, is there any way for analysing and establishing, based on results so far, which chart features need to be present for a particular item to be tradeable (apart from the set-up, obviously)?
    2 If you do intend to manually analyse the individual equity curves of items in your universe of possible tradeable instruments, wouldn’t it make more sense to check each one, say, every 3 months, rather than just focus on the ones that have been excluded because they have not been profitable?

  • vladv

    i am afraid that excluding 10 symbols because with PERFECT hindsight they were not profitable is not valid. If you PRIOR to your backtest had a quantitative methodology to exclude some markets, well that would be a different matter entirely. You have excluded AUDCAD as an example. AUDCAD has a very high correlation movement-wise with AUDUSD. Therefore is AUDUSD included as a “good” market? If it is, then you should ask why is one good and the other bad.

    With perfect hindsight, nobody would have traded Fed Fund futures with a trend following model in the last 5 years, but from 1990-1999 and from 2004-2009 the contract exhibited serious longterm trends.

    i don’t want to knock what looks like a very interesting trading methodolgy, i just think you need to look more carefully at your backtesting assumptions.

  • molecool

    Exactly, which is why we are looking backward – meaning we are using five years of historic data to make those decisions NOW. I’m fully aware of the form fitting or hindsight trap and we are evaluating the trending potential of each symbol on an ongoing basis. For certain strategies this may not work but it does work well for trending ones. It’s not something only we do, read the interview Ed Seykota’s interview – he explains the concept rather well.

  • molecool

    I may want to add this topic can, has, and will be debated into oblivion – and for good reason! The point however is that Thor did very well even given the losers. Please tell me you would not trade the system in the first chart – it’s heading straight up and the edge is solid.

    The only symbols we are excluding are the ones which are heading straight down for a long time – we are being extremely conservative about this.

  • molecool

    Unfortunately these things are highly system specific and therefore i cannot share them. If you are interested in the topic I recommend you recommend you read Ed’s interview – he shares the general idea.

  • mugabe

    completely understand. wasn’t expecting you to reveal *how* you’re going to do any of this. was just suggesting possibilities, which you’ve doubtless already thought of, on reflection. At the end of the day, any of us who are going to trade this or any of your systems (manually or through a future fund) have a vested interest in getting the systems as robust as possible.

  • vladv

    I have read the Seykota article. If you wish to exclude 10 markets going forwards because they have performed badly over the last 5 years, then fair enough, that is your choice to make, and its as valid a method as any other. My issue was about removing 10 markets from a 5 year backtest because they had performed badly in the backtest. If you wish to be consistent, the markets that shoud have been removed are the ones that were performing badly during the 5 year period prior to your 5 year backtest window. Seykota himself is saying that in his article.

    Of your “good” markets, how many of them would have been included or excluded 5 years ago based on the previous 5 years results?

  • vladv

    i quote myself….” looks like a very interesting trading methodolgy”
    If i had come up with this and knew its nuances inside and out then i most probably would trade it if its correlation (or should i say lack thereof) worked with existing systems.

  • molecool

    “If you wish to be consistent, the markets that shoud have been removed are the ones that were performing badly during the 5 year period prior to your 5 year backtest window.”

    That’s exactly what we are doing going FORWARD. So what’s the problem?

  • vladv

    i have not raised any objections regarding what you want to do going FORWARDS. You think AUDCAD is a bad market because it didn’t perform over the last 5 years. So don’t trade AUDCAD going forwards. That is a prefectly valid decision.

    My issue is with the backtesting. Was AUDCAD a bad market over the 5 years prior to your backtest window? if yes, then fine, EXCLUDE it from your backtest results. However if it was “good” it should be in your backtest. You need to ask that for each of your 38+ markets. You may well find that some of your star performing markets over the last 5 years were actually total dogs in the 5 years prior to that.

  • mugabe

    also, 5 years seems like very long timeframe to establish exclusion criteria

  • molecool

    Okay, I get your point – yes, of course and that obviously casts some doubt as to the validity of the second chart. One would have to test between let’s say 2006 – 2009 or better between 2004-2009 to make sure it would have been excluded.

    However, had it performed well then the question arises – WHEN do you exclude the symbol? I think the best approach is to facilitate a sliding window of minimum five years and base your ongoing evaluations on that. If you see a clear pattern change that suggests that the difficult days may be over then the symbol can be included again. Perhaps it’s advisable to then start trading it with 0.5R sizes and then scale up as you hit a certain SQN.

  • molecool

    That’s debatable really – you guys can criticizes our approach to death. Fine – there are always opinions and we can spend our time debating them to death. The crucible of whether your approach works is the bottom line and that only can be established in live trading. In the case of CI I can prove that the EC approach has done very well to keep people out of deep drawdowns. A few people argued that point a year ago when I implemented it but the profit graph proves that the system is easier to trade with the EC filter. Performance wise it would have done 10R better without the EC filter – but there would be no subs left 😉

  • vladv

    Thats a perfectly good way of doing things. My personal experience is that individual markets/sectors go through periods of good and bad. As i mentioned above Fed Funds has been a very lousy contract for trendfollowing for some years now, However, one doesn’t need to be a genious to see the possibilites of the contract moving again once the Fed starts to raise rates……..

  • squirrelsome

    Mole, I think Vlad’s point is perfectly valid. The same way a system is not to be allowed to peek in the future while trading (aka within the system), the same way the applicability of the system (since different markets have different “personalities”) should not be decided by peeking into the future.
    I think Vlad’s point is very constructive, even if it might not look like that. And also appreciate what you did, simply amazing.

  • mugabe

    I think everyone here is trying to provide constructive criticism which you may or may not judge to be well-founded. most of us get feedback in our work, some of it more useful than others:)

  • Gold_Gerb

    some good discussion.
    way better than top calling, and wave wanking.

    IMHO, with any system there will most likely be variation in R-return. (volatility).

    A way to spot deviation from expected volatility inherit in the system, is to identify the volatility.
    If R drops outside of the expected envelope, something is amiss, and rule based action is needed.
    at least that’s my belief. so I build on that.

  • SirDagonet

    “In the case of CI I can prove that the EC approach has done very well to keep people out of deep drawdowns. ….Performance wise it would have done 10R better without the EC filter – but there would be no subs left ;-)”

    Repeatedly, I hear Scott say he is interested in low DD systems, that for him, allow a comfort level with a larger risk percentage per trade. For the rest of us, I think you hit the nail on the head… 30-50% DDs are excruciating, and require extreme confidence in the system to continue trading.

  • Gold_Gerb

    Naz 5000? Well, the QQQ’s still haven’t surpassed. but getting close.

    I noticed they posted “LEGO, Everything is awesome link” on Sledge.
    now I know Tyler reads EvilSpec.

  • Darkthirty

    and data feeds shut down………….

  • ridingwaves

    ridingwaves a month ago

    It’s a SYN not to take small position, stop at 1.55-breakout near…easy pickings…

  • ridingwaves

    thinking we get a small move down to setup another bear trap….

  • Ronebadger

    OR, there’s a disturbance in the “Force.”.

  • ridingwaves

    more likely towards end of week….after all the fund rebalancing…

  • mugabe

    Surely the only way to know when to include or exclude any symbol is to try out different ideas through backtesting and see if there is merit in any of them. There may or may not be. The problem is that the universe of symbols is small – less than 40. Is that big enough to draw any statistically significant conclusions?
    The general moving average filter worked well at the start of the Thor 0 test but not so well in the middle.

  • molecool

    “A way to spot deviation from expected R-volatility inherit in the system, is to identify the volatility.”

    Sounds plausible on the surface however the problem is that financial time series do not exhibit a defined range of volatility. This is one of the shortcoming of the Black–Scholes model, which assumes that the underlying volatility is constant over the life of the derivative. Stochastic volatility models attempt to address this as they start out with a standard geometric model for Brownian motion (i.e. randomness).

    In plain old English what I’m saying is that your approach will ALWAYS be lagging – more specifically what often happens is that your SQN curve exits the range, you get out, and then it recovers quickly and banks a series of winners. So instead what I’m looking for is a lot more simple:

    I look at the LT direction and decide what market phase we are most likely in. WHY? Because my empiric observations shows shows that market phases last for a minimum of weeks, often months and even years.

    To be even more precise and less theoretical (because I’m really no mathematician) – I would need to see a significant series of losers stretching several weeks or months before I would dismiss a symbol. And even then I may just start reducing my exposure by halving my R size. If the downtrend continues it eventually gets dismissed.

    Now if anyone has a better approach I am most certainly open to suggestions.

  • molecool

    Beautiful mole reversal signal earlier today:

  • molecool

    Actually it worked PERFECTLY in the middle – because I don’t WANT to dive in and out on the slightest correction. What I want is to sit out a negative phase which is highly detrimental to my strategy. And that it did very well – show me on the chart where the EC filter failed. Yes, there are moments when it dips in/out but it’s rather rare and as a whole the approach seems to be favorable to Thor.0.

  • molecool

    “My personal experience is that individual markets/sectors go through periods of good and bad.”

    EXACTLY – we can definitely agree on that point.

  • molecool

    YUP – I gladly give up 30% of my annual return in exchange for halving my drawdowns. There is not enough money in the world to buy me a good night of sleep.

  • molecool

    I think I have been pretty open minded and responded in kind. That does not mean I need to agree with you guys. Question – do you develop and trade automatic systems? Because academic discourse is all well and good but what I have to focus on are hands-on solutions. And between Scott and myself I believe that we don’t easily fall prey to form fitting or hindsight solutions. It’s fine if you disagree 😉

  • molecool

    Understood and perhaps I misjudged your earlier comments. I don’t remember seeing you here very often, therefore I am not familiar with your background. Often people come to my site, read one post, and immediately jump to conclusions regarding my approach/systems. Perhaps I didn’t make myself perfectly clear or perhaps we simply disagree – which is fine.

    In any case you make good points and I hope that I addressed them to your satisfaction. And if you have better ideas/approaches – I’m always open to ways to increase my edge. As long as they have been proven in the field, not just as a theoretical model.

  • randomuser6789

    How do you screen for these penny stock opportunities?

  • ridingwaves

    complicated but will explain later tonight as I’m for some reason really busy today at work….they are not all penny stocks…I recommended to everyone here to jump into CLVS when it was under short attack bottom at 35pps in june/july with buy/hold until at least the 60’s, it went further than I penciled out and is now at 80pps, same with CLDX at 13….

  • molecool

    ____ ____ ____ ___ _ _ __ __ ____ __ ____
    ( ___)( _ ( ___)/ __)( )_( ) ( / )( ___) /__ (_ _)
    )__) ) / )__) __ ) _ ( ) ( )__) /(__) )(
    (__) (_)_)(____)(___/(_) (_) (_//_)(____)(__)(__)(__)

  • ridingwaves

    ROSG has potential for nice move north and is an ID today, support underneath…3.25 stop..could take a week or 2 to play out….or might happen overnight…

  • PipCyp

    agreed, I also look at “lengths of return sequences with the same +/-“. That is an interesting distribution to analyse.