On structure — read this first. Our candidate file lists this as a single line: $14M of 290-strike puts sold. It is not a single line. The source run for March 24 carries three prints on CDNS, all stamped 10:01:15, all expiring June 18 — and together they form one matched spread. We are writing the spread, not the leg. This is the failure mode that has burned this file before, and the only reason we caught it here is that the audit pass reads the source run rather than the scored summary.
On sides. The run classifies the 290-strike prints as sold to open and the 265-strike print as bought to open. Take those as classifications, not confessions — a block crosses with a buyer and a seller on the same ticket, and the tape does not sign its name. The contracts, the sizes, the timestamps and the settlement are the parts not in dispute.
On March 24, 2026, at 10:01:15, three put prints landed on CDNS — Cadence Design Systems — in the same second, in the same June 18 expiration:
| Leg | Side | Strike | Size | Premium |
|---|---|---|---|---|
| 1 | BUY | 265 put | 10,000 | $17.0M |
| 2 | SELL | 290 put | 7,500 | $14.0M |
| 3 | SELL | 290 put | 2,500 | $7.2M |
10,000 bought at 265, 10,000 sold at 290 — the two 290-strike fills add to exactly the size of the 265-strike one. That is a $25-wide put credit spread, 10,000 lots, for a net credit of $4.2M ($21.2M collected less $17.0M paid). Cadence closed that day at $284.32, which put the short strike $5.68 in the money and the long strike $19.32 out of it, with 86 days to expiry.
Only the $14.0M leg cleared our scan's $8M premium floor as a scored candidate. Read on its own, it looks like a naked in-the-money put sale. It was nothing of the kind.
First published: Daily Institutional Flow Digest, March 24, 2026 · CDNS flow on 2026-03-24.
The print
| Field | Value |
|---|---|
| Date | 2026-03-24, 10:01:15 |
| Symbol | CDNS (Cadence Design Systems) |
| Structure | Put credit spread — long 265 / short 290, 10,000 lots |
| Expiration | 2026-06-18 (86 days) |
| Premium collected (290 strike) | $21.2M across two fills |
| Premium paid (265 strike) | $17.0M |
| Net credit | $4.2M |
| Width | $25 |
| CDNS close on the print date | $284.32 |
| Short strike vs spot | 2.0% above — $5.68 in the money on day one |
| Open/close verdict on the scored leg | confirmed by the next-day open-interest snapshot (Confidence: MEDIUM) |
| Outcome basis | both legs expired out of the money |
Why we quote premium and not price. The run records sizes, so you could try to back out a per-contract price — but the two 290-strike fills, in the same second on the same contract, imply prices that cannot both be right. UOA print sizes are routinely inflated by cross-prints and multi-fills, which breaks that arithmetic. Premium is the number the run stands behind. The sizes are worth quoting only because their ratio is the whole story: 10,000 against 10,000.
What the confirmation covers. The next-day open-interest snapshot confirmed the 290-strike sale as new exposure rather than churn — Confidence: MEDIUM. Of the 163 scored candidates this run left uncovered by an earlier article, only 58 carry that check. The 265-strike leg does not carry it, which is exactly why the two ended up graded separately.
What the spread actually risked
A put credit spread is a bounded trade in both directions, and the bounds here are worth writing out because the headline "$14M sold" implies neither of them.
Maximum gain: the $4.2M net credit, earned if CDNS finishes above $290 on June 18. That is the entire upside. Cadence could have doubled and the payoff would be identical.
Maximum loss: $20.8M, reached anywhere below $265 — where assignment on the short strike is offset by the long one — the $25 width times 100 shares times 10,000 contracts is $25M of exposure, less the $4.2M already collected. Five times the maximum gain. Selling the 290 put alone would have carried multiples of that; buying the 265 put is what turned an open-ended obligation into a number you can write down.
The short leg started in the money, and falling stock made it worse, not better. When CDNS dropped to $265.66 on April 10, the 290 put's intrinsic value alone went from $5.68 to $24.34 a share. A rising option price on a sold leg is a loss for the seller, not a gain — the direction of that arithmetic is the single thing most often gotten backwards in flow commentary. What the long 265 put bought was the guarantee that this particular loss stopped growing at $25.
Time was the position's asset. With no upside participation to wait for, every session that passed without a Cadence drawdown moved value toward the credit side through theta decay.
What Cadence did next
It went the wrong way first, then it did not stop going right.
| Date | CDNS close | vs the print | vs the 290 short strike |
|---|---|---|---|
| 2026-03-24 (print) | $284.32 | — | $5.68 below |
| 2026-04-10 (the low) | $265.66 | −6.6% | $24.34 below |
| 2026-04-14 (first close above the strike) | $292.37 | +2.8% | $2.37 above |
| 2026-06-02 (the high) | $416.39 | +46.5% | +43.6% |
| 2026-06-18 (expiration) | $387.39 | +36.3% | +33.6% |
Daily closes from Polygon across the 61 sessions the position was live; the chart above plots all of them.
14 of those 61 sessions closed below the short strike, and all 14 came in the first three weeks. The last close under $290 was April 13, at $288.20. From April 14 onward the spread never finished a session with either leg in the money — it spent the remaining nine weeks getting further from trouble, settling 33.6% above the short strike.
There is one coincidence in the low worth flagging and not over-reading: $265.66 on April 10 finished 66 cents above the 265 long strike. At the worst close of the position's life, the spread was very nearly at maximum width — and then it never came close again.
Both legs expired out of the money on June 18. A holder who stayed to expiration kept the $4.2M net credit in full and paid nothing. We cannot see whether they stayed — the tape shows opens, not exits — so read that as what the settlement permitted, not as a confirmed bank statement.
One trade, two grades
Our scan scores every line independently. That means this single package appears in the candidate file twice, on opposite sides of the ledger:
- the 290-strike sale is graded a winner — expired out of the money;
- the 265-strike purchase is graded a loss — CDNS closed 36.3% higher and the long put expired worthless.
Both grades are individually correct and the combination is meaningless, because the "loss" is the insurance premium that capped the "win." Netted the way the trader actually held it, this was one bounded credit trade that resolved for the credit.
Compare our TSM flashback from the same scan, where the source run really does carry one standalone line and the write-up can describe a single contract without qualification. You cannot tell those two cases apart from the candidate file alone; you have to go back to the run.
The general lesson is bigger than Cadence: if you count rows in a flow file, you will double-count. Legs of one structure enter separately, clear the premium floor separately, get open-interest-confirmed separately, and get scored separately. Any hit rate computed by counting lines — including ours — is counting legs, not positions.
The denominator
This scan had a 50% hit rate — the number in the source file. That rate counts single-leg POSITIONS, not legs: 202 of 472 priced legs belonged to multi-leg structures and are excluded, because the legs of one position resolve together and must not each vote. Of every eligible print it scored, fewer than half worked out. The 290 leg above is in the winning half and the 265 leg is in the losing half, which tells you something about what that percentage is made of.
We should also be precise about roles. We did not predict this. Our scanner flagged a large, open-interest-confirmed put print on March 24 and put it in that day's digest. Somebody put on a spread; twelve weeks of tape resolved it. Those are separate events, and collapsing them into one is how flow coverage turns into promotion.
Two things this trade teaches
Check the timestamp before you believe the trade. Three prints, one second, one expiry, sizes that add up exactly — that is a package, and reading any one of its legs on its own inverts the risk profile completely. "Sold $14M of in-the-money puts" describes unlimited downside. "Bought a 10,000-lot $25-wide put spread for a $4.2M credit" describes $20.8M of it. Same tape, same day, same trader.
Distance to the strike is the whole trade for a credit seller — including when it starts negative. This spread opened with its short strike already $5.68 in the money and spent three weeks getting worse. None of that mattered on June 18. The only date that pays is expiration day, and the only question it asks is where the stock is standing on it.
See the flow as it prints
See This Analysis Live — Free
Sign up free to access the full options screener with 5-pillar scores for 5,000+ stocks, daily signals, strategy recommendations, and radar charts. No credit card required.
Free account includes: screener · 5-pillar scores · daily signals · strategy picks · radar charts
Or just get the weekly recap
Sundays. What moved this week, what catalysts and earnings drive next week, and the 5-pillar setups that stand out. No account needed.
Free. One email per week. Unsubscribe with one click.