Qtick
Sign in

Ownership & flow

How QTick calculates the 3 metrics in this group — the real method named, then translated: what it tells you, how it is computed, and where it breaks down. None of these is a trigger to act.

Insider conviction intensity

How it's calculated

Over the trailing 90 days (anchored on the SEC Form-4 filing date, not the trade date), we count every distinct insider who bought open-market shares. We then compute: log1p(n_distinct_buyers) × log1p(total_dollars_spent) × mean_role_weight — where the role weight per buyer is officers/CEOs 1.0, chairmen 0.9, directors 0.6, an "other" bucket 0.5 (applied when the Form-4 relationship text is unrecognized or blank — it sits between director 0.6 and 10%-owner 0.4), and 10%-owner entities 0.4. Buyers are deduped on filer name, keeping each person's most-senior role, and mean_role_weight is the average across those distinct buyers. Log-scaling gives diminishing returns on both headcount and size; the role weight scales the whole product up when buyers are C-suite rather than passive holders. Result stored in insider_conviction_snapshots.conviction_score.

How it affects judgement

A high score tells you that multiple insiders — people with line-of-sight to the business — put their own cash in simultaneously and recently. That can sharpen a constructive thesis by adding a "management has skin in the game" data point, or temper skepticism about a weak price chart. It adds nothing to a bearish case and does not override deteriorating fundamentals, since insiders are often early and sometimes wrong.

What the current value signifies

Scores below ~5 reflect a single small purchase — thin signal, likely noise. The 5–20 band is a modest cluster: a few buyers, mid-size checks. Above 20 the cluster is meaningfully concentrated — several distinct insiders spending real money in a short window. Above ~35 (think 6+ buyers, $100M+, exec-heavy) the pattern is unusually loud by historical norms.

Range

0 (one buyer, no reported dollar value) to roughly 80+ in extreme cases (50+ insiders, $1B+ combined). Typical single-buyer noise: 3–8. Modest cluster: 10–20. Loud cluster: 25–40. Values above 40 are rare and correspond to large, senior, multi-person buying events. No fixed ceiling — both buyer count and dollar size are unbounded in the underlying Form-4 data.

The catch

The score ranks loudness within the current 90-day window only — it is explicitly uncalibrated against forward returns. Our own disproof battery found no statistically reliable alpha from insider buying alone, which is why the metric is framed as an intensity index, not a predictive signal.

Put/call open interest

How it's calculated

We sum all put open interest and all call open interest across every strike in the nearest expiry (via yfinance), then divide: put OI / call OI, rounded to three decimal places. Only the front expiry is used. If the call side has zero open interest, the ratio is reported as no-value rather than a number.

How it affects judgement

A reading above ~1.1 shows that more standing contracts sit on the put side (hedges or directional put bets); below ~0.8 shows the opposite lean. Read it alongside short interest and IV skew — agreement across all three sharpens a positioning thesis; disagreement weakens it.

What the current value signifies

Above 1.1 = put-heavy positioning (the market is paying for downside protection or expressing a bearish view). Below 0.8 = call-heavy (more speculative or hedged-long activity). Between 0.8 and 1.1 is balanced and carries little signal on its own.

Range

Floored at 0 (no puts outstanding). Typical liquid stocks run 0.5-1.5. When call OI is zero the ratio is reported as no-value (null) rather than a large number, so extreme high readings come from a thin-but-nonzero call side rather than an empty one. Values above ~2.0 are uncommon and usually reflect a news event or mass hedging.

The catch

Only the nearest expiry is summed, so a name with concentrated activity farther out (LEAPS, post-earnings hedges) can look misleadingly balanced at the front.

Short interest

How it's calculated

yfinance supplies `shortPercentOfFloat` as a decimal fraction; the backend stores it in `IntelTickerSnapshot.short_percent_of_float`, then multiplies by 100 to display as a percentage and rounds to one decimal place (`:.1f`), so a 4.74% reading shows as 4.7%. No engine math runs here — the short count divided by float shares is computed upstream by the exchange/FINRA, and the value is passed through verbatim.

How it affects judgement

High short interest signals a crowded negative consensus: real money is positioned against the float. It is two-sided, though — because shorts must eventually buy shares to close their positions, a positive catalyst can force mechanical buying (a squeeze) that amplifies an upward move. The figure also tells you how contested a stock is: heavily shorted names draw more scrutiny and more aggressive trading around catalysts.

What the current value signifies

Under about 5% is routine. 10–20% is elevated and means a meaningful share of the float is sold short. Above 20% is extreme and the stock is genuinely contested. The squeeze setup traders watch is roughly 10%+ short interest combined with a short ratio (days-to-cover) above 5 — that combination is where a catalyst can cascade. A very low reading means shorts aren't interested, which often just reflects a lack of controversy rather than a positive view.

Range

0% (no shares sold short) up to theoretically 100%+ (possible when shares are lent and re-lent so the reported-float denominator is exceeded, though rare). Most U.S. equities sit between 1–8%. Above 10% is high; above 20% is very high; meme-era extremes have briefly topped 100% of reported float for some small-caps.

The catch

Exchange/FINRA short data is reported bi-monthly with a roughly two-week settlement lag, so a sudden covering event or short surge won't appear until the next settlement date — the figure can already be weeks stale. That lag is upstream-attributed: we pass through yfinance's value and don't control or timestamp the settlement date ourselves, and this field carries no freshness column on our side.

See these metrics live on a stock dossier

QTick shows cited data and code-computed models for self-directed research. Nothing here is a recommendation, solicitation, or investment advice. Where a metric’s live data pipeline is under review, its method is described but its current value is withheld rather than shown as reliable.