Assembling a small team for developing algorithmic trading software

rounder8

Newbie
Messages
1
Likes
0
Most of the retail-class products are only suitable for longer-term trading. Scalping (seeking to capitalize on the smallest fluctuations on price of an instrument) is generally considered foolish by novice traders due to the fact that they have only access to the retail-class products and the transaction costs can appear quite high when dealing with most brokers. Institutional traders know otherwise: they step in and out of the market dozens if not hundreds of times every day. They have the algorithms and fast and cheap execution to help them do so. Many of them generate profits almost every day due to the sheer number of trades they are able to execute per day. Institutional traders have one weakness though: they must execute a huge volume which can make every losing trade relatively much more expensive (due to the increased slippage). A retail trader is most likely not going to trade with such a huge volume so this risk is much smaller for them. With good tools retail trader should be able to make very good results scalping a few ticks out of the market on daily basis.

Some good discussion about scalping can be found here:
youtube.com/watch?v=EYMIPmgRb_M

Please bear in mind that the tools we will create are way better than the ones this person is using.

I have made the connections with the right parties and started to develop a suite of tools that will make it possible for retail-traders to scalp effectively without using $5000+ per month for the tools (in fact about $100-200 per month will do, to cover the API/colocation fees). After several months worth of hard work I realized this project is quite challenging to cope with alone so I'm looking for some other people with C++ programming experience who would also like to see something like this done. With a small group of dedicated people I'm sure we will make this endeavor very profitable for all of us. Project can be developed as closed-source where all the developers have copyright to the sourcecode. We can also make this as an open-source project if it seems like a better idea.

The project is hosted on a private Github repository and I'm willing to share the source code to the potential partners. I'm willing to depart all the information I have gathered so far (including insight of the effective algorithms) to help us proceed quicker to reach the goal. I believe it's very important for the team to be able to openly discuss about all the ideas without hiding any information from each other.

I already have plenty of ideas for grey-box algos for optimal execution but haven't had the chance to try them in real life yet. I would be excited to discuss about these with anyone interested.

Some features of the trading software:

  • -Uses C++/Qt/Boost for the GUI (front-end) and the back-ends (back-ends are mostly plain C or C++ though, to maximize speed).
  • -GUI will be available for Windows/Linux/MacOS, backend is ran on a unix-server colocated as near to the Rithmic trading engine as possible. Rithmic API's trading server is located in the Aurora Center next to the CME order engine.
  • -Will use backends like the one coded for R | API for fast and affordable execution (Colocation in Chicago). Order round-trip times will be sub millisecond (sometimes more depending on the circumstances). Orders can be pre-risk checked for faster execution. CEO of Rithmic API has flashed the possibility of adjusting the API for the specific needs of this software if there is enough volume generated by it. Those adjustments should make it possible to send orders in about 100 microseconds (0.1 ms). This is not as fast as some of the tools big institutional traders have at their disposal but it's fast enough to make a very big difference when trading. Consider scalping for 4-5 ticks per trade, this kind of execution will make a huge difference in the bottom line (possibly making a break-even trader a big winner). Faster (~10 microsecond in some cases) execution speeds can be achieved but that requires modification of the Rithmic's FIX API code which will cost a lot of money so that will most likely not be available to us.
  • -Will have a DOM-trader interface for order placement and manipulation.
    The interface will be greatly modifiable and contain some advanced metrics/graphics (if turned on).
  • -Order modification will be as simple as possible and chances of user making mistakes (i.e. missclicks) have to be reduced as much as possible. Everyone who has tried scalping will know how much badly designed interface can cost for the trader.
  • -Will have a charting tool for easier order-flow reading (Beta-version already developed).
  • -Ability to save historical data for future playback.
  • -Saved historical data can be viewed with the same tools as the realtime data (slowed down so that it's possible to think of an algorithm that can best abuse the microstructure of the market)

Looking for personnel:

  • -Experienced C++ programmers (knowledge of Boost and Qt is a big plus)

Please let me know if this seems interesting to you... :)


PS. I have tried at least CQG IC, CQG Trader, TT X-Trader, CTS T4, Ninjatrader, Multicharts and Interactive Brokers TWS. None of those software can satisfy the needs of a serious scalper in my opinion (TT-Trader is the best candidate and costs around a few thousand dollars a month). That's why there is clearly a need for more affordable, better software for algorithmic execution.
 
Last edited:
This is a very interesting project but I wonder if the goals have been thoroughly understood?

The main issues here are market access, fees, and speed.

First, is this to run automated algos only, or for manual (point and click) scalping?
You mention a local GUI connecting to a colocated backend sever (and also DOM). Surely the latency between the user's order entry terminal and the colocated backend is going to be the biggest factor affecting latency for manual trading, with the only solution being to move the order entry terminal physically closer to the matching engine?

If you are wanting to run quite fast low latency algos, TT's Algo Design Lab will get you 100 micros if the clearing firm's TT environment is set up properly. So why the need to create your own code? If you are trying to get faster than this, e.g. 10 micros, you will need to write directly to the exchange, not use the Rithmic API, which is a very sophisticated and expensive project. Many true arb opportunities disappear around 70 micros, and there are huge barriers to competing in this space.

Finally, you mention costs. Many good scalping strategies will be rendered unprofitable paying retail type costs. The correct clearing relationships and exchange memberships are key to getting transaction costs low enough to make strategies with average profit of 1 increment profitable. Traders who have a $1-200/month budget for software will not be able to access the pricing they need to compete.

Perhaps a better collaboration would be something like the old "traders clearing alliance" where you set up an organisation which pools members equity and trading volumes to negotiate better clearing and exchange fees. This would also be a lot of work, and likely would involve understanding all the appropriate regulations for each exchange and jurisdiction you wanted to clear.

Also, for true scalping, there are some good opportunities available in certain futures markets which retail traders will not have access to. e.g emerging markets and certain energy products.
 
+ a london based programmer with the required skill-set (gained by working at an IB/Hedgie) is going to be giving up £600-£1000 per day to come onboard
 
Scaling can occur on many time frames, I ran a successful scalp strategy for about 6 months with a 5-30 second in/out period. When its in this time frame its less sensitive to high execution and brokerage costs. I'd recommend trying out https://www.QuantConnect.com - we don't have live trading yet but will in February.
 
I'm talking about portfolio trading not about portfolio backtesting. And no it can't do it (for years!). Just ask MC. They will confirm.

What else it can't do? Sector industry analysis. What about rotational trading strategies and rebalancing? What about markets analysis with different currencies. It can't dynamically convert currencies. etc etc. Not to mention that it's slow while analyzing.

It's a waste.
 
Last edited:
Top