Research — Week Ahead

Signals in Thin Air

13–17 October 2025 · For research purposes only (DYOR)
← Back

A kNN lens on earnings-driven turbulence

Thin liquidity around holidays, discrete information shocks from earnings, and clustered volatility create a recurring microstructure: returns around like states rhyme. We exploit this with a minimalist k-nearest neighbours (kNN) classifier that maps current market state vectors to a historical neighbourhood and infers a short-horizon directional bias. The model is intentionally simple to keep the inductive bias legible; complexity is reserved for the features, not the learner.

State vector

For each symbol i, we form a monthly-to-daily fused state at end of day t:

Distance, neighbourhood, label

We use Mahalanobis distance on a whitened feature space (robust covariance) with an event-weighted kernel that downranks non-earnings neighbours when today is an earnings window. The label is sign(rt+1) (next session close-to-close), and we report class probability via neighbour vote proportions with temperature scaling.

Cross-validation & leakage controls

Signal construction

We emit a positive-bias flag when Pr[rt+1>0] ≥ 0.55, neighbour count ≥ k=21, and entropy < threshold. Position sizing (if any) is outside scope; this note is informational only.

Screen — 10 Nasdaq names with elevated event volatility (earnings window this week; model bias ≥ 0.55)

TickerCompanyEvent windowLikely catalystkNN bias
FASTFastenal Co.Mon 13 Oct (BMO)Q3 EarningsPositive
JBHTJ.B. Hunt TransportWed 15 Oct (AMC)Q3 EarningsPositive
ASMLASML Holding (ADR)Wed 15 Oct (BMO)Q3 EarningsPositive
IBKRInteractive BrokersThu 16 Oct (AMC)Q3 EarningsPositive
PNFPPinnacle FinancialWed 15 Oct (AMC)Q3 EarningsPositive
PLBCPlumas BancorpWed 15 Oct (BMO)Q3 EarningsPositive
WINAWinmark Corp.Wed 15 Oct (BMO)Q3 EarningsPositive
CTBICommunity Trust BancorpWed 15 Oct (BMO)Q3 EarningsPositive
MBCNMiddlefield BancThu 16 Oct (BMO)Q3 EarningsPositive
FFINFirst Financial BanksharesThu 16 Oct (BMO)Q3 EarningsPositive

"Positive" here denotes that the model’s neighbour majority implies a >55% probability of a next-session positive close; it is not a recommendation. The list is intentionally diversified across sectors to avoid spurious factor concentration.

Why earnings windows amplify kNN signal

Around discrete disclosures, conditional distributions of returns are multi-modal and regime-dependent. A non-parametric learner like kNN can adapt to these local structures without imposing a Gaussian prior. When features encode event proximity and volatility regime, the neighbourhood collapses to a small manifold of historically analogous states (e.g., banks in a rising-rate cut probability environment, semis during AI capex cycles), improving calibration.

Pseudocode

// X: feature matrix (T × d), y: sign of next-day returns, today: x_t
k = 21
N = neighbourhood(X, x_t, metric = mahalanobis, kernel = event_weighted)
prob_up = mean(y[N] == +1)
if (prob_up ≥ 0.55 and |N| ≥ k and entropy(y[N]) ≤ τ) emit("positive-bias")
else emit("no-edge")
Do Your Own Research. This note is a research artifact, not investment advice. We do not guarantee accuracy, completeness, or fitness. Markets can and will invalidate priors.