Rithmic API for Python

Discussion in 'Automated Trading' started by IAS_LLC, Jul 28, 2019.

  1. IAS_LLC


    I'm a huge fan of everything having to do with R|API, but as you may know, it does not have support for Python which is a far more accessible language to many would-be algo traders.

    I have created a Rithmic API wrapper for Python that I use everyday, and am considering making it available to others. But first, I want to gauge interest before I spend time cleaning it up and getting permissions from Rithmic.

    Please chime in if your interested.

    My original motivation for doing this was to enable FLEXIBLE real-time control over my trading systems. Most of my "algorithms" are running in pure C++, but I can control them via python which allows infinite flexibility and enables real-time free form data exploration. If what your're doing doesn't require a TON of number crunching, you can even do everything in python without issue. No C++ required. Even if it does require heavy number crunching... you can use Numba, which precompiles python into optimized machine code, and greatly improves performance, approaching pure C/C++ speeds. I typically do all of my trading from within a Juypter-Notebook. There is a lot more detail to be shared, but I will save that for later.

    Please let me know if you're interested, or have any questions.
    entropytrading and Snuskpelle like this.
  2. Would love to see your Jupyter notebook setup. I do a lot of research in Jupyter, but have found it tough to trade using notebooks.
  3. IAS_LLC


    I dont really trade from the notebook, per se, since the execution decisions are produced automatically. I observe, control, and research from the notebook. If I find myself in a situation where I want to manually enter orders, its a simple python command.

    I use ipywidgets for a poor-mans GUI, but its pretty crude. Just shows open orders and current positions, nothing special. At some point, I'll improve my UI...but that is for when boredom sets in.
  4. IAS_LLC


    Nice thing about this approach is I don't have to have software that handles every single corner-case event. I've found programming for the corner-cases takes up a ton of time...and I'd rather just react to them in real-time initially, so I can deploy a 95% solution more rapidly.
  5. That sounds about like what I tried to do but failed... Would you mind sharing your setup?
  6. IAS_LLC


    Will do some screen grabs tommorow. What was your failure point?
  7. Thanks. For me, the problem was finding the right balance between what I want to see and what I need to see...
  8. IAS_LLC


    I've always had the same problem, but...that's the nice thing about scripting: I can screen print any accessable state variable
  9. Nilats


    I would be really interested. Currently, running a new intra day algo with IB API on GLOBEX and NYMEX, my turn around time to react on order filled and place 2 more order into a exchange is around 100ms. I also notice that I don't get that good fill on IB and they sorta known for that.
    Considering going to Rithmic or CQG - need to research what's best. Would be great to chat via direct..
  10. MattZ

    MattZ Sponsor

    Isn't the new R-Protocol allow you to work with Python? We recently brought a customer who came from IB (who used python) and was able to use the new API. I am curious whether this wrapper would save others time and effort of writing their own or is that simple to do with the new API?
    #10     Jul 28, 2019