IB's order handling when limited shares available to short

Discussion in 'Order Execution' started by jtrader33, May 10, 2012.

  1. I'm curious how others deal with this situation:

    You submit an order to IB to short 10,000 shares of XYZ. However, there are only 9,900 shares available to short. Rather than execute the 9,900 and then attempt to locate the remaining 100, IB holds the entire 10,000 share order until (if/when) it can find the final 100 shares. I assumed there must be a setting somewhere to elect for partial execution in this circumstance while remaining shares are located / cancelled, but according to customer service, there is no such option.

    I was told that I can download a 'shares available' .txt file from the ftp site which gets updated hourly. So I guess one somewhat convoluted and imperfect solution is to:

    1. Submit the order
    2. Get a 'locate' value from the whyHeld field in orderStatus()
    3. Scrape the ftp site to check how many shares are available and hope that the number hasn't changed since the last hourly update
    4. Modify the order size to the # of shares in Step 3 and submit a new order for the remaining amount

    *I suppose an alternative to step 3 is to iteratively reduce the order size by x # of shares until it submits

    Anyhow, this seems like a lot of nonsense for something that could easily be added as a checkbox. That said, there could very well be a reason for this that I'm not aware of. Regardless, anyone have a better way of dealing with this?
  2. sf631


    I don't have an answer to your question, but a similarly annoying feature of hard to borrows on IB - I actually didn't realize the behavior you're describing.

    When I place an order for a stock with limited shares available, if placed on one account, it will go into "searching for shares" mode and will hold the order until shares are located. HOWEVER, if I place the order as part of an adviser allocation (i.e., anything other than a single account) it will immediately reject the order, and the order will disappear after 30 seconds. If I see the order get rejected, I can place multiple smaller orders for each sub-account (manually manage the allocation) but that's a headache and doesn't ensure that the sub-accounts get a pro-rata allocation.

    I'd pile onto your question and suggest that IB also address the adviser allocation issue
  3. You've implemented the API...
    And you are capable of scrapping out-of-date IB info sites...
    But you can't code a simple loop that C/R decrements your size until it is sent successfully?
  4. sf631


    Not sure the OP has implemented the API in this case. I think a request for a "check box" suggests it's a TWS manual trade entry. I know that my case was specific to the TWS manually entered trades
  5. Can't find where I said I was incapable?? Decrementing order size makes managing messaging rates and latency during peak activity periods trickier than it already is - so, it's far from a perfect solution.

    None of this should be necessary - a TWS default or API order attribute for "Allow partial submission of short sale orders" would be a simple clean solution that would generate more commissions for IB.