Work / Project · Published · 2026-10-19

SignalScope

Educational historical event studies with no look-ahead.

SignalScope event study with mean abnormal return chart
SignalScope event study with mean abnormal return chart. Screenshot of the implemented application with its synthetic sample data.

The problem

Event studies are easy to get wrong by using information before it was public. SignalScope only uses an event from the first trading session after its publication and always shows the baseline and sample size.

What it does

  • CSV import of prices, probabilities and events with provenance and access level.
  • Cumulative abnormal returns against a constant-mean baseline, exclusion reasons, overlap flags and sample-size badges.
  • Indicators (volatility, RSI, volume shocks) and lagged correlations labelled as co-movement, never causation.

Engineering choices

  • SVG charts drawn without a chart library; daily data with publication dates kept separate from event dates.
  • Independently worked-out reference values in the tests for RSI, volatility, volume z-scores and CAR.

Tested results

  • 54 Vitest tests and 15 Playwright tests.
  • Independent acceptance review on 2026-10-18: 8 defects fixed, including a same-day probability leak into rule decisions.
  • Published 2026-10-19: CI green on the first run on Linux, GitHub Pages deployed, live check passed.

Last recorded verification 2026-10-19; latest recorded commit 573a546. The full commands and outcomes are in the repository's docs/test-report.md.

Stack

  • TypeScript
  • React
  • Vite
  • zod
  • SVG
  • Vitest
  • Playwright

Candid limitations

  • Descriptive and historical only: not investment advice, no forecasts or trading.
  • Daily data only; sample and example data are synthetic.

How it was made

Directed and reviewed by the owner; specification, code, tests and documentation written with Claude Code (AI). A separate Claude Code session that did not write the code then re-ran every check and fixed what it found; that is an AI review, not a human code audit. See the repository's AI_ASSISTANCE.md.