KloudTrader - A commission-free (flat-rate) algorithmic trading platform. Think of it as the Netlify or Heroku for computational finance. We provide a datafeed and a commission-free brokerage, not to mention server hosting. Basically everything you need to get started. Push to deploy.
Long-time HFT and stat-arb trader here. Not really your target market here, but I have a few suggestions that you may or may not find useful.
- Don't write the core platform in python. The lack of support for concurrency is going to bite you in the ass down the line when you're trying to trade at scale or deliver high performance. I'd stick to C++, Java, Rust or Golang.
- Don't send market data in HTTP/JSON. It's way too bulky and slow. Of course, you can still expose JSON to the end-client if that's what they want. But make sure to send internal messages in a fast, low-overhead, low-bandwidth. Like ZeroMQ + fixed binary encoding.
- Have very clear policies about when/where/why you throttle market data. If you This is the biggest reason why most "algo-platforms-in-a-box" suck. (Using fast market data encoding will help here.)
- Make sure that paper trading isn't running against throttled or consolidated market data. This is going to distort the results by assuming a trader can hit a price that may already be stale.
- Since it's comm-free, you (or your broker) is monetizing with payment-for-order-flow. At the very least be transparent about your policies here. I'd offer the ability to upgrade to smart or exchange specific routing for a commission.
- Since you're doing payment-for-order-flow, keep meticulous records of your trades with microsecond time precision. You can use that dataset to shop around for better deals on the order flow. If you wind up growing the business where you're doing a significant amount of volume, a major wholesaler like Citadel or Virtu can use that dataset to give you a very competitive offer for your flow.
- Be very careful with the market data licenses and make sure you're totally in legal compliance. Exchanges do not mess around and frequently audit their vendors to make sure they're in compliance.
You raise some very good points. Ideally we would be streaming raw FIX data. The current setup evolved from our difficulty in trying to deploy Quantopian's Zipline. Order routing is currently cleared through Apex via a partnership with Tradier. I agree that our website needs to be updated to be more clear about that and it's implications. We do plan for upgraded routing in future. If you don't mind, I would love to discuss more about this, my email is <last three letters of username>@kloudtrader.com
Can you explain to me what the GIL is and how it works...
> guy who built a HFT fund using python.
I mean, maybe you and I have definitions of HFT. But I'd say the base minimum to compete in HFT space is tick-to-trade latency from off-the-wire data packet to on-the-wire order packet of 50 microseconds or less.
That's simply not possible in any python stack. Period.
I believe you're maybe doing something that turns over positions on an intraday basis. But that's not HFT. HFT's typical characteristics are colocation+DMA, very low latencies, full-scale analysis of the entire order book, volumes of more than 1% of the ADV, and Sharpe ratios above 10.
(And no, nothing in crypto space is anything close to HFT, because the infrastructure simply doesn't exist.)
HFT is just something where latency is the primary factor. Your perspective is a somewhat narrow one driven perhaps by limited experience or reading. The things you listed are true but just part of the arms race at various venues. Likewise, your reply to GP lacks perspective. Latency is likely almost totally irrelevant to his business model. His target audience doesn’t require sub-python latencies.