lets say if i am executing a multi legged strategy like bull call spread, if i do not have enough margin/cash in my account i do not want any of the leg from this basket to execute, currently i do not see a way to enforce this.
this is what i had.
this is my case
before creating basket: already sold ATM call (x qty)
basket:
y qty of ATM strike call: SELL
(x+y) qty far OTM strike call: BUY
toggle to mark to use the existing position: TRUE
expectations: since the existing positions are considered, the existing position will be converted to a bull call spread, and margin will be freed for the new y qty bull call spreads and the whole order will go through
actual: only the buy orders went thorough and the Y sell were rejected due to margin.
i am now sitting on just far OTM call BUY which i included only to hedge/reduce margin.
what i expected here was either the whole order will go through or no legs will execute.
i currently do not see an option to enforce all or none leg execution in the basket order in the mobile kite app.
@Arockiya_Raja does this option not exist?
if yes, where is it?
if No, can Zerodha consider adding it?
In this case, the order of execution matters. Since the basket placed the sell orders before the corresponding buy orders, the required margin wasn’t available, which is why the sell leg was rejected.
To avoid this, arrange the basket so that the buy leg is placed before the sell leg. Once the buy order is executed, the spread is formed, and the required margin is reduced, allowing the sell leg to go through more smoothly.
Basket orders currently execute the legs sequentially based on the order you’ve arranged them; they don’t support all-or-none kind of execution.