Eleven lessons of judgement. This one turns them into a number, because a framework you have to think through from scratch every time is a framework you will abandon under pressure.


Why score at all

Scoring is not about precision. A contract scoring 74 is not meaningfully better than one scoring 71.

Scoring is about consistency and refusal. It forces you to evaluate the same dimensions every time rather than whichever one is most salient, and it makes rejection an output rather than an act of willpower.

Most bad contract selection is not a wrong judgement. It is a skipped one — the spread never got checked because the delta looked right.


The four terms

Everything in this course collapses into four measurable inputs.

Term What it measures Weight
Delta fit Distance from the delta your setup calls for 0.32
DTE fit Time available against time you expect to need 0.28
Spread / liquidity Round-trip transaction cost 0.25
IV reasonableness Whether the rate is sane for this chain 0.15

The first two are fit — does this contract match the trade? The last two are quality — can you actually trade it?

The weights say fit matters slightly more than quality, which is right in ordinary cases. But weights alone are not enough, which is the subject of the next section.


Why a weighted sum is not enough

Take a contract with perfect delta fit (100), perfect DTE fit (100), reasonable IV (80), and a catastrophic spread (10).

Weighted: 100(0.32) + 100(0.28) + 10(0.25) + 80(0.15) = 74.5

Seventy-four out of a hundred looks like a good contract. It is not. A spread that scores 10 means you are paying an enormous fraction of your premium in round-trip cost, and no amount of delta fit compensates.

A pure weighted sum lets a strong term average away a disqualifying one. Real decisions do not work that way — some failures are not costs to be traded off, they are conditions.

So the score needs a hard veto:

if spread > 10% of mid:
    score = min(score, 42)     # cannot be recommended, regardless of fit

The contract above drops to 42 and lands in REJECT. That is the correct answer, and the weighted sum alone would never have produced it.

🚨 DANGER
Any scoring system you build needs at least one veto. Without one, a sufficiently attractive number in a category you care about will eventually talk you into a trade that fails on something non-negotiable.

Reading the output

The bands:

strong fit, trade it
75 and above
workable
58 to 74
marginal, look for a better strike
42 to 57
poor fit or vetoed
Below 42

A marginal score is rarely a reason to force the trade. It is usually a signal that an adjacent contract scores better — one strike over, or one expiry further out.

That is the practical value of scoring a whole chain rather than a single contract. You are not asking "is this acceptable?" but "which of these is best?", and those questions have different answers surprisingly often.


Try it on the real chain

The tool below runs this scoring against the same GOOGL and SPY contracts used throughout the course. Pick a contract, set a target delta from your setup, and set how long you expect to hold.

Three experiments worth running:

Pick a contract with an excellent delta fit but a wide spread. Watch the veto fire and the score collapse regardless of the fit terms.

Hold the contract fixed and change the target delta. The same contract swings from strong to poor without anything about it changing — because fit is a relationship between the contract and the setup, not a property of the contract.

Hold the contract fixed and change the holding period. A contract that scores well for a one-day hold can score badly for an eight-day one, and vice versa.

That second experiment is the whole course in one interaction. There is no such thing as a good contract in isolation. There is only a contract that fits a particular trade.


Where this goes next

The score in this course is a teaching model with fixed weights and a single veto. A production version would extend it in several directions — calibrating the fit curves to your own trade history, adding vetoes for open interest and IV outliers, and letting market state adjust the target delta automatically rather than requiring you to set it.

The structure would not change. Fit terms, quality terms, and vetoes that override both.


The course in one paragraph

A trade carries three uncertainties. Price action addresses direction. Delta addresses distance. DTE addresses timing. Cheap contracts are not safer, they are more demanding — they need more things to go right, and requirements multiply rather than average. Match the contract to the move your setup actually forecasts, not to what you can afford. Let market state decide how aggressive that contract should be, and refuse to trade when there is no edge to express. Then check that you can actually transact it, because a perfect contract with a broken book is not a trade.


Using it without the tool

The score exists to be run in your head in fifteen seconds. The long form:

  1. What move am I forecasting, in percent? → gives the target delta band
  2. How many sessions do I expect it to take? → gives the DTE floor
  3. Which listed strike carries that delta at that expiry? → the candidate
  4. Is the spread within max($0.10, 10% of mid)? → veto check
  5. Is this strike's IV in line with its neighbours? → sanity check

If step four or five fails, go back to step three and take the adjacent strike or the next expiry. Nearly always one exists with a materially better book and a delta within a few hundredths.

The habit that matters is doing steps four and five at all. They are the ones that get skipped, and they are the ones that quietly decide outcomes.


What to do when nothing scores well

Sometimes the whole chain scores poorly for your setup. That is information, not an obstacle.

It usually means one of three things. The underlying's options are too illiquid for the size of move you are forecasting, in which case trade the stock instead. Or your expected move is too small to overcome transaction costs at any strike, in which case the edge is real but not harvestable this way. Or your timing is too uncertain for any affordable expiry, in which case wait for a trigger.

All three are answers. A framework that always returns a contract would have hidden them behind a mediocre recommendation.

💡 TIP
The best contract is not the one with the highest potential return. It is the one that requires the fewest things to go right for the return you actually need.

That sentence is the whole course. Everything else is the arithmetic that proves it.