When traders look into learning algorithmic trading, they have to choose not only a trading platform, but also a programming language. There are many options in the market, and while some use their own specific coding language platform, others use Python or C++.
So why should you then not use Python in algorithmic trading? Well, the answer is quite simple. You should not use Python in algorithmic trading because finding trading strategies isn’t about how complex you build things, but rather how many ideas you have time to test. There are alternatives to Python on the market that will let you build strategies far quicker.
These also come with the benefit of being very easy to learn for beginners, while still offering all the features most traders will ever need.
Let’s have a closer look at why we believe that you should go for another option than Python, when beginning your algorithmic trading career!
Trading Strategies Don’t Require Complexity!
One of the most common misconceptions among new traders is that a good strategy is a complex strategy. Traders who have come to a stage where they are profitable know that reality is quite the opposite. In other words, they don’t need an advanced coding language like Python!
The best strategies, more often than not, are those that are very simple. When you design a trading strategy, you want to use as few conditions as possible. Complex strategies with numerous conditions are far more prone to curve fitting than simple strategies. This means that a simple strategy continues to work in out of sample more often than a complex strategy.
In fact, some of our best strategies consist of as few as one or two rules, sometimes not even optimizable! These types of edges exist for sure, and finding them is only a matter of testing enough ideas! This means that for these types of strategies, Python adds very little value, since it can be coded much more easily, and quicker, with an easier coding language.
Examples of Simple Strategies
Just to give you a better idea of what you can do with as little as two conditions in a trading strategy, have a look at these two trading strategies! The first one trades the RB futures market, while the second trades the S&P 500!
Hopefully, these images succeed in getting the message across!
The Importance of Speed – Python VS Easylanguage
As we already have touched on, you really want to be able to test as many ideas as you possibly can. Finding edges that can form algorithmic trading strategies is hard, but not impossible. It requires you to continue testing idea after idea until you eventually find an edge!
This is where speed comes into play! An easy coding language that’s faster than Python enables you to quickly jot down ideas without wasting time on complicated coding exercises. The time that would have been spent on programming can now be spent on testing more strategies, yielding more trading strategies for you to trade in the long run!
In fact, this is especially crucial when it comes to new traders, who don’t have strategies to trade. They need to be able to run through as many tests as they can, to quickly find strategies that can start generating money for them. Algorithmic trading is hard as it is, and making it even harder by imposing an additional barrier in the form of a somewhat heavy coding language, is unnecessary!
Python Leads to Wrong Focus for New Traders
As a new trader, you need to take in many new concepts and facts. And if that wasn’t enough, you often need to tackle emotionally challenging experiences, such as drawdown and loss of faith in trading itself. If you don’t know Python well from the start, your main focus in the beginning, will probably be learning how to code. This removes attention and focus from the other areas of trading that are critical for your success.
In this regard, Python isn’t the best choice for a new trader. While it is comparably easy to learn when compared to coding languages like C++, it will take a lot of time to master!
In the end, it does not matter how hard you made it to code the strategy. What matters is the logic that you coded, and that is made more easily in other coding languages.
The Best Coding Language for Algorithmic Trading
The goal of this article isn’t to make the point that Python is a substandard or a bad coding language. It’s not!
However, we believe that there are better alternatives to Python when it comes to algorithmic trading.
According to us, the best coding language for algorithmic trading right now is Easylanguage, which comes with the TradeStation trading platform. This is a coding language that most of our students in our algorithmic trading course use, and it has enabled them to learn to trade much faster, since they haven’t had to struggle too much with learning how to code!
As its name implies, Easylanguage is very easy to learn. Someone new to it will be able to learn to code their ideas very fast, and will soon build their own strategies.
However, the simplicity of Easylanguage doesn’t mean that you are confined to only basic ideas. While Python sure has greater capabilities, you will hardly miss anything if you choose to go with Easylanguage. We use Easylanguage ourselves, and find that it does close to anything we want from it!
Not Limited to One Platform
If you know Easylanguage, you also know Powerlanguage!
Powerlanguage basically is the same as Easylanguage, and both languages are cross-compatible. The difference lies in that Powerlanguage is used by Multicharts, which is another great trading platform.
While Tradestation is a trading platform, broker, and data provider, Multicharts only is a trading platform. However, that means that you are free to choose your broker as well as data provider, and can customize your experience to your liking!
In other words, contrary to what you might have believed, learning Easylanguage does not mean that you are at the whim of the developers at one trading platform only! You may switch from TradeStation to Multicharts, and keep all your strategies as they are! Issues seldom arise when moving code from one platform to the other!
As a new trader, you shouldn’t focus on coding! Nobody will build a strategy simply because of their great coding skills. Instead what counts, is how fast and efficiently you are able to test and discard ideas.
While Python is a great coding language, it cannot hold up with the speed of Easylanguage/Powerlanguage, since the latter is so much easier!
If you are interested in algorithmic trading we recommend that you have a look at our MASSIVE 10,000 words long guide to algorithmic trading!
-- by Håkan Samuelsson from blog therobusttrader
Your coding efficiency point is absolutely true, but Tradestation’s nuisance customer policy prices TS out of a lot of new traders’/potential future customers’ reach.
Our group of Traders was driven away from EZlang/Tradestation at first glance because of the 5000 share monthly min $150 penalty.
3/5 of us are entry level investors with starting capital levels which makes it difficult to always have the settled funds for the full 5000 in 30 days. I personally didn’t have that limitation, but it took me 10 weeks from Christmas to recover from the respiratory crud and that would have hit me for $450. That buys a good hit of gas/groceries with positive expectancy in these crappy times.
And frankly, it doesn’t make sense for our four (immediate) families to go separate ways in trading software.
Also, it would force us to stay in the cheap seat stocks to rack up share volume and ignore better opportunities.
Python does take a lot of time … but when that’s all you’ve got … you are shut out. TS also gets shut out of building customer loyalty.
Unfortunately, new investors are stuck in a lower efficiency gear and Tradestation loses the opportunity to bring starting traders up their EZ learning curve to the zero-innovation, zero commission asset gatherer brokers.
It is a lose-lose.
Actually, I was wrong in my original interpretation of their fee webpage.
After digging deeper and getting to a knowledgeable account exec, I found that this fee was only charged for holders of ‘unbundled’ securities/multi-tiered futures.
The concept of ‘Unbundled’ Securities is an interesting universe of instruments on their own. The ramifications of why they were created to begin with is unique.
Mea Culpa … now corrected to Win-Win.
I don’t agree about Easy Language. As an experienced programmer, I started trying to use Tradestation a few years back. I was assuming that Easy Language was a real language. I had coded up a scheme that used recursion which does not work in EL. After asking around, I found out that EL is not based on a stack architecture (as are all HOLS). I switched to Ninja which allows a true HOL.
EL is superficially easier to learn, but the little bit of extra work to learn, for example, C# is well worth it.