Learning to Program Trading Systems


amibrokerI have published a lot of content on this site over the past few years. Some of it is good. Some of it sucks. One thing that continues to surprise me is that two of the most popular posts from the past year cover a topic I know virtually nothing about.

Back in January 2013, I wrote a post on Building & Backtesting Trading Systems. Then, I followed that up with a post on Trading System Software in April. I made it clear in each of these posts that I have no experience or expertise in this area, but it seems to be where my trading might be headed. Learning to program trading systems is the next logical step in my evolution as a trader.

Apparently, there are quite a few DTAYS readers that feel the same way. There are lots of us that want to build and backtest our own strategies, but have no idea where to even start doing that. I propose that we start working toward figuring that out. In doing so, we will leave a trail that can be followed in the future by anyone who shares our interest and the passion to learn.

With that said, here is what I’ve come up with so far:


After discarding all of the extremely expensive software packages that were covered in the Trading System Software post, the first package I actually worked with was NinjaTrader.

NinjaTrader had two major strengths on its side. First and foremost, it is free to learn on. You can download a fully functional demo that allows you to do everything the software is capable of except place live trades. Obviously, the price tag was a big selling point for me.

Another big advantage that NinjaTrader offered was that there were tutorials available to help you learn how to use the software. This meant that it might be possible to teach yourself the software.

The big drawback that I encountered with NinjaTrader was that no one that I talked to seemed to use it. I have interviewed dozens of quantitative traders, and none of them have even mentioned NinjaTrader as an option. This doesn’t necessarily mean it’s a poor software package, but it did raise some concerns with me.


About the time the I started realizing that no one seemed to be using NinjaTrader, I interviewed Jeff from System Trader Success. In that interview, Jeff talked at great length about the TradeStation platform and everything that he was able to do with it.

After that interview, I couldn’t help but be curious, so I opened an account with TradeStation and started to experiment with their software. I really liked the platform, but was disappointed to find out that I could not run it on my MacBook. I also had issues installing the newest version on my Windows laptop.

One of the big advantages of TradeStation was that there were actual books published on how to program systems with their EasyLanguage code. Once again, this was a way that I could teach myself how to program quantitative trading strategies.

The big drawback with TradeStation was that after my first three months were up, they were going to start charging me $100 per month to use their platform, unless I made something like 50 trades per month. There were also additional fees that involved data feeds and being able to backtest portfolio strategies. The growing cost of my TradeStation education became concerning, so I closed the account.


Despite my confusion over their lack of use of capital letters, my next platform experience was with thinkorswim from TD Ameritrade. The big selling point here was that I didn’t have to deposit any money to gain access to their software. Another huge plus is that they have a version for Mac. The platform also comes with “think money,” which gives you paper money accounts to test strategies with.

As far as a platform, thinkorswim is able to do pretty much everything I was doing with TradeStation. Of course, I wasn’t really doing much. I was able to edit some “studies” in order to help with the scans for the Quantitative Growth Fund, but I am still entering all of the trades manually and not doing any programming.


While I don’t have anything bad to say about thinkorswim, my interview with Cesar Alvarez from Alvarez Quant Trading was a bit of an eye opener. In that interview, Cesar echoed the glowing endorsement that Nick Radge had given for Amibroker in an earlier interview.

The lightbulb moment for me was realizing that this was the second professional trader who was telling me that Amibroker was the best software package for them. If this is the software that professionals feel comfortable with, why isn’t this the software that I am learning? Why am I dragging my feet on getting it set up?

Then, there are the two huge selling points about Amibroker. First, the price. The standard version currently goes for a one-time fee of $219. Second, there are multiple books that Cesar recommended as tutorials for learning the software.

Moving Forward

With all of that in mind, I purchased the standard license version of Amibroker. I also ordered Quantitative Trading Systems by Howard Bandy and downloaded his free Amibroker guide. If this is the route that the pros would go, this is the route I should go. Especially considering the price is not outrageous.

This is the starting point for anyone that wants to learn about programming quantitative trading strategies, but has no idea how to get started. This is the beginning of our journey into the programming side of quant trading, and anyone who is interested is welcome to come along for the ride.

For the cost of $219, I have a standard version of Amibroker purchased. Then, for the cost of $50, I have two books from Howard Bandy. That means that for less than $300 I have put together what should be an excellent beginners education for learning to program trading systems.

Let’s get started…..