# A liquidity result depends on which quotes survive

In the same 445-market incentive sample, an 18-hour coverage rule keeps 36 markets and a two-cent median widening; complete coverage keeps 11 and a zero median change.

Canonical URL: https://vultax.com/research/kalshi-quote-coverage-sensitivity
Author: [Vultax Research](https://vultax.com/editorial-policy)
Published: 2026-09-20
Last public revision: 2026-09-20

Published research snapshots and calculations; these exports do not contain current quotes or live account data. Observation windows and populations are stated in the source captions and methodology. Missing metadata is unknown, not zero. Exploratory reanalysis of a previously published sample. Same underlying observations; no independent replication, no matched controls, and no causal treatment estimate. Missing candles do not establish absent liquidity.

## Key figures

- Original sample: 445 markets — Same sample as the earlier incentive study; this is a sensitivity analysis.
- 18-hour rule: 36 pairs — Median paired spread change +2.0 cents; no matched controls.
- 24-hour rule: 11 pairs — Median paired spread change 0.0 cents; a different retained subset.

<a id="short-answer"></a>
## The short answer

The coverage rule changes both the number of usable markets and the result being described. In Vultax's published 445-market Kalshi incentive-ending sample, requiring 18 valid quote hours in each 24-hour window retains 36 paired markets. Their median spread change is two cents wider. Requiring all 24 hours retains 11, and their median change is zero.

That does not prove either threshold is right. It shows that the population behind the headline changes when the threshold changes. The complete-case result is also a small, selected subset, not a correction that reveals the effect on every market. There are no usable matched controls in the original design, so neither estimate establishes that ending incentives caused the change.

<a id="thresholds"></a>
## Five rules, five retained populations

The source sample, event times and quote validity definition stay fixed. Only the required number of valid hourly quotes changes. We count a spread only when both prices are finite, the bid does not exceed the ask, the bid is above zero and the ask below one.

### Five rules, five retained populations

Each window is 24 hours. These are different retained market subsets; this is not an independent replication.

| Required valid hours before and after | Paired markets | Share of 445 | Median change, cents | Wider / tighter / unchanged |
| --- | --- | --- | --- | --- |
| 1 | 394 | 88.5% | 2.00 | 272 / 33 / 89 |
| 6 | 161 | 36.2% | 3.00 | 120 / 18 / 23 |
| 12 | 66 | 14.8% | 2.95 | 48 / 8 / 10 |
| 18 | 36 | 8.1% | 2.00 | 23 / 5 / 8 |
| 24 | 11 | 2.5% | 0.00 | 4 / 1 / 6 |

[CSV](https://vultax.com/research/kalshi-quote-coverage-sensitivity/data.csv?dataset=thresholds-table) · [JSON](https://vultax.com/research/kalshi-quote-coverage-sensitivity/data.json?dataset=thresholds-table)

### Markets retained by coverage rule

Same 445 selected markets; valid-hour rule applied in both 24-hour windows.

| Category | markets (markets) |
| --- | --- |
| 1 hours | 394 |
| 6 hours | 161 |
| 12 hours | 66 |
| 18 hours | 36 |
| 24 hours | 11 |

[CSV](https://vultax.com/research/kalshi-quote-coverage-sensitivity/data.csv?dataset=thresholds-chart) · [JSON](https://vultax.com/research/kalshi-quote-coverage-sensitivity/data.json?dataset=thresholds-chart)

<a id="missingness"></a>
## Missingness needs its own table

Before the incentive end, 8,076 of 10,680 expected market-hours had a valid quote pair. Afterward, 2,790 did. The post window contains 7,495 hours with no returned candle and 395 returned candles with an invalid quote pair. A missing candle is not a measured empty order book, and an invalid quote is not a numerical spread of zero.

### Missingness needs its own table

The categories sum to the expected hours in each window. Invalid includes boundary, absent-side, crossed or nonfinite quotes.

| Window | Expected hours | Valid quote pairs | No returned candle | Returned but invalid |
| --- | --- | --- | --- | --- |
| pre | 10,680 | 8,076 | 2,436 | 168 |
| post | 10,680 | 2,790 | 7,495 | 395 |

[CSV](https://vultax.com/research/kalshi-quote-coverage-sensitivity/data.csv?dataset=missingness-table) · [JSON](https://vultax.com/research/kalshi-quote-coverage-sensitivity/data.json?dataset=missingness-table)

<a id="interpretation"></a>
## What survives the sensitivity check

The one-, six-, twelve- and eighteen-hour rules all retain subsets with positive median changes, between two and three cents. The complete 24-hour subset does not. This is evidence that conclusions should travel with their coverage rule and retained population; it is not enough to say the effect is robust because most thresholds point the same way.

A market-quality article should show quote availability beside spread. A research partnership could agree a coverage threshold before the next incentive cohort begins, preserve full book snapshots and compare matched, still-rewarded markets where timing and market identity permit it. Even then, selection and concurrent news would need to be addressed.

<a id="methods"></a>
## A reproducible follow-up, with a narrower claim

The earlier study selected one eligible incentive-ending event per market and used hourly historical candles. This analysis loads the same frozen sample and raw candle inputs, recalculates quote validity and medians, and verifies that the 18-hour result reproduces the published 36-pair, two-cent result. It then applies all five thresholds without selecting the most favorable one.

The unit is the median post-window spread minus the median pre-window spread for a market, followed by the median across eligible markets. Averages and direction counts are also in the export. Quotes are historical candle closes rather than continuous executable books. This follow-up is exploratory, shares the original data, and cannot estimate a platform-wide causal incentive effect.

<a id="reproduce"></a>
## Check the calculation

[coverage-market-results.csv](https://vultax.com/datasets/kalshi-quote-coverage-sensitivity/coverage-market-results.csv) · [results.json](https://vultax.com/datasets/kalshi-quote-coverage-sensitivity/results.json) · [METHODS.md](https://vultax.com/datasets/kalshi-quote-coverage-sensitivity/METHODS.md) · [Reproduction bundle](https://vultax.com/datasets/kalshi-quote-coverage-sensitivity/reproduction.zip). The bundle contains the calculation, frozen analysis inputs, results and a SHA-256 manifest.

Reuse the figures with a link to this study and the stated population and observation window. Vultax welcomes corrections and independent methods reviews. A citation or collaboration does not require a positive conclusion or a reciprocal link.

## Sources and methodology

- [Original Vultax incentive study](https://vultax.com/research/kalshi-liquidity-rewards-after-incentives-end) — Frozen sample, original protocol, raw API responses and original limitations.
- [Kalshi historical candlestick API](https://docs.kalshi.com/api-reference/market/get-market-candlesticks) — Hourly bid/ask close fields; missing observations retained as missing.
