28 spreads
Built from contract counts, not weights — a price move can't show up as a trade. Changes of equal size on the same stock are paired: a roll closes one expiry and opens the next, a synthetic (long call + written put at one strike) is stock exposure, not two bets. Negative = written.
No stock position to cover in the latest snapshot.