Algo trading set up

Discussion in 'Automated Trading' started by dakr, Mar 28, 2022.

  1. dakr


    What's the best way to set up live algo trading? Looking to intraday trade australian and canadian etfs and futures. I'm with IB so thinking to hire a VPS and run TWS + some python/C++ scripts?

    Initially I was thinking to use QuantConnect as the workflow is quite seamless but it doesn't appear they support much outside the US. The other python based platforms aren't nearly as polished as far as I can see and I would have to learn the backend code for any improvements.

    My initial thoughts are to develop some basic data download and backtesting functionalities then if any results look interesting, develop the paper/live trade code to work with the IB API. I've built backtesting framework in Matlab before but the language is becoming out of favour these days.
  2. Just IMO the 'big thing' is getting the alpha correct (as in: not overfit crap because you tested on same data multiple times, not ignoring physical constraints, nor returns boosted by some bug). In fact, having an idea of what your alpha/reason to get paid by market is going to be before you even start backtesting is useful that also influences what backtesting and execution platforms you need.

    Execution is certainly important but solving that is fairly straightforward in comparison if you're a computer guy.

    Developing your own backtesting platform certainly has many advantages, but it also lends itself to frustration stemming from repeated anti-climatic moments of "these results look great!!! it was a bug". So if can you run QC Lean or any other well tested backtesting platform on your own machine on your custom data that certainly helps avoiding such issues. If you don't have infinite time (working a day time job) that's supremely important.
    Last edited: Mar 28, 2022
    Leob, Gambit and fan27 like this.
  3. 2rosy


    agreed. you don't need all that infrastructure and R&D platform. you need a strategy. Which almost no one has, so they build all this stuff. And then some pivot to only the data side and try to sell that
    shuraver and Gambit like this.
  4. IB is excellent for automated trading. I use Java but Python works if you are a Python guy. Everything is run on my own hardware and software including testing. If you rent a VPS or server then you must be aware that someone else has access to your strategy and results.
    topdog likes this.
  5. RedDuke


    I would use NinjaTrader. This way you only need to concentrate on trading logic, the rest is all taken care off. The code will be in c#
  6. dakr


    Has anyone here had experience using a server? Is this the best way to go if people like QuantConnect can't support your market? Any recommendations?

    And yes I'm aware finding the alpha is the hardest part.
  7. This would be great if NinjaTrader magically allowed you to execute the logic and use any possible data. But it's limited.
  8. "Using a server" is too vague. What do you mean exactly?
  9. dakr


    If I knew specifics I would not need to ask the question :)
    Let me generalise - what setup do you use to reduce the chance of connection or compute downtime? Would have thought a cloud VPS would provide this and you can choose a location close to the IB servers...
  10. At home I have a Dell server running Linux with redundant power supplies and a UPS on each power supply, each plugged into a different circuit. TWS runs on my desktop with a UPS. 1Gbps fiber from AT&T. This setup is dramatically cheaper than a cloud based server. It pays for itself in just a few months. Uptime is plenty good for my purposes. If a computer or the fiber ever went down my backup plan is to just pull out my laptop and exit positions using a cellular internet connection.

    It's hard to imagine a scenario where reducing downtime is your priority. Does your strategy become extremely costly or risky if you are unexpectedly down a day during each decade? Probably not.
    #10     Mar 29, 2022
    shuraver, swinging tick and rb7 like this.