Python For Trading – An Introduction – Part IV

Articles From: QuantInsti
Website: QuantInsti



See Part I and Part II for an overview. Learn about the Benefits and Drawbacks of Python in Algorithmic Trading in Part III.

Python vs. C++ vs. R

Python is a relatively new programming language when compared to C++ and R. However, it is found that some people prefer Python due to its ease of use. Let’s understand the difference between Python and C++ first.

  • A compiled language like C++ is often an ideal programming language choice if the backtesting parameter dimensions are large. However, Python makes use of high-performance libraries like Pandas or NumPy for backtesting to maintain competitiveness with its compiled equivalents.
  • Between the two, Python or C++, the language to be used for backtesting and research environments will be decided on the basis of the requirements of the algorithm and the available libraries.
  • Choosing C++ or Python will depend on the trading frequency. Python language is ideal for 5-minute bars. But when moving downtime sub-second time frames Python might not be an ideal choice.
  • If speed is a distinctive factor to compete with your competition then using C++ is a better choice than using Python for Trading.
  • C++ is a complicated language, unlike Python which even beginners can easily read, write and learn.

We have seen above that Python is preferred to C++ in most of the situations. But what about other programming languages, like R?

Well, the answer is that you can use either based on your requirements but as a beginner Python is generally preferred as it is easier to grasp and has a cleaner syntax.

Python already consists of a myriad of libraries, which consists of numerous modules which can be used directly in our program without the need of writing code for the function.

Trading systems evolve with time and any programming language choices will evolve along with them. If you want to enjoy the best of both worlds in algorithmic trading i.e. benefits of a general-purpose programming language and powerful tools of the scientific stack – Python would most definitely satisfy all the criteria.

According to SlashData,

  • Python has gained 1.6 million developers over the past year
  • Python is the fastest-growing language with more than six million developers
  • 70% of developers focussed on machine learning (ML) report using Python, likely due to ML libraries like Google-developed TensorFlow, Facebook’s PyTorch, and NumPy.

Stay tuned for the next installment for insight on Applications of Python in Finance.

Visit QuantInsti to learn more about Python

Disclosure: Interactive Brokers

Information posted on IBKR Campus that is provided by third-parties does NOT constitute a recommendation that you should contract for the services of that third party. Third-party participants who contribute to IBKR Campus are independent of Interactive Brokers and Interactive Brokers does not make any representations or warranties concerning the services offered, their past or future performance, or the accuracy of the information provided by the third party. Past performance is no guarantee of future results.

This material is from QuantInsti and is being posted with its permission. The views expressed in this material are solely those of the author and/or QuantInsti and Interactive Brokers is not endorsing or recommending any investment or trading discussed in the material. This material is not and should not be construed as an offer to buy or sell any security. It should not be construed as research or investment advice or a recommendation to buy, sell or hold any security or commodity. This material does not and is not intended to take into account the particular financial conditions, investment objectives or requirements of individual customers. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.