Connors Research Traders Journal (Volume 36): How Programming in Python Can Improve Your Trading Results – Part One
Dear Connors Research Traders Journal Subscriber:
Dear Connors Research Traders Journal Subscriber,
In February, I sent out the following Connors Research Traders Journal which discusses us moving our research and programming from Amibroker to Python. We also just completed a 5-week program where we taught traders how to program their trading strategies in research in Python.
The success of the class and the feedback from the class was tremendous. We made a promise – you will learn to program in Python for your trading in 3 classes or you will receive a 100% money-back guarantee.
Even though some of the nearly 40 members of the class had no programming experience, we had traders tell us the class was life-changing for their trading.
Because of the class success, plus because of the demand for the class, we’re going to offer it a second time. The following CRTJ is a background as to why I moved my research to Python and why so many professionals have too.
If you are looking to upgrade your trading strategies and improve your live research capabilities, the following will be of interest to you.
You are invited to attend a free webinar I will be holding next week which will further allow you to learn more about the course, and why so many of the best professional trading firms now rely upon Python for their trading strategy development.
A Message From Larry Connors
Over the past 15 years, I’ve made a significant investment both in time and money into Amibroker. As a whole, this has been one of the better investments I’ve ever made. Along the way, many hundreds and likely thousands of our customers followed our lead and moved onto Amibroker, especially for strategy testing.
Over the past two years, I’ve been reading more and more about how the top quant trading firms were moving onto Python. Python is an open source programming language developed with the intent of simplicity. It’s widely used in many industries by many of the largest organizations including Amazon, Google, and NASA. In 2018, it was selected as programming language of the year because of its vast use and ability. This use now includes the financial markets industry and trading.
In 2008 AQR Capital Management, now the second largest hedge fund in the world introduced pandas. Pandas is a software library written for Python specifically designed for data manipulation and analyses.
In layman’s terms, it’s basically a better, more powerful version of Excel. This opened the door for professionals in the trading industry to do their research on data faster and more efficiently.
AQR made pandas open source. This means there’s more than a decade of programming available for Python users that’s been developed by some of the best minds in the financial markets. And this code is free for everyone to use.
After researching Python further, I’ve made the decision to begin moving all our programming and testing onto Python. I’ve hired Chris Cain to lead the move for us. I believe this move will pay off in our ability to build more strategies in the future at a much faster pace, especially because we now have access to the programming code of many of the best and most brilliant quant programmers who use Python and pandas at their trading firms.
We’ll continue to support Amibroker and TradeStation. I know many people have put time into it. But as we move ahead, I’m excited by the many possibilities Python brings and we’ll be joining the hundreds of quant firms who are already using it.
Chris has written a two-part series on what Python is, why Python for Traders is different, and how you can apply Python in the future as the best quant trading firms in the world have done.
My name is Chris Cain, I am a professional systematic trader, quantitative researcher, and former market maker for the last ten years, handling a book of over $400 million.
I build my trading strategies using Python, a language that is now in high demand by the major quant firms on Wall Street. Python has made me better in all aspects of my trading. My goal in this 2-part series is to show you how it can do the same for you.
Python Has Made Me A More Profitable Trader and It Can Do the Same For You
Python is dominating the quantitative finance and trading industries. Python is becoming essential to know if you want to break into these areas. It’s quickly becoming a necessary skill, similar to what Excel skills were in the 1990s.
In fact, if you look at the hundreds of job postings for quantitative traders, researchers, portfolio managers, etc., you will now see that nearly all require Python coding skills to get your foot in the door. These include some of the largest and most sophisticated trading desks and hedge funds in the world.
Some recent examples include…
I can list dozens of these examples. The bottom line is Python is in high demand from the best quant firms in the world! You never see EasyLanguage or Amibroker skills listed as job requirements from these types of firms. The best firms don’t believe in those languages. They believe in Python!
My Personal Path To Python
Being a lifelong student of the markets, I’m continually looking to expand my technical skills to further enhance the effectiveness and profitability of my trading. I have always been attracted to the systematic way of trading and knew that this was the path for me.
Several years ago, I realized that in order to better test my ideas and do the necessary research required to become a successful quantitative trader, Excel skills were no longer going to cut it. I needed to learn a programming language.
With these goals in mind, I set out to find the best technology for my needs and to learn computer programming.
This led me to TradeStation, and their in-house coding language designed for backtesting trading strategies, called EasyLanguage. I learned many valuable general coding skills while I learned EasyLanguage, and eventually got proficient at writing EasyLanguage code. This was satisfactory to test simple trading strategies, and I used this technology for some time.
Several years went by, and I realized that I needed a more flexible, powerful, and widely used programming language if I was going to take my trading and research to the next level.
I reached out to a handful of quants and traders I knew professionally, many with PhDs and advanced computer science skills, and asked them what coding language they have found the most useful and which language they felt would “stand the test of time” going forward.
The answer was almost universal – Python.
They cited the simplicity of the code (it’s as English language-like as possible), the functionality, and the advantage of the open source nature of the language.
Not only that, almost every job posting I saw, whether it be for a trading positions, quantitative researcher, risk manager or portfolio manager, all listed Python as a desirable and many times necessary skill to have. This is something I never saw with EasyLanguage or any other coding language specifically designed for JUST backtesting trading strategies.
Learning Python Quickly – You’re Goal Is Not To Be a Software Developer – It’s To Develop High Performing Trading Strategies!
Sold on the idea, I began my study of Python. I’m not going to lie, there were some fits and starts along the way. Being that Python is so broad and can be used for so many things (think making websites, making video games, etc.), I fell into the trap of learning things about the language that were not applicable to what I was trying to use it for – quantitative trading, research, and data analysis.
Don’t make the same mistake as me! It is important to that you have somebody that can provide guidance for what you need to know, and don’t need to know, regarding Python specifically for trading!
General Python Courses Don’t Work For A Trader’s Needs
Instead of broad introductory type classes, focusing on specific libraries and functionalities directly applicable to trading and finance will get you to your goals sooner.
After the initial pitfalls and starts and stops, I began to focus on learning Python of data analysis and quantitative trading and have not looked back for a second.
I can now use Python, and its many packages, to do things I could never have done with EasyLanguage. This greatly improved my quantitative and technical skillset and has had a direct impact on my bottom-line trading results.
Learning Python was well worth the effort. Having done this before, I can point somebody interested in quantitative trading/research and data analysis with Python in the right direction, saving you the headaches I went through!
In the next article, I will further outline “Why Python?”, showing the many advantages this programming language offers.
If you’d like more information on learning how to program in Python, I will be holding a free webinar on Tuesday, April 16 and Thursday, April 18 at 1:00 pm EST. Click here to sign up for my free webinar.
Connors Research, LLC.