Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
IBALGOL (Adaptive order type for IB) for live trading requested: repost

Quote Rob "Plum Rhinoceros" Robinson edited Sep 22, 2016
"I'd like to use the new IB Adaptive Algo for automated live trading. I am seeing some reasonably good price improvement with it (0.9 bps) for highly liquid market orders.

Can it be added to the allowed order styles please?

From IB:

The Adaptive algo order type combines IB's Smartrouting capabilities with user-defined priority settings in an effort to achieve further cost efficiency at the point of execution. Using the Adaptive algo leads to better execution prices on average than for regular limit or market orders.

Thanks!

Rob"
Are there any special commands for this order type? The algo scans for a better price for both market and limit orders. Could be an easy way to clear a large portion of commissions and add a small bump to your portfolio.

Thank you,
Ryan

2 responses

Adaptive Algo

The Adaptive Algo combines IB's Smartrouting capabilities with user-defined priority settings in an effort to achieve further cost efficiency at the point of execution. Using the Adaptive algo leads to better execution prices on average than for regular limit or market orders.

Parameter Description Values
adaptivePriority The 'Priority' selector determines the time taken to scan for better execution prices. The 'Critical' setting scans only briefly, while the 'Patient' scan works more slowly and has a higher chance of achieving a better overall fill for your order. Critical > Urgent > Normal > Patient

        Order baseOrder = OrderSamples.LimitOrder("BUY", 1000, 1);  

... AvailableAlgoParams.FillAdaptiveParams(baseOrder, "Normal");
client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder);
... public static void FillAdaptiveParams(Order baseOrder, string priority)
{
baseOrder.AlgoStrategy = "Adaptive";
baseOrder.AlgoParams = new List();
baseOrder.AlgoParams.Add(new TagValue("adaptivePriority", priority));