Python setup similar to TradeStation or Multicharts

Has anyone transitioned from retail platforms like Multicharts or TradeStation to Python? Is it possible to create a similar environment for developing and trading strategies as easily as you can with those platforms? 



With retail platforms, I can save functions and indicators, access streaming/historical data, develop a strategy and see it working on a chart in real-time, run backtest results and etc with ease. 



Is it possible to have the same developing/trading structure within Python? As if you had an all-inclusive easy-to-use platform?



Thank you, 



Bruno

The retail platforms which you mentioned allow you to achieve simple tasks with ease. The use of programming language such as Python not only helps you to achieve this simple task but also able to perform complex tasks such as machine learning.



The quantra blueshift platform which uses Python, can help you access historical data, develop a strategy and see a detailed analysis of the backtest. The real-time feature is going to be released soon.



To get started with quantra blueshift you can refer to the following links: 

  1. https://quantra.quantinsti.com/course/momentum-trading-forex
  2. https://quantra-blueshift.quantinsti.com/docs/getting-started

Regarding, your second part of the query on easy to use. I believe it will take some amount of time to get acquainted with Python. And it is very easy to learn Python. Once you are familiar with it then you will be able to do a lot of things which otherwise won't be possible in other platforms.

Thank you for your response, I appreciate it,

 

Most retail trading platforms are designed for beginners and are very good for that purpose - with nice charting. If your main strategy is to calculate an indicator based on price of a security, and trade based on that indicator - it is usually enough. However, if you are serious, quickly your requirements get much more complex than that. Your indicators becomes complex, your ordering logic becomes path-dependent, your universe of securities expands, and the way you generate signals becomes interdependent. Then you move on to ask more advanced features like time-series statistics, machine-learning etc. You automate your strategies and STOP trading from the charts (trading from charts is a human thing). The best solutions for these on such a retail platform is to provide a domain specific language (DSL). The problem with DSLs are, although they start as coding tools for non-coders, as the ask keeps on increasing, they end up as a full-scale prgramming language. Or just an avatar of an existing language. So you end up learning a new language which is not transferable beyond your chosen platform, and has little support for advanced features.



The advantage of a generic language like Python is when you do become serious, you will already have the means to implement what you want. It is a relative easy language to learn (although difficult to master), with excellent support for advanced tools. More and more brokers are giving API supports in Python. It is a good investment of your time if you see yourself as a serious investor/ trader going forward. As to your question if Python can be used to have the same trading structure - the answer is yes. Why, you can even build a whole retail platfrom like above in Python! But it is demanding if you are not full-time in to programming. That is why some are coming up with new-age online platforms (like Blueshift) - to leverage full advantage of Python without the need to do hard-core software development.



Having said that, it is a little difficult to get started on Python, than dragging and dropping a pre-built indicator on a retails platform. Blueshift, in particular, is looking to make things more easy and intuitive for traders. And we would love to hear from users such as you what features you would like to see.

Thank you Prodipta, I appreciate the help. In python though is it possible to "save" functions and indicators and then just called them into a strategy without having to write the whole formula every time?

 

Yes of course, that is very much possible.

Thanks prodipta for the detailed answer. I'd like to know what is the plan for Quantra running on Blueshift to provide real-time trading experience to the retail traders, down to the minute level or tick level data? Do you plan to integrate with brokers such as Interactive brokers etc. and allow retail traders like me to trade across markets, currencies and other securities? If so, how soon can we expect it? The existing alternates such as Upstox and Zerodha are either pricey or prone to frequent server issues or API changes. Moreover, can you also mention about IP rights for algo traders on this platform? for e.g Quantiacs gives away full IP rights but Quantopian doesn't



Any information for these queries will be highly appreciated. Thanks

 

Thanks for asking Srikanth. We are working towards the goal you mentioned. Below should answer your queries and set the right expectation!


  1. minute or tick level data - we will stick to minute level data for foreseeable future. We believe a cloud-based platform such as Blueshift is not the right choice if your strategy needs to respond to every tick.
  2. Integration with other brokers - we will first go live with a global FX broker. Following that we have a list of top names.
  3. how soon - FX very soon, rest will follow. Target is to have some choices for our users by end of this year.
  4. server issues/ API changes - Blueshift will be a programmatic layer on top of an underlying broker infrastructure. If the broker has server issues, Blueshift at best can handle it elegantly, but not fix it. Any API changes from brokers, we will take care!
  5. IP rights - IP rights are always with the creator of the strategy (i.e. the user). We are very particular and serious about it, as our business model depends on it. 

That sounds great! Thanks for taking time and answering to each of my queries. I really look forward to developments on quantra platform and hope that it solves many of the user problems which existing alternates either ignore or are unable to solve. Look forward to more such announcements and news from your team!