As a newcomer I am curious to know what is your preferred stack to run custom blackbox strategies ?
Here are my starting points for you to comment / advise on :
- I am assuming that calling C++ libraries from R or Python code is good for research purpose. When it comes to production code and assuming the need for low latency execution, I am "happy" translating the scripting bits into their C++ equivalents.
- How do you approach redundancy / failover of your running strategies ?
- Would you use one of the so-called "R|R+|Diamond APIs" offered by Rithmic for fast order execution ?
- I'm not sure if the best way to monitor trades and portfolio performance in real time is to build, buy or lease (any of the major software suites out there such as NT, Sierra, X_Trader etc) ?
- Unsure about broker / FCM (leaning towards Optimus at the moment)
- Haven't explored licensing fees for data - Am I correct thinking relying on CME data involves paying the non-display fee ? Does that apply to individual traders with non-pro status?
- I'd rather run the core system on Linux, happy to spin a windows VM for monitoring and charting
- Any recommendable VPS / dedicated hosting out there in the Chicago area ?
- At this point i just want to start crunching data, what are your favorite sources of historical tick and minute data ? What are the costs involved to get these ? In my FX experience I was used to rely on free feeds exposed by brokers but I would like to create strategies based on the same quality feeds I will be using in production (IQFeed or Kinetic).
Apologies if this has been said over and over, do not hesitate to point me to other threads if any easier !
I see several questions mixed and the start of your personal analysis/recommendation.
My question to you would be :
1) do you have the algorithm clear ? (i read in your post, some research is still needed)
if you need to develop / tweak an algorithm, you will probably do good, with tools that
give you rapid development, flexibility, replay capability.
once you are going into production, you may look for stability and performance.
not all algorithms are necessary HFT algo's where a millisecond is key to success.
2) there are various approaches from unattended trade robots to trade management,
sequence detection and various permutations in between.
Personally i created a stand alone system. It has the advantage to have all logic in one place
it is not linked to one particular platform. It could be used in combination with multiple
You are absolutely right, I have a *lot* of research to do, as part of an everlasting effort to seed and renew my pool of strategies. Therefore it's hard to say how many trades a day I will place but most likely nothing like HFT, my goal is more to maintain a diversified portfolio of algos that place low frequency intra-day trades with high exec quality.
Hey setauquant, are you still exploring strategies and efficiency of coding such in C++/Python/R? I'm working into the same stack, having come from a C++ background, which aside from C# is what a developer for Rithmic's API has to pipe down to.
From the description of "R | Diamond API", I believe you will almost certainly be considering to be operating an ATS if you're using it. CME almost automatically treats you as a firm/professional if you are operating an ATS and applies non-display fees.
You don't have to spin up a Windows VM if that makes you unhappy. You could achieve a platform-independent setup if you used a browser-based GUI, which some members on the forum seem to have gone down.
Just a hint, you almost certainly don't want to compete in the "low latency space" with a "tick-to-trade of 250 us". I'm not saying this to deter you from doing what you're passionate about, but rather to save you thousands in development costs and vendor fees only to hit a barrier when you've finally made it, which is both demoralizing and great for the vendors but bad for you and the market. This is of course not something your vendor will tell you.
The following 2 users say Thank You to artemiso for this post: