Python or C++

Are you concerned about milliseconds or microseconds? If microseconds then Python might not be suitable, although you can compile it into an executable which is much faster.

No, I'm only worried about seconds, these are lower frequency strategies. But the strategies involve calculations on high-resolution data. i.e tick data.
 
I'm not sure if that is correct.

I'm basically a long term trader compared to a "UHFT". I trade short-term intraday Strategies(1.5 hours average hold time) across a universe of stocks (200-300ish). There is what I consider quite resource heavy/ backend computation, and calculations are done in real time on a per tick basis. Would Python really be suited for this kind of deployment/ execution environment?
Hardware is very cheap these days (cloud+servers for rent). Split your system in several parts, according to instruments, and you could possibly do it all in one spreadsheet per instrument.
 
I'm not sure if that is correct.

I'm basically a long term trader compared to a "UHFT". I trade short-term intraday Strategies(1.5 hours average hold time) across a universe of stocks (200-300ish). There is what I consider quite resource heavy/ backend computation, and calculations are done in real time on a per tick basis. Would Python really be suited for this kind of deployment/ execution environment?

Python with a JIT compiler would work nicely, designed to do arithmetic on large data-sets.
 
Do you run your entire architecture on Linux including the front end? If windows, particularly for the UI why would you bother with poor python and Java support (referring specifically to anything UI related) when you get top of the class wpf ui support?

Python for faster deployment but slower execution. With Pandas, Numpy and Numba (or any other JIT C compiler), you can catch up to C++ speed wise. For GUI development I use PyQt, pySide being a good almost identical alternative for licensing issues. I find the Python modules list excellent, if you can imagine it, it's usually out there already.
I have extremely limited experienced with C+ though.
 
Last edited:
Second that. For anyone on windows C# is a total no-brainer. Even for those on Linux want to keep an eye on the very powerful emerging net.core framework which runs on Linux as well. Microsoft has truly adapted to the changing CS landscape. Does any other language offer an out of this world open source compiler such as Roslyn? It allows any .Net developer to write script engines that would take weeks if not months to get right in Java or c++. It even provides a full fledged python script engine so you can run python code from within your .Net environment. That is just one out of many features Roslyn offers.

C#. Fast like C++, easy like Python
 
Last edited:
Do you run your entire architecture on Linux including the front end? If windows, particularly for the UI why would you bother with poor python and Java support (referring specifically to anything UI related) when you get top of the class wpf ui support?

PyQt on Windows works well enough for me and from what I've read, there's no major speed differences with the C++ original. I should mention that I've no experience with WPF so I can't compare. I've yet to find any bugs or issues with Qt that would be a problem for what I'm doing - relatively straightforward trade analysis through various charts and tables.
I'm somewhat allergic to MS exclusive environments, I quite like the openness of Python.
 
I have programmed in both and some other languages. C++ is the hardest to learn but imo it is the way to go. It is the most verstile. I eventually decided to switch to c++ not only to create better trading relating software but to start using it to create non trading related programs where python, Java and other subodunate languages just didn't cut it.

That's my 2 cents
 
care to share where C++ solved a problem for you in a general trading/systematized trading architectural framework that could not be more eloquently and potentially equally efficiently be solved in, let's say, C#?

Thanks


I have programmed in both and some other languages. C++ is the hardest to learn but imo it is the way to go. It is the most verstile. I eventually decided to switch to c++ not only to create better trading relating software but to start using it to create non trading related programs where python, Java and other subodunate languages just didn't cut it.

That's my 2 cents
 
Back
Top