Replicating IBKR Adaptive market orders

Schwab used to offer a Walk Limit order type for options. Only on the StreetSmart platform.

https://www.schwab.com/video/streetsmart-walk-limit-orders


This is Excellent! You can set out the floor and ceiling prices, increment and time delay.

This would be helpful at IBKR. Yes, you could do this yourself but all cancel replace orders would be then counted. If done by the broker dealer (ie their ALGO) - only the parent order (1) is counted towards your daily count.
 
You are talking about writing your own Smart Order Router (SOR). You would need Colo, all level2, and dark pools to do it effectively. If other brokers provide direct access, they often offer access to exchange provided algos like below
https://www.nasdaqtrader.com/content/ProductsServices/Trading/StrategyG.pdf

I don't think it's that complicated. I had something like this in mind:

Code:
async def adaptiveMarketOrderBuy(order, ticker, isUrgent):
   order.limit = ticker.bid
   placeOrder(order)
   while not order.filled:
       await asyncio.sleep(0.1 if isUrgent else 1)
       if order.filled:
         break
       order.limit = order.limit + ticker.minTick
       updateOrder(order)
 
Last edited:
This is Excellent! You can set out the floor and ceiling prices, increment and time delay.
I’m curious if you could provide a use-case for such order from trader’s perspective? Adjustments only happen in one direction irrespective of underlying movement, so you just chase the bid/offer until you get hit? And if you don’t get hit, you don’t have a position. Are you trying to capture mis-pricing with this kind of order?
 
This is Excellent! You can set out the floor and ceiling prices, increment and time delay.

This would be helpful at IBKR. Yes, you could do this yourself but all cancel replace orders would be then counted. If done by the broker dealer (ie their ALGO) - only the parent order (1) is counted towards your daily count.

This already exists at IBKR, see my link in the original post.
 
I’m curious if you could provide a use-case for such order from trader’s perspective? Adjustments only happen in one direction irrespective of underlying movement, so you just chase the bid/offer until you get hit? And if you don’t get hit, you don’t have a position. Are you trying to capture mis-pricing with this kind of order?


In the options market - in the vast majority of cases, the posted prices are crap. This is precisely what the wholesalers want (wide spreads) - just waiting for investors to make mistakes. However, given the competition from this group (wholesalers) they are also waiting in the weeds with hidden markets. For example. lets say an option has the following NBBO:

$5 bid $7 ask (typical spread is about $2 across the 1.3 million equity options)

I guarantee you that there are better "hidden" markets within that posted NBBO

Let's say you are a buyer and would be willing to pay $6.80 (for whatever reason). The way to generally get the best price (ie to find the best hidden offer) would be to bid $5.10 and increase the price by the minimum increment (likely .10). You may get filled at $5.20 (don't laugh) - but you also may get filled at $6.90. The bottom line is that this is really the only way to get the best price. This is why 75% + of the option trades in the market happen instantly as investors are generally overpaying on their purchases.

Yes - clearly the underlying can get away from you as well and you have to take that into account.

Am I trying to capture mis-pricing? I could be. In this case there might be another order on a different option that may drive this option higher and the reality is that I could actually arb this out by paying $6.20 so an algo to bid $5.10 with a ceiling of $6.20 with a .10 cent increase every second would be useful in a relatively stable underlying. It doesn't mean that you are going to get filled but this is how many of the arb books operate (I call it "pinging" the market to find the hidden liquidity)

Or maybe I'm stuck in something and just want to get out without having to waste so many orders (cxl/replace)
 
Last edited:
The Adaptive ALGO is not the same

Oh you mean in terms of the parameters allowed. I think there are certain algorithms that let you set that, maybe look up the arrival price algo or the VWAP algos. Don't know if they work for options.
 
Back
Top