I'm looking to hire someone to build a robust market-making tool:
I have more granular schematics but as a general overview the tool will have the following capabilities:
-Generate theoretical bid/ask values for 'product A' based on a ratio+offset to 'product b' *Ability to be used for various sets of products simulatenously simply by swapping products and ratios.
-Needs to work for both futures and equity markets
-Once a theoretical value is generated, should have the ability to build modular strategies to send orders- MM (quote, dime, multi-levels) / Market Take
-Needs to generate hedging orders based on 'product b' or using designated hedges
-Needs to be robust... completed tool will have to be able to manage millions in live quotes simultaneously and reliably.
The simplest way I'd describe it is a form of an automated pair trading tool where opportunities are based on theoretical values priced off a per-defined ratio.
I've been using IB for over 10 years, so ideally I would build something that would work there, unless the developer/product manager convinces me there is a better direction.
I'm willing to pay fairly based on developer ability and experience. Thanks.
I really hate to rain on your parade but I went through this myself and I can tell you that your expectations are absolutely unrealistic.
"How difficult can it be, right? The algorithm is pretty straight forward and I just need to connect it to IB API. Perhaps 20k - 30k will do and a guy from either a contractor or a guy from Upwork."
Here are some lessons for you:
- if your algo needs to do any kind of calculations based on past data, like theoretical values you need a database first. Most likely you will hire a monkey who codes one in SQL which blows up your machine within two weeks. Find me a freelancer who knows time series database programming such as KdB+ for under 200/h
- for your database to be filled with data, you will need a feed handler that translates and cleans the gibberish from your source into something that can be stored
- now we´re getting to the order management system or OMS. When you send an order, you send that message to the exchange, the exchange sends back a message that the order is either acknowledged, declined for whatever reason or cancelled. The same goes for fills. Your hedger can only hedge if it knows that the quoting order has been filled and by how much.
You will need exception handling, crash management, yada, yada, yada
- Let´s go over latency and expect 50ms ping to your broker and 50ms to the exchange: Your quoting order is sent to the broker first for the risk checks, then it gets to the exchange. That´s 100ms. Now you wait for the order confirmation, another 100ms. Now your pricing asset changes so you need to amend your quote (I hope the indian freelancer knows the difference between cancel/replace and amend), another 200ms
When your quote gets hit, it takes 100ms for the fill confirmation to get to you and another 100ms for the hedging order to arrive at the exchange and another 100ms until you know if you have been legged or not so that your risk management, we haven´t talked about yet, can either do nothing or amend the hedging order.
- Risk management: You need to make sure you have automatic kill switches in case your algo goes haywire and that your portfolio is in line with your risk parameters.
- Log: You need to log every single action of your algo and you also need to log your mark outs vs. theo to measure slippage.
- Your quote machine needs to be in line with the exchange rules, meaning you have to throttle your quotes and maintain a given message to fill ratio.
- Exchange connections and Broker APIs are patched all the time and your system will be infested with bugs so you have to maintain the connector and the software.
- On top of all you don´t have any idea how all of this works so you cannot differentiate between a qualified programmer who has experience with this kind of stuff and a punk who tells you "no problem, you´ll have it next week"
- Futures would be easier but you want to trade equities. There are 17 different exchanges and an infinite number of dark/OTC venues so you need to handle all of them AND you need to decide where your passive order should sit. Maker/taker fee structure, order types, routing, you name it
Unless you have a mid 6 figure budget for development and a 5 figure monthly budget for maintainance you will end up with an unusable product that causes more harm than good. Been there, done that. Either learn to code or buy off the shelf.
I don´t know what you´re planning to do but I guess you´re not looking to trade pairs with 50bps slippage but you don´t care because 3 week holding period and you will also not mass quote 500 single names against SPY.
So you are neither happy with a retail spreader that can be had for 100/month nor do you have the capacity for a seven figure low latency infrastructure.
Your best bet would be a prop shop infrastructure aka.
- broker/clearer with low latency DMA...meaning say good bye to IB
- off the shelf software that is running on a co-located server maintained by the SaaS provider. If you rent the software only and look to deploy it yourself on either colo or cross connected virtual machines you´re looking at a massive overhead since NASDAQ alone is round about 30k/month just for priority connection.
For equities I would guess you´re good with a monthly budget between 5 and 10k all in.
Sounds steep? You will get it cheaper, but look at it this way:
You "manage millions", so I guess we´re looking at a 2m USD account

Let´s say you are turning that over 200 times per year, that´s 400m USD turnover per year.
An average slippage of 4bps (2cts for a 50$ stock) will cost you 160k. So imagine using a shitty retail setup that runs on your local machine with "fast internet" and averages 20bps slippage over theoretical (10cts for a 50$ stock) -> 800k
Be warned, my friend. The rabbit hole you´re about to crawl into is very, very deep.