I have an options algo that trades multiple BullPutSpreads simultaneously; opening & closing them at different times.

Sometimes an options contract may be used in multiple spreads --this seems to cause problems when opening or closing new positions

e.g. : consider these spreads, all bought on the same day, all expiring at the same time

# open bullPutSpreadA : sell [nvda $310 put] / buy [nvda $305 put]
# open bullPutSpreadB : sell [nvda $305 put] / buy [nvda $300 put]
# open bullPutSpreadC : sell [nvda $305 put] / buy [nvda $300 put]

note that each spread makes use of this contract [nvda $305 put] . Overall, we bought it once, and sold it twice.

Question 1: When we open bullPutSpreadB (selling that contract for the first time), will that sell position cancel out the initial buy position? 

Question 2: What is the best way to liquidate this contract for ONLY one of the spreads? 

eg: the next day, i want to close ONLY bullPutSpreadC (but not the other two)

# close bullPuSpreadC : liquidate [nvda $305 put] / liquidate [nvda $300 put]

When i do this, liquidating [nvda $305 put] seems to remove ALL holdings related to this, leaving the other 2 spreads with mismatched legs.

Author