Skip to content
Research / Study EV-0Open access · Freely available
← Research ledger / Events

Testing whether earnings context improves chart comparisons

Fail · no pilot signalChart Library · Study EV-0

The finding

The event state changed the selected analog sets but not their forward coherence. Coarse fiscal-period, timeframe and reporting-lag similarity stays inspectable with zero ranking authority. The sample is spent and is not tuned.

paired queries452 across 132 datespath-energy improvement0.1584% vs 3% requireddate-block interval[−0.00740, 0.01004]

The research question

Does adding a deterministic earnings-event state (fiscal period, timeframe, reporting lag) to chart similarity make the selected analogs' forward paths more coherent than chart similarity alone?

Decision criteria

500-query walk-forward holdout over 2025 to Q1 2026, exact top-50 prior-event shortlist, 365-day same-company exclusion, chart-only versus 50/50 chart-plus-event K = 10 sets frozen before any path. Pass requires a mean path-energy improvement of at least 3% with the date-block interval clear of zero.

Result document

Repository source: research/results/earnings_event_chart_pilot_v0_2026_08_19.md

Date: 2026-08-19
Verdict: NO_EVENT_PILOT_SIGNAL; exact result replay passed

Bottom line

The coarse deterministic earnings event state did not materially improve five-session path coherence over chart similarity alone. It changed the selected top-10 analog set for 489 of 500 queries, so the test had a strong structural contrast, but the changed analogs were not meaningfully better matches for what happened next.

The mean energy score moved from 0.888317624876 for chart-only to 0.886910960983 for chart plus event. That is a relative improvement of 0.1584%, far below the preregistered 3% gate. The date-block 95% bootstrap interval for mean paired delta was [-0.007402114342, 0.010041945901], crossing zero.

V0 event similarity therefore remains inspectable metadata and receives zero ranking authority. This result does not reject richer point-in-time event memory; it rejects this specific date-only earnings representation, 50/50 policy, and setup as a promoted ranking component.

Frozen receipts

  • Structural manifest: 3a32ad47992da88f9b2441547c78d26cf53cb721f51ee6a8184041cdf68f93c9.
  • Path batch: 3296e70b0e1c9c8122c82cb430b3117b16611d3c026cb1da093290087e6ccefc.
  • Ordered path hashes: f042fe4b4dd27e29b9b8f8b15efa476d762e440e134659270eac2c990676710d.
  • Evaluation: 53ae1fdad9e2f3f85045f95bc02a3b5f931381f310fe67ae0651653fdbb3caeb.
  • Exact committed evaluator bundle: c1dbb3cd683d6063799d73944d19a0c47dac1f842b35291f4de5d75877c26c56.
  • Structural source commit: 3cbe4c5a.
  • Locked evaluator commit: 3e702b72.
  • Indexed exact-path reader commit: 36a83e31.

The runner reverified the registered structural manifest before path access. It then resolved only the preregistered query and selected-candidate paths; it did not rerank, replace a missing selected candidate, or scan farther down the 50-candidate shortlist. An identical second completed run reproduced the path-batch, ordered-path, evaluation, coverage, metric, interval, gate, and verdict receipts exactly.

Power and coverage

MetricResultGate
Structurally powered queries500fixed 500
Queries with different selected sets489at least 100
Paired usable queries452at least 400
Paired event dates132at least 100
Paired coverage90.4%at least 80%
Chart-usable queries460diagnostic
Chart+event-usable queries460no >2% loss
Resolved required paths5,468 / 5,516diagnostic
Coverage-failed paths48 / 5,516no replacement
Pending paths0diagnostic

All power and coverage gates passed. UNDERPOWERED is therefore not an available interpretation of the result.

Fixed effect gates

GateResultPass
Relative energy improvement0.1584% vs 3% requiredNo
Bootstrap lower bound above zero-0.007402No
Combined coverage loss within limit0 queries lostYes

Because two effect gates failed, the registered verdict is NO_EVENT_PILOT_SIGNAL.

Operational audit

The first locked run stopped in structural phase when the outcome-blind population scan hit its original 120-second statement timeout. No path query ran. After a timeout-only correction, the manifest reverified and the first large compressed-daily_bars path query timed out before producing a receipt. A fixed 500-event batching attempt also timed out.

The repository's existing production forward-path implementation documents that bulk VALUES joins cannot push Timescale chunk predicates reliably. The final committed reader therefore used the same proven 16-worker indexed per-symbol range pattern, while joining the returned closes back to the unchanged frozen global-session calendars. No population, query, selected set, path date, transformation, bootstrap, or pass threshold changed.

Interpretation and next action

This is useful negative evidence. Fiscal period, annual-versus-quarterly status, reporting lag, and a conservative date-only age clock are enough to move rankings aggressively, but not enough to select analogs with more coherent outcomes. Structural difference is not the same as useful similarity.

Do not tune the event weight, lag scale, shortlist, or K on this spent sample. A future event experiment needs genuinely richer evidence—such as auditable point-in-time surprise, estimate revision, exact release timing, guidance, or event-content attributes—and a new temporal holdout registered before outcomes. Until then, Chart Library remains chart-first and this event lane stays descriptive.

Study specification

Repository source: research/specs/earnings_event_chart_pilot_prereg_v0_2026_08_19.md

Status: completed with NO_EVENT_PILOT_SIGNAL; sample spent and V0 event ranking weight remains zero

At registration, only the exact-replayed earnings population, source clocks, research session calendar, V5 embedding coverage/distances, and outcome-free event grades have been used. No price path, forward return, excursion, barrier, or attractive example has been opened for this experiment.

Question

Within one deliberately coarse setup—date-only Q1/Q2/Q3/FY earnings records—does adding point-in-time event-structure similarity to pre-event chart similarity produce a more coherent distribution of subsequent five-session paths than chart similarity alone?

This tests whether even a rudimentary event state adds information to the Chart Library substrate. It is not a directional forecast, trading backtest, universal event ontology, or production-ranking test.

Frozen population

  • Population schema: earnings-event-population/v0.
  • Exact-replayed population hash: b248653963dcf5869f9b9e6b0b0d418732657719f3a463981fa2a6660cc3d68f.
  • Population: 41,723 CIK/event-date identities, 1,517 symbols, 1,928 event dates.
  • Event types: Q1/Q2/Q3/FY earnings only; Q4 and TTM excluded.
  • Instruments: current common stock and ADR records; ETPs excluded.
  • Chart state: V5 daily embedding from the final completed session strictly before the source event date.
  • Event clock: conservative next-local-calendar-day 00:00 ET for date-only backfilled evidence.
  • Source confidence: fixed visible engineering prior of 0.75.
  • Known-through/freeze clock: 2026-08-19T20:00:00Z.

The query holdout contains event dates from 2025-01-01 through 2026-03-31. Exactly 500 queries are chosen without outcomes by taking the lowest SHA-256 values of 20260819:event_id, then restored to event-date/event-ID order. Each query must have a calendar-complete fifth path session by the freeze clock. A count other than 500 stops the run.

Walk-forward candidates and common shortlist

For each query, a candidate must:

  1. have an information clock strictly before the query information clock;
  2. have its fifth-session path resolution strictly before the query information clock;
  3. not share the query CIK within 365 calendar days; and
  4. retain its exact point-in-time event profile and pre-event V5 anchor.

The database computes exact V5 1-day L2 distance over the eligible structural population. Both policies receive the same nearest 50 candidates. No event field participates in shortlist generation. Distance ties break by event ID. A query with fewer than 50 eligible candidates is structurally unpowered; the frozen 2025–2026 population is expected to have none.

Frozen similarity policies

Both policies select K=10 candidates before outcomes:

  1. earnings-chart-only-pilot/v0: chart weight 1.0.
  2. earnings-chart-plus-event-pilot/v0: chart weight 0.5 and event weight 0.5.

The chart component is endpoint-ranked within the common 50-candidate shortlist: nearest is 1, farthest is 0. The event component is deterministic-earnings-event/v0, containing only exact event family, fiscal period, annual/quarterly timeframe, reporting-lag distance, and information-age distance. Feature weights and the 50/50 component weights are engineering priors. Event source confidence reduces the common composite confidence; it does not become structural similarity.

Both chart and event evidence are required for the combined policy. A material event-family mismatch is a hard gate. Ranking ties break by raw V5 distance and event ID. The manifest commits every query, the full shortlist-grade digest, both selected candidate sets, selected evidence hashes, and the two policies before paths may be requested.

If fewer than 100 of 500 queries have different selected candidate sets under the two policies, the experiment is STRUCTURALLY_UNDERPOWERED and no paths are opened. A mere reordering of the same ten candidates is not a treatment contrast.

Frozen path and primary score

For every query and selected candidate:

  • baseline = split-adjusted close of the final completed global research session strictly before its information clock;
  • path = cumulative split-adjusted close return from that baseline to each of the next five global research-session closes;
  • transform each cumulative return as clip(log1p(return) / 0.10, -3, 3).

The baseline is already knowable at the state clock. The pre-event chart embedding remains the declared structural chart evidence; the evaluator may not replace it with the baseline session's chart.

For selected analog paths x_j and query path y, the primary multivariate energy score is:

mean_j ||x_j - y||_2 - 0.5 * mean_jk ||x_j - x_k||_2

Lower is better. The paired per-query delta is:

chart-only energy score - chart+event energy score

Positive favors event conditioning. If the query path or any of a policy's ten selected candidate paths is incomplete, that query-policy is unusable. The evaluator may not scan farther down the shortlist to repair missing data.

Frozen gates

Uncertainty uses 5,000 bootstrap resamples of whole query-event-date blocks with seed 20260819; all same-date queries stay together. EVENT_PILOT_SIGNAL requires every gate:

  1. the exact structural manifest replays with identical hashes;
  2. at least 100 queries have different chart-only and chart-plus-event selected sets;
  3. at least 400 paired queries are usable;
  4. paired queries span at least 100 distinct query event dates;
  5. paired coverage is at least 80% of the 500 frozen queries;
  6. aggregate relative energy improvement, mean(paired_delta) / mean(chart_only_energy), is at least 3%;
  7. the 95% date-block bootstrap lower bound for mean paired delta is above zero; and
  8. chart+event loses no more than 2% usable-query coverage versus chart-only.

Failure of gates 2–5 is UNDERPOWERED, not a null result. If those power gates pass but an effect gate fails, the verdict is NO_EVENT_PILOT_SIGNAL. Fiscal-period, reporting-lag, symbol, and individual-example breakdowns are diagnostics only and cannot override the primary verdict.

What the verdict licenses

  • EVENT_PILOT_SIGNAL licenses one independent temporal confirmation with revised or richer event evidence frozen in advance.
  • NO_EVENT_PILOT_SIGNAL leaves V0 event structure inspectable and assigns it zero ranking authority for this setup.
  • UNDERPOWERED licenses no outcome claim and identifies either insufficient policy contrast or insufficient complete path coverage.

No verdict licenses API exposure, scheduling, alerts, email, paper/live trading, directional claims, or a production event weight. Outcomes validate a frozen similarity policy; they never define query-time similarity.

Structural execution receipt

The production structural build exact-replayed on 2026-08-19:

  • 500/500 queries structurally powered across 141 event dates;
  • 489 queries with different chart-only and chart-plus-event top-10 candidate sets;
  • manifest hash 3a32ad47...93c9;
  • ordered query hash 54afdc5b...284;
  • ordered selection hash 2949c643...178d; and
  • outcomes_attached=false on both executions.

The full unopened receipt is research/results/earnings_event_chart_manifest_v0_2026_08_19.md.

Registered result

The fixed evaluator completed after the exact structural hash reverified. It produced 452 paired queries across 132 event dates with 90.4% paired coverage. Chart-plus-event improved mean energy by only 0.1584% against the required 3%, and the date-block interval [-0.007402, 0.010042] crossed zero. The registered verdict is NO_EVENT_PILOT_SIGNAL.

An exact completed replay reproduced path batch 3296e70b...ccefc, ordered path digest f042fe4b...710d, and evaluation 53ae1fda...caeb with identical metrics and gates.

The complete result and operational audit are frozen in research/results/earnings_event_chart_pilot_v0_2026_08_19.md. The sample may not be used to retune V0 weights, scales, K, or shortlist size.

Suggested citation: Chart Library (2026). A coarse earnings-event state does not improve five-session path coherence over chart similarity alone. Study EV-0. chartlibrary.io/research/earnings-event-chart-pilot.