Why backtests are useless, EAs are flawed and their parameters are bad [DISCUSS] - futures io
futures io futures trading



Why backtests are useless, EAs are flawed and their parameters are bad [DISCUSS]


Discussion in Currencies

Updated by Big Mike
      Top Posters
    1. looks_one Darwin with 6 posts (1 thanks)
    2. looks_two Big Mike with 3 posts (4 thanks)
    3. looks_3 crazybears with 3 posts (2 thanks)
    4. looks_4 MWinfrey with 2 posts (0 thanks)
    1. trending_up 2,759 views
    2. thumb_up 7 thanks given
    3. group 7 followers
    1. forum 14 replies
    2. attach_file 0 attachments




Welcome to futures io: the largest futures trading community on the planet, with well over 100,000 members
  • Genuine reviews from real traders, not fake reviews from stealth vendors
  • Quality education from leading professional traders
  • We are a friendly, helpful, and positive community
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts
  • We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

(If you already have an account, login at the top of the page)

Closed Thread
 
Search this Thread
 

Why backtests are useless, EAs are flawed and their parameters are bad [DISCUSS]

(login for full post details)
  #1 (permalink)
Regensburg, Germany
 
 
Posts: 9 since Oct 2013
Thanks: 0 given, 3 received

Hi, I am Darwin and I am new here.

tl;dr In the next weeks, I am planing to releasy my private Walk Forward Analyzer, but before I do this, first I want to make sure that also the beginners in mechanical trading understand why common backtests are quite useless and why walk forward analysis is better in so many ways, so I decided to start this discussion.

I WILL RELEASE THIS TOOL FOR FREE AND OPEN SOURCE!

And as people keep asking why I release free stuff, let me explain my motivations: I am targeting a job in the trading-economy, and this is not easy to get. Beeing known in the community would help me a lot to accomplish this goal, so I decided to release some of my private tools for free and/or open source to make myself a name over the next months. I am not here to sell you stuff, keep that in mind, please!


For the record: I do not claim that WFA is the holy grail in system testing, but I argue that it is way better than normal backtests.



THE GENERAL APPROACH TO SYSTEMATIC TRADING

Take a trading logic => Generate an EA that trades exactly like it => Optimise Parameters => Do a backtest => Trade it live => $$$

BUT: Everybody that has ever had an EA that was a money-printing machine in the backtests (and this is very, very easy to be done), knows that a good backtest does not imply profitable live trading.
And that is the problem. We need a test-method on whichs evaluation we can rely!




STATEMENT 1: Your parameter choices are not good

Well, every EA consists of 2 things:

1. the logic/script itself
2. the parameters (like periods for moving averages, stop loss values etc. Just everything that can be adjusted!)

The first thing is static and "given". And a lot traders only focus on this part.
But, an EA can behave in very different ways, depending on the parameters. And there can be billions of possible parameter-combinations (=parameterset). There are 3 approaches to determine the parameterset for live trading.

1. the intuitive approach (non adapting):
The trader just chooses the parameters based on his expert knowledge.
But, there are just too many possible parametersets. You can't just "guess" them without evaluation and testing.
It does not matter how good you are, you are never good enough to "think through" this huge amount of possibilities in a reliable fashion!

2. the "optimise on all data" approach (non adapting):
The trader chooses the parameters based on all past data.
So, the configuration/parameters that worked best for the last 12 years, for example, are chosen to be traded live.
But, to stay up-to-date it is not a very good method to optimise the parameters on so much and therefore OLD data.
Because the market today is not the same as it was 12 years ago.

3. the "optimise on the last few years" approach:
The trader chooses the parameters based on the last few years of data.
But you can not just take this approach without testing how this "optimisation method" would have worked in the past.
And this is exactly what a walk forward analysis will do: "Optimise on the last few years", but it tests this approach on all data in the past!




STATEMENT 2: A non-adapting EA can never make longterm profits

I mean, there is an infinite amount of possible trading-systems AND an infinite amount of ways the market can change AND an "infinite" amount of possible parameters for your trading-system.

Considering this, would you really want to bet money on the fact that you have a trading system that will always work, in the same way, without adaption, on all future market conditions? I would not.

"But why shouldn't I be able to put a traders knowledge into a script and trade it?"
Its simple: A trader always learns, he takes input from many sources, he has knowledge about the markets and therefore he adapts his trading strategy so he can always be as close to the markets as possible.
A simple EA script can't do this, a Walk Forward Analysis can (to some extent).

Reason #1 why there are many "profitable" EAs out there
The EA really works, it has a sound strategy and was developed properly. But the markets always change, and they can change in infinite ways.
So, at some point, the traded market-inefficiency WILL(!) change, and the EA can not adapt to this change and therefore will lose its profitability.

Reason #2 why there are many "profitable" EAs out there
is that some of them, sound or unsound systems, are just lucky.
If you send 10.000 people to a casino and let them play for a while, just due to chance, some of them will make profit over some time.
The same is for EAs, if there are enough of them, some will really make profit (even if they are in fact useless).
But as they keep trading, they will lose, as the probabilities are against them (same as in a casino).

Reason #3 why there are many "profitable" EAs out there
is the huge risk some EAs take (grid trading, martingale systems etc).
These EAs take very huge risks to make small profits. But somewhen, the risk strikes, and at that point, the EA will to lose (all) money.

Reason #4 why there are many "profitable" EAs out there
is the small timespan on which they are profitable. Its no magic to make profit for months, but its hard to make it for many, many years.




STATEMENT 3: A backtest does not tell you anything about the future performance

Well, don't get me wrong, I strongly hold the opinion that simulations on the past are the only way to really test a trading system.
But what does a backtest tell you? Just that your system performed well on the past.

But is trading really about having a system that represents the past?
No, trading is about designing a system on the past and then trade it in the future.

THIS IS A FUNDAMENTAL DIFFERENT QUESTION THAN WHAT A BACKTEST CAN TELL YOU!
You want to answer the question "how good is my live trading performance" with the answer to the question "how good did my system perform in the past". That logic is flawed, of course.

"But if I use out-of-sample data to verify my backtest..."
Out of sample testing is a good idea. But you only have one optimisation-dataset and one test-dataset, which is not very reliable. Walk forward analysis, somehow, is out-of-sample testing on steroids. It uses the same method, but generates 10-1000 opti/test dataset-pairs.

"So, are all backtests useless?"
No, it can help you to get sound and good trading systems, if done right.
But my point is that a good performance in a backtest does not make sure the system is also good in live trading.

Trading is a game of probabilities, and the probability that an EA is profitable, only based on a good backtest, is very, very low.

"But why should a system that performed good over the past simply stop working"
The main reason is, and that might be the most important one, OVERFITTING.
That means, the EA tackles an "random" inefficiency of the market that was just there in the past, but that was no real thing.

I found a very good picture that explains overfitting:

<IE MARKETSHARE VS MURDER RATE> (can not post images yet, here it is: i.imgur.com/CIqiSuF.jpg)



You see? There are infinite of such useless "relationships" in the price data, and most EAs tackle one of them which gives them very good backtest results, but that was just due to luck, and these "relationships" will not hold in the past.
And as there are a lot more of these overfitted solutions than sound ones, the chances are very high that you optimised towards such an overfitted system.

The other reason is that the markets always change. So even if you have a non-overfitted, good performing backtest, you will run into serveral problems that you can read in Statement 2



THE SOLUTION: WALK FORWARD ANALYSIS

A Walk Forward Analyser is an external program that can take EVERY EXPERT ADVISOR and, using Metatrader4, do the analysis.
SO YES; YOU CAN CONTINUE TO USE YOUR ALREADY WRITTEN EAs!

Well, some of you will already know how a walk forward analysis works. For the others here is a short overview, as I will explain the process in more details in a future thread.

A WFA takes, for example, the data from 2000 to optimise your system, then tests it on 2001 (which is, from the point of optimisation, the "future" or "live trading").
Then it walks forward and optimises the system on 2001, test it on 2002. Then optimise on 2002, test on 2003 etc.
Do this until you walked through your whole data and only consider the "live trading" in your evaluation.

You see? With this simple tactic you can tackle the 3 problems I have described above, the lack of adaptability, the need for a evaluated parameter selection process and the uselessness of a "past-performance"-backtest.


And then, when you want to trade the system live, you do the exact same thing that you have tested:
1) Optimise on the last available data, with the same optimisation settings you tested in WFA
2) Trade it in the future, with the same procedure you tested in WFA

And that is the main difference to normal backtests: YOU TRADE YOUR EA IN THE EXACT SAME WAY AS YOU TESTED IT!!!



So, this is what I wanted to say, now feel free to tell me what you think on this topic, please
- Darwin


Can you help answer these questions
from other members on futures io?
3x Fangdango
Traders Hideout
Capping Size in Tradestation
TradeStation
FX Futures have been nagging me for a while
Currencies
Macros for flatten and reverse
TradeStation
Do You Have A PlayBooks/What Form Does It Take?
Traders Hideout
 
Best Threads (Most Thanked)
in the last 7 days on futures io
Lost & losing hope
25 thanks
VWAP for stock index futures trading?
19 thanks
Emini 4 Tick Scalp still valid?
17 thanks
Finally Turning the Corner, tha "its 80% Psychology" thing...
15 thanks
Price Action Kewltech Style
15 thanks
 
(login for full post details)
  #3 (permalink)
Site Administrator
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,061 since Jun 2009
Thanks: 31,669 given, 95,122 received


@Darwin,

Please confirm you do not have a website associated with trading where any product or service is for sale, nor plan to have a website like this in the future. Please also confirm you are not associated with any other vendor or provider of trading related products or services in any way.

Mike

We're here to help -- just ask

For the best trading education, watch our webinars
Searching for trading reviews? Review this list

Follow us on Twitter, YouTube, and Facebook

Support our community as an Elite Member:
https://futures.io/elite/
Follow me on Twitter Visit my Facebook Visit my futures io Trade Journal
 
(login for full post details)
  #4 (permalink)
Alesia E.U.
 
Experience: Intermediate
Platform: Sierra chart
Trading: Futures
 
Posts: 168 since Feb 2011
Thanks: 146 given, 112 received

Hi

Can your system do the walk?

The following 2 users say Thank You to crazybears for this post:
 
(login for full post details)
  #5 (permalink)
Regensburg, Germany
 
 
Posts: 9 since Oct 2013
Thanks: 0 given, 3 received


Big Mike View Post
@Darwin,
Please confirm you do not have a website associated with trading where any product or service is for sale, nor plan to have a website like this in the future. Please also confirm you are not associated with any other vendor or provider of trading related products or services in any way.

Hello Mike. Well yes, I can confirm I have no website (and no plans for a website) where I sell anything. [tough, perhaps I make one where I can upload my FREE stuff. So website - perhaps. Sell stuff - not planned!]
Also, I am not associated with ANY vendor or ANY forex related website/product/service/company.



@crazybears:

A few words about why you postet that link would be nice

This article is about WFA, yes, but it is not a very good one and not one that convinces people that they want WFA instead of backtests. (which is the purpose of my post).

I will try to explain the WFA procedure a bit more intuitive and easier in a future thread. But until then, I just want to make clear why WFA is much better than a backtest.


- Darwin

 
(login for full post details)
  #6 (permalink)
Alesia E.U.
 
Experience: Intermediate
Platform: Sierra chart
Trading: Futures
 
Posts: 168 since Feb 2011
Thanks: 146 given, 112 received

hi

only to add some very basic info about the topic .

I'd like to see more info about WFA , i made some TS and made WFA with AB and MC but wasn't able to made them work

 
(login for full post details)
  #7 (permalink)
Alesia E.U.
 
Experience: Intermediate
Platform: Sierra chart
Trading: Futures
 
Posts: 168 since Feb 2011
Thanks: 146 given, 112 received

read also this book :
Amazon.com: Design, Testing, and Optimization of Trading Systems (Wiley Trader&#39;s Exchange) eBook: Robert Pardo: Kindle Store
i hope you can put new insights about WFA , and SC team add it

 
(login for full post details)
  #8 (permalink)
Regensburg, Germany
 
 
Posts: 9 since Oct 2013
Thanks: 0 given, 3 received


crazybears View Post
hi

only to add some very basic info about the topic .

I'd like to see more info about WFA , i made some TS and made WFA with AB and MC but wasn't able to made them work

Hey. I will make a new thread, before releasing my tool, that will explain how a WFA is done. Tough, its not the topic of this one

TS=Trading System; MC=Monte Carlo; ?
What is AB?

"Wasn't able to make them work"

Well, as long as you have a standardt EA, it will be just a few clicks to make a walk forward analysis with my tool.
So this sould not be a problem soon

To your Book suggestion:
I do not think there is any technique in any book that covers a good WFA, as a good WFA can only be done using program code, as there are up to 1000 optimisations and 100.000.000 backtests needed to get the whole picture. (I said UP TO, 100 optimisations and 100.000 backtests are more realistic).
Afterwards, this huge amount of data needs to be processed to find the ideal parameters...
So no human is able to do this in a reasonable time.

And I think a book that is only usable by coders would not be a bestseller xD

Btw: I am currently working on such an extended wfa algorithm, I will release it here in some months (free, yes. open source, i dont know) Stay tuned!

 
(login for full post details)
  #9 (permalink)
Site Administrator
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,061 since Jun 2009
Thanks: 31,669 given, 95,122 received

@Darwin,

Why have you chosen now to create accounts on trading forums and post this identical message to them?

Mike

We're here to help -- just ask

For the best trading education, watch our webinars
Searching for trading reviews? Review this list

Follow us on Twitter, YouTube, and Facebook

Support our community as an Elite Member:
https://futures.io/elite/
Follow me on Twitter Visit my Facebook Visit my futures io Trade Journal
 
(login for full post details)
  #10 (permalink)
Regensburg, Germany
 
 
Posts: 9 since Oct 2013
Thanks: 0 given, 3 received


Hi Mike

As I said, my target is to get known in the community (see the first few sentences of my first post).
I want them all to use my program. I want to go to the job interview, say "Hi, i am darwin" and they should be like "ah cool, we know your tools" - thats what it is all about

-Darwin


Closed Thread

futures io Trading Community Traders Hideout Currencies > Why backtests are useless, EAs are flawed and their parameters are bad [DISCUSS]


November 29, 2013


Upcoming Webinars and Events
     



Copyright © 2020 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
All information is for educational use only and is not investment advice.
There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
no new posts