Bracket Order for Option | Error - complex orders not supported for options trading

Hi Team,

I am using the Alpaca API for the first time and referring to the documentation on how to place bracket orders for options: Alpaca Documentation on Bracket Orders. I created the response body accordingly, but I am encountering an error stating “complex orders not supported for options trading.”

{
    "symbol": "SPY240520C00530000",
    "qty": "1",
    "side": "buy",
    "type": "limit",
    "time_in_force": "day",
    "limit_price": "0.67",
    "order_class": "bracket",
    "stop_loss": {
        "stop_price": "0.47",
        "limit_price": "0.46"
    },
    "take_profit": {
        "limit_price": "0.88"
    }
}

I have two questions regarding this issue:

  1. Could you please help me understand where I might be going wrong with my current approach?
  2. As an alternative, can I place two separate orders: first, buy a stock, and then add the stop and profit prices using OCO orders as mentioned in the documentation? I noticed this approach in the JavaScript code example at the bottom of the same documentation page. Could you please confirm if this method will work?

Thank you for your assistance.

Looping @Dan_Whitnable_Alpaca for response

@aditya_toke As the error message notes complex orders not supported for options trading.. This includes bracket, OTO, and OCO orders. Those unfortunately are not yet supported for options trading. They are of course supported for equity orders but just not option orders yet.

Does that answer your question?

1 Like

ya @Dan_Whitnable_Alpaca thanks for the response.

Hello,
Just read this post and wondering with following questions.
So only allowed from options trading, as far as what I have found out from the API documentation, are market, limit, stop and stop_limit, correct? For the example above from the original poster, if he takes out the take_profit part, it would worked? or Did he have to take “stop_loss” bracket as well? Can you advise? Thank you in advance for your time.

@goguryo2000 Only simple market or limit orders are currently allowed for options (the documentation incorrectly includes stop orders). One cannot place a bracket order for options.

I see. Thank you for your prompt response.

hello, is there a long-term plan to support bracket/complex orders for options?

2 Likes

Alpaca response from Reddit:

Option orders cannot be bracket orders. They must

  • have qty is a whole number

  • Notional must not be populated

  • time_in_force must be day

  • extended_hours must be false or not populated

  • type must be market or limit

There is a bit more here in the docs.

There aren’t any current plans to support bracket orders for options. One of the issues is the high volatility and large bid/ask spreads makes estimating fill price a challenge from which the initial order checks are made.