Best Stock Analysis and Trading Platform for C++? Open-Source or Commercial.

Discussion in 'App Development' started by aurora_ray, Jun 22, 2016.

  1. Best Stock Analysis and Trading Platform for C++? Open-Source or Commercial.

    To partially or fully automate stock trading (or investment) one might create:

    + Market data acquisition software system.
    + Data storage system.
    + Analysis system operating on both real-time and historical data.
    + Decision making system.
    + Linkage to stock brokerage for trade execution.

    For the purposes of high performance, I choose to use the C++ echo system for the custom programming aspects of the above. Of course the standardized database software package and other standardized support software could be written in other languages.

    My goal is to find an existing well written, high performance open-source C++ project that covers all the bases. If that is not available, then maybe several of the above required components could be fulfilled with commercial/proprietary/paid solutions.

    The idea is to build, or assemble, as much of the framework as quickly as possible. Buy versus build.

    Then the development of the most unique part of the system can be constructed with as much custom C++ code as needed. The analysis and decision making component fall into his category.

    Some or all of the developed code could be open-source, or not, depending on the wishes of the group of developers. I don't have a strong view either way.

    High Performance Computing (HPC), parallel computing, as well as cloud scaling are important architectural considerations for robust forward-looking solutions. The Linux platform meets these requirements, but the end user client program might well also be supported on Windows, Android and Apple systems.

    The system could be designed to work for a single trader, or a larger trading firm. I would prefer that at least some consideration were made for multi-users access of at least some of the components. The database is an obvious candidate for multi-user access.

    I am a solo investor, not affiliated with any firm. Initial and ongoing cost is a major consideration for me, as well as access to the source code to assure long term availability and to protect any custom programming work we do. I don't want the project to die because someone decides to take a core component off the market.

    I'm interested in advice from anyone who has already looked at this and wants to share their insights. I'm also interested in talking with programmers who may want to work together on this idea.

    I fully understand that this in not a new idea, and am willing to use existing products, or join an existing team. The fact is however, that I'm just starting my search, and I don't personally know of any teams doing this, so specific recommendations of existing high quality projects and or products are very welcome.

    Thanks in advance for any pointers you can offer.

    ++Regards

    Keywords: opensource open-source linux cpp c++ cplusplus automated automatic financial trading HFT high-frequency-trading quant quantitative algo algorithmic API framework platform programing coding new project
     
    Cygnus-X1 likes this.
  2. conduit

    conduit

    you forgot to mention that it has to be free, and a large user-base, and free, and fast, and free.

     
  3. LOL
     
    lawrence-lugar likes this.
  4. @Bryan Fletcher Thank you for constructive suggestions.

    After reviewing Lime's website on your suggestion, they appear to be doing something similar to what I proposed in my posting.

    With regard to my language choice, I understand that Java has been heavily used, as well as C#, but those languages are not my emphasis. Modern C++ is now moving forward quickly with C++14 being great and C++17 breaking new ground. "The beast is back." :)

    On the other hand, I am using python and JavaScript selectively where ultra high performance is not required.
     
  5. marsman

    marsman

    aurora_ray, I remember there was a C++ Linux project called Qtstalker some years ago. Not sure whether it is still active. It was IMHO well done. You might take a look at it and maybe build on top of it, ie. extend it.

    Addendum: Here are some links to/about it:

    https://sourceforge.net/projects/qtstalker/
    Last Update: 2013-05-20

    The Qtstalker Handbook (Version 0.37-dev):
    http://qtstalker.sourceforge.net/toc.html

    https://en.wikipedia.org/wiki/Qtstalker

    Some Linux distributions have it in their repository for easy installation:
    https://apps.ubuntu.com/cat/applications/qtstalker/
    http://www.zwets.com/qtstalker/ (Debian, maybe outdated info)
     
    Last edited: Jul 15, 2016
    aurora_ray likes this.
  6. marsman

    marsman

    Regarding qtstalker: beware, I am not sure, but I vaguely remember it was not using any realtime data source, rather was using historic data for backtesting etc.
     
    aurora_ray likes this.
  7. Thank you for your assistance. :)
     
  8. Take a look at https://github.com/rburkholder/trade-frame. C++ code. It is a bit rough around the edges, but has a lot going for it. Something I've been working on.

    Can use real time data from DTN-Iq and Interactive Brokers. Can execute trades against Interactive Brokers. Other data vendors and brokers could be added. It can handle full rate of quotes and trades plus l2 data, thus providing an ability for high frequency trading.

    Decision making can be applied via C++ code. Market data is storied and can be queried (quotes, trades, bars, daily, ...)

    Has some options based ability (some implied volatility calcs need some troubleshooting).

    Can handle multiple accounts, positions, and portfolios.

    PM if more details wanted.
     
    JefeTrader and aurora_ray like this.
  9. Your project looks very good. I'm studying it now. Thanks for sharing it. I was hoping someone would step forward. :)
     
  10. Cygnus-X1

    Cygnus-X1

    Aurora_ray: I have been looking for the same thing, for pretty much the same reasons, and for what I'm doing it has to be either C/C++ or fortran code to accommodate the MPI libraries I'm using. I'm looking into the suggestions above, but I'm interested in learning what you've discovered in your search, particularly in regard to open source options.
     
    #10     Aug 16, 2016