Trader Tech Talk Episode 013: Mike Bryant Talks About His Program That Builds Trading Systems

mike-bryantMike Bryant of Adaptrade software is the guest on episode of 13 of the Trader Tech Talk podcast.  Mike is produces two very amazing software packages, Builder and Market Systems Analyzer.  Builder actually creates trading systems that you can run right away, and Market System Analyzer is an amazing statistical tool that tells you a lot about your trading system’s performance.

I’ve talked about Builder previously on the blog, so take a look at that as well.

In this episode, you will learn

  • How genetic programming can generate trading strategies
  • Which tool you can use to help you validate your trading system
  • How Monte Carlo analysis can help your trading system development
  • Find out if this is a good time to be a programmer in the financial sector

Resources for this episode:

Subscribe to this podcast in iTunes here:

https://itunes.apple.com/us/podcast/trader-tech-talk/id663583667

 

Trader Tech Talk 012: Did Ernie Chan’s System Survive the Flash Crash?

In this episode of Trader Tech Talk, we welcome author, developer and hedge fund manager, Dr. Ernie Chan.  Dr. Chan is author of two excellent trading system development books, Algorithmic Trading and Quantitative Trading.

Remember the Flash Crash of 2010, where the market dipped almost 1000 points in just a few minutes?  Imagine if you were running an investment firm or a hedge fund during that time.  What would you have done?  Well, Dr. Chan was running a hedge fund during that time, and even more interesting is that he was running an automated trading system at the time!  In this episode, you’ll find out what he did (and what he didn’t do) during those nail-biting minutes!

You’ll also learn some amazing things about trading system development:

  • How traders can use mathematical tools, such as Matlab to create and validate their systems
  • When to use a trading-specific programming language, versus when to use a general purpose programming language
  • How to improve your programming skills to write even better trading software

Resources for this episode:

I think you’ll learn a lot from Dr. Chan; show him your appreciation with a comment below, or by visiting his blog.  Enjoy!

 

Trader Tech Talk 011: Why Chris Davison Lets The Robots Do The Trading

Today trader and system developer Chris Davison is with us on the podcast.  Chris is a lot of fun to listen to, and has some excellent advice for us as system developers.  Chris has a number of well-known profitable trading systems to his name, and today he shares some of his insights into how to write the perfect system.chris-davison

In this episode, you will learn:

  • What made Chris stop trading
  • How to simplify your system development
  • Chris’s new type of “Assisted Trading” system
  • How to see if your broker is widening the spreads (and causing you to lose money!)

Resources:

I know you will enjoy this episode!  I sure did.  Let Chris know you enjoyed the episode by leaving a comment in the show notes here.

 

Getting bad backtesting results? Read this.

Are you writing automated strategies that seem to test well, but then fail when run in a live account?  There may be a number of reasons this is happening, so today we are going to look at one possible cause for poor back-testing results.

But first, let’s go over a few things we already know about back-testing.  First, back-testing is the process of running your automated strategy on historical data.  That’s the definition. Obviously, it would be foolish to write a strategy, and then run it live without testing. Back-testing is a required step in the trading system development strategy.

Second, back-testing is difficult; it requires meticulous attention to detail, careful record-keeping, and knowing a lot about your strategy, your parameters, which data you are using to tune performance, and which data you are testing “blind” on.  That is, which data is in sample, and which is out of sample.  I’ve written before on in-sample and out-of-sample issues.

But back-testing is deceptively difficult because it looks so easy.  In the case of the popular Metatrader 4 (MT4) currency trading program, it is so easy to open up the strategy tester, choose a strategy, set some parameters, choose a time frame, and then click on Start.  Literally, you can start a back-test in about 8 clicks.  The Strategy Tester will produce a nice graph, and a nice formatted report with detailed metrics on how well your strategy did.  If your graph slopes up and to the right, you might think you’re done.  Done. Profitable. What more do we need to do?

The deception is that you are most likely using bad data.  I hesitate to call it bad, because it’s not completely bad.  It’s just that it could be so much better.  The historical data that you test against in Metatrader 4 is approximate.  We’ll save the details of why the data is approximate for another time.  For now, it is sufficient to say that the data that comes with Metatrader cannot give you an accurate picture of how your strategy will behave in a live market.

Here’s an example: go into Metatrader’s History Center, and find a currency pair and time frame, say, EUR/USD 15-minutes, and export that data to a CSV file. If you open that CSV file in Excel, you’ll find one line per 15-minute block of time.  That one line will contain the Open, Close, High and Low values for that 15-minute time period.  In a live market, there will be hundreds if not thousands of data points during that 15-minute time frame.  The default data that you get from the History Center leaves most of the market activity out.

If you are testing an intra-day strategy, and your system relies on indicators that do math calculations (they all do), then you will see a remarkable difference between the calculations on one or two data points versus the calculations on hundreds or thousands of data points.  It should be easy to see that the more data points in your historical data, the better your indicator calculations, and the better the indicator values, the more likely you’ll know if your software is making good choices.  It’s literally the difference between profit and loss.

One other thing I can point out is in the Metatrader 4’s Back-tester report.  At the top of the report you’ll see a section that says “Ticks Modeled”.  If you are using the default free data, note the number of ticks modeled and the number of bars in the test; if you test with high quality data, the same time frame, and the same number of bars, you will see that the “Ticks Modeled” count will be much higher for the quality data — even 15 times higher.

So, what to do about this?  Thankfully, there are several options, both free and commercial that can give you better back-testing results.

The commercial solution I use is called Live Tickdata Client, and I got it from ForexSmartTools.com. The Tickdata Client allows you to download historical data from about a dozen different currency brokerages, all major currency pairs, any common time frame, and in either “tick data” format, or “1-minute” format.  We didn’t go into the details of how tick data is stored compared with how one-minute data is stored, mainly because Metatrader cannot import tick data natively.  If you import data into MT4, you must use OHLC format, which is how the 1-minute data file is stored.  The point is that you get high quality data to test with.  Using the TickData Client is easy; it downloads the data, unpacks it, and sends it over to MetaTrader where you can test with it.  The cost of using Live TickData client starts as low as $15 to $20 per month, and goes up from there, depending on if you pay in advance, and some of the optional features.  I encourage you to take a look at this.

Free solutions are available too. The DucasCopy.com broker offers Forex data downloads for free; the download is throttled, and you can’t ask for too much at a time; but you can get the data if you are patient.

Most other trading platforms, such as TradeStation, AmiBroker, JForex, and ThinkOrSwim, have high quality tick-level data available natively, so this problem seems to be prevalent mainly in the currency trading world of Metatrader.

Now you know the importance of high quality data, and how to get a hold of good data.  Make sure you are not making the mistake of relying on poor quality data to test your strategies.

 

Trader Tech Talk 010: Howard Bandy and Trading System Validation

I have a fantastic interview in store for you today!  Today we have with us Dr. Howard Bandy.  I’ve you’ve been reading my blog for any length of time, you know I am a huge fan of Dr. Bandy’s work.   Dr. Bandy has written three very excellent trading system development books, and I am so honored that he was able to come on the show.howard-bandy

In this episode, you will learn

  • How to get through the difficulties in back testing
  • How to validate your trading system and show statistically that it will continue working in the future
  • What you are not supposed to code into your trading system

Enjoy!

Here are the resources for today’s show:

Dr. Bandy also provided a reading list of books for us, related to trading, system development, and mathematical modeling:

  • Sam Savage, The Flaw of Averages. Why plans based on averages are often wrong.
  • Daniel Kahneman, Thinking, Fast and Slow.  Where we can and cannot trust our intuitions.
  • Nate Silver, The Signal and the Noise.  Why so many predictions fail.
  • Michael Mauboussin, The Success Equation.  Distinguishing between skill and luck.
  • Leonard Mlodinow, The Drunkard’s Walk.  How randomness rules our lives.
  • John Haigh, Taking Chances.  Using probability to help make decisions.
  • Emanuel Derman, Models. Behaving. Badly.  How quantitative financial models have been used, and misused.
  • Christopher Chabris and Daniel Simons, The Invisible Gorilla.  How our intuitions deceive us.

I am sure you will really enjoy this episode!