Using Python and StrategyQuant X

Author: clonex

March 22nd, 2021

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)

Python is a powerful general-purpose programming language. It is used in data science, software prototyping, Machine Learning and so on. Python is used in popular apps and websites like Google, Netflix, Dropbox and many others.

Fortunately for beginners, Python has a simple, easy-to-use syntax. These features make Python a great language to learn programming for beginners. This post is the start of a series of articles discussing and demonstrating the various uses for analysis with StrategyQuantX. Each month we’ll add one, always focused on a particular problem.


What are the most significant benefits of Python as a programming language?

1.Easy to Read

Python is a well-structured, easy-to-read visual language. It is similar to the classical notation in English. This makes the code clearer even for an amateur programmer, which is especially beneficial in the beginning.



Very important. What another language can do in 60 lines, you can do in Python in 6 lines. And since the point is to develop trading strategies and not to program too much, I think that’s essential. You save time and energy. Also, it has automatic memory management so you can focus on development and not computer architecture.


3. Strong community and StackExchange

Python is a popular and widely used language, has a strong community and support, which can be seen on the web platform StackExchange, a network of question-and-answer (Q&A) sites on various topics, each site covering a specific topic. For programming, there’s the site Stack Overflow. In programming, it often happens that something doesn’t work for me or I just can’t do it, and this is often a shortcut to ideas or solutions. Here’s a clever joke on the subject:


4. Lots of External Libraries

Python has a solid and healthy ecosystem. There is no need to reinvent everything. Opening the XLS file is a matter of 1 line.


This, technically, one line of code will open your exported StrategyQuantX databank. You can work with a huge amount of data to manipulate it, use easy parallelization, etc Machine Learning algorithms, which are often complex mathematical operations, can even be written on a few lines.


5. Code prototyping and rapid development

Programming an analytical workflow is no longer a problem after a short training in a few hours. You will be able to use it over and over again and save a significant amount of time. You can automate strategy management. You can easily automate simple activities and save a lot of time. 


6. Jupyter Notebook IDE a Pandas.

Jupyter Notebook is a simple IDE, which works from your browser window. Thanks to it, you can easily and quickly prototype codes and ideas without having to set up and control unnecessarily complicated IDE applications.

Pandas is a library for data manipulation and presentation. I like it because it can completely replace Excel and manipulate data quickly while being more straightforward than Excel. Try opening a dataset with 1.2 million rows in Excel. In Pandas, it’s a matter of seconds.


How to use Python in StrategyQuant X

There are many possibilities, and they can simplify your workflow.

What I use Python for:

  • Analysis of SQX databanks with results
  • Creating analytical workflow scripts
  • Working with SQX CLI (Command-line interface)
  • Decorrelating strategies
  • Machine Learning
  • Extract rules from strategies and create new custom blocks
  • many others

Learning to program is not an easy task. However, if you start with Python, it is much easier. Try installing a Jupyter IDE and watch one of the many tutorials, even if it’s just 5 minutes a day. You will be surprised how you progress in 1 month.

The following post explains how to install and run Jupyter IDE to make programming and learning as easy as possible. And In the post after, we’ll start to take full advantage of Panda’s capabilities to analyze strategies in databases exported from StrategyQuant X.


Oldest Most Voted
Inline Feedbacks
View all comments
1 month ago

I believe one of the greatest singergies of python and sq is via web testing, you can automate all the manual stuff that you do in SQ using remote access trought your navegator and using selenium for example. Even complex workflows such as WFM parameter selection can be automated. This series looks promising, I am very interested to know how you use machine learning for SQ.

Last edited 1 month ago by Martin
2 months ago

Data Science is where it’s at!,
great post my guy!