BankNifty options

← All patterns

Positioning

Whether where the crowd has placed its money — open interest, the put-call ratio — says anything about what the index does next.

5 ideas registered in this family: 3 rejected, 2 excluded.

pcr oi high precedes rise (index level)+0.4%pcr oi low precedes fall (index level)-0.4%pcr volume high precedes rise (index level)-0.2%
Each bar is that one pattern's own measured change, labelled with what was measured — never a portfolio return — so only compare bars that share the same label; green rose, red fell.

pcr oi high precedes rise Rejected

What was actually tested (written down before the result was seen)An extreme put-call open-interest ratio -- read from the nearest-listed contract with 7-45 days to expiry, not a blend across whatever else is listed that day -- marks excess bearishness, and the forward rises over the following week.

This does not repeat.

Happened 392 times in 16 years — about 25 times a year.

It went the expected way 91 times out of 160.

There is no evidence this repeats. It did not pass: not significant in sample (p=0.109)

The range of plausible values includes zero, which means the effect could be real or could be nothing at all.

Only 44.5% of the option contracts involved had a usable, screened price on the days this happened, so this rests on a thin slice of the market.

priorup familypositioning
n (in-sample)232 n (out-of-sample)160
effect IS0.5% effect OOS0.4%
baseline IS0.2% baseline OOS0.1%
went predicted direction (IS)60.8% went predicted direction (OOS)56.9%
p (IS)0.1087 p (OOS)0.2225
q-value (BH)q = 0.2225 chain coverage44.5%
95% CI (OOS, excess over baseline) [-0.1%, 0.8%]
regimeneffectmatched
R11210.6%60.3%
R22210.4%57.5%
R3520.4%61.5%

verdict reason: not significant in sample (p=0.109)

pcr oi low precedes fall Rejected

What was actually tested (written down before the result was seen)An unusually low put-call open-interest ratio -- read from the nearest-listed contract with 7-45 days to expiry, not a blend -- marks excess bullishness, and the forward falls over the following week.

This does not repeat.

Happened 348 times in 16 years — about 22 times a year.

It went the expected way 60 times out of 125.

There is no evidence this repeats. It did not pass: not significant in sample (p=0.859)

The range of plausible values includes zero, which means the effect could be real or could be nothing at all.

Only 47.0% of the option contracts involved had a usable, screened price on the days this happened, so this rests on a thin slice of the market.

priordown familypositioning
n (in-sample)223 n (out-of-sample)125
effect IS0.2% effect OOS-0.4%
baseline IS0.2% baseline OOS0.2%
went predicted direction (IS)43.0% went predicted direction (OOS)48.0%
p (IS)0.8589 p (OOS)0.0686
q-value (BH)q = 0.2058 chain coverage47.0%
95% CI (OOS, excess over baseline) [-1.2%, 0.1%]
regimeneffectmatched
R11130.2%37.2%
R2216-0.1%47.2%
R319-0.3%63.2%

verdict reason: not significant in sample (p=0.859)

pcr volume high precedes rise Rejected

What was actually tested (written down before the result was seen)The same reading (the nearest-listed 7-45 DTE contract, not a blend), taken from traded volume rather than open interest, carries the same signal.

This does not repeat.

Happened 418 times in 16 years — about 27 times a year.

It went the expected way 96 times out of 181.

There is no evidence this repeats. It did not pass: not significant in sample (p=0.590)

The range of plausible values includes zero, which means the effect could be real or could be nothing at all.

Only 45.4% of the option contracts involved had a usable, screened price on the days this happened, so this rests on a thin slice of the market.

priorup familypositioning
n (in-sample)237 n (out-of-sample)181
effect IS0.3% effect OOS-0.2%
baseline IS0.2% baseline OOS0.2%
went predicted direction (IS)58.2% went predicted direction (OOS)53.0%
p (IS)0.5898 p (OOS)0.1671
q-value (BH)q = 0.2225 chain coverage45.4%
95% CI (OOS, excess over baseline) [-0.7%, 0.0%]
regimeneffectmatched
R11210.1%52.1%
R22370.3%58.2%
R361-0.5%54.1%

verdict reason: not significant in sample (p=0.590)

oi surge precedes iv rise Excluded

What was actually tested (written down before the result was seen)A day-on-day open-interest increase above 15% precedes a rise in implied volatility.

This was not tested.

Not tested. This is not a rejection — the statistics needed to test it honestly are not available, so it was never run against the data. Reason on record: selects a day-on-day total_oi increase above 15%, but total_oi is per-contract and accumulates over a contract's life, so an ordinary day's change already exceeds that threshold: measured median day-on-day change in this pattern's own 7-45 DTE band is +20.4%, 75th percentile +75.2%, 95th percentile +333.3%. A +15% move is therefore not a surge, it is below a typical day, and this threshold fires on 56.3% of eligible rows -- 198 of those from a prior day of exactly zero open interest, an artificial infinite percentage change rather than a real spike. Retuning the threshold to describe the data was considered and rejected as fitting the answer rather than testing the hypothesis; its mirror pattern, oi_unwind_precedes_iv_fall, is excluded for the same underlying reason. Not tested -- not rejected on evidence.

No hit rate, frequency or range is given for this row because none was ever computed — treat every number here as absent, never as zero.

prior (as registered)higher familypositioning

No effect size, hit rate, p-value or confidence interval is shown here because none was ever computed — this hypothesis was not run, not run-and-rejected. Every number that would normally sit in this box is absent, never zero.

oi unwind precedes iv fall Excluded

What was actually tested (written down before the result was seen)A day-on-day open-interest fall beyond 15% marks position unwinding and precedes a fall in implied volatility.

This was not tested.

Not tested. This is not a rejection — the statistics needed to test it honestly are not available, so it was never run against the data. Reason on record: selects a day-on-day total_oi fall beyond 15%, but total_oi is per-contract and accumulates over a contract's life, so an ordinary day's change already exceeds that threshold in either direction: measured median day-on-day change in this pattern's own 7-45 DTE band is +20.4%, 75th percentile +75.2%, 95th percentile +333.3%. Against that distribution this threshold fires only 66 times across 16 years, and on every one of those 66 rows the contract's own ATM implied volatility is null -- the threshold mostly catches contracts already too thin to have a screened price at all, which is also why none of the 66 selections ever attaches to a scoreable outcome: this hypothesis has zero events, in or out of sample, and was never actually tested against a single observation. Retuning the threshold to describe the data was considered and rejected as fitting the answer rather than testing the hypothesis. Not tested -- not rejected on evidence.

No hit rate, frequency or range is given for this row because none was ever computed — treat every number here as absent, never as zero.

prior (as registered)lower familypositioning

No effect size, hit rate, p-value or confidence interval is shown here because none was ever computed — this hypothesis was not run, not run-and-rejected. Every number that would normally sit in this box is absent, never zero.