How often did it actually work?

Stop guessing whether your setup has an edge. Edge Stats answers from your own market data: how often it worked, under the exact conditions you trade it, with the sample size and confidence interval attached so you know when to trust the number.

Local MCP server
Star on GitHub

edgestats query · DEMO_STK

gapFillWHEREdayOfWeek = Tue
0.0%N = 10295% CI [70.6%, 86.1%](81 hits)

stability 88.2% (n=51) vs 70.6% (n=51) · halves agree ✓

minutes to fill median 1 · p25 0 · p75 16 · p90 100

per-year 2023 88.0% (50) · 2024 71.2% (52)

Historical conditional frequencies with sample sizes. Not predictions, not advice.

+ one more condition

gapFillWHEREdayOfWeek = TueANDgapPct BETWEEN 0.2% AND 0.6%
0.0%N = 1495% CI [45.4%, 88.3%](10 hits)

LOW SAMPLE. N < 30; treat as anecdote, not edge

stability 57.1% (n=7) vs 85.7% (n=7) · halves agree ✓

minutes to fill median 25.5 · p25 10 · p75 63.5 · p90 109.7

per-year 2023 66.7% (6) · 2024 75.0% (8)

Historical conditional frequencies with sample sizes. Not predictions, not advice.

Real output · engine 0.1.0 · store 79763594fe94 · calendars 427e1cdc5046 · deterministic demo store, synthetic bars

Know if your setup works, down to the weekday.

Does the gap fill more often on a Monday? Pick a setup, pick a ticker, and the report answers with real numbers and real sample sizes. Gap fills, opening range breaks, inside days, and everything between.

reports| gap fill | by weekday
88.0%
MonN = 92
79.4%
TueN = 102
84.0%
WedN = 100
87.0%
ThuN = 100
87.1%
FriN = 101

run on the bundled demo store · every bar carries its sample size

Every classic report, ready on day one.

Gap fills, opening range breaks, inside days, session behavior: the reports data-driven traders live by ship as 42 presets across 11 categories. Every preset cites the LuxAlgo Library indicator that draws the same setup on your chart, so the statistic and the visual come from one playbook.

Let your AI run the analysis.

Nine read-only tools let Claude, Cursor, or any AI assistant run any report or custom question against your data mid-conversation, and show the sessions behind the answer. Analysis that used to be a spreadsheet weekend becomes one message. Local today; the same tool shapes are headed for the hosted LuxAlgo MCP.

edge_query

Any composed P(outcome given conditions), in the full envelope.

edge_fields

The registry: every outcome, predicate, and field, with definitions.

edge_sessions

The historical sessions behind a result.

edge_report

A preset from the catalog, with parameters.

edge_reports_list

The catalog, with parameter specs.

edge_freshness

Configured symbols, last bar per symbol, calendar versions.

edge_export

CSV or parquet written locally, path returned.

edge_trades

Which trade tags your imported trades produced, and how to query them.

edge_live

Live Board state: forming, active, and resolved setups.

Local MCP server

Your bars, from wherever they live.

Seven adapters, two of them free and keyless. Daily canaries pull a sample from every vendor and fail CI on schema drift.

Binancespot crypto, full 1m historyfree, keyless
CoinbaseCoinbase Exchange 1m candlesfree, keyless
AlpacaUS equities and ETFs, 1m barsfree tier
DatabentoCME futures, continuous 1mpay as you go
MassiveMassive flat files from diskyour subscription
CSV fileanything you can export to a filefree
Demo storedeterministic synthetic bars, ~900k of thembuilt in
Your tradesyour own fills, imported through the Broker SDKread-only

Broker sync and fill imports run through the open LuxAlgo Broker SDK, read-only by design

No naked percentages

There is no code path that prints a percentage without its sample size.

Intervals, always

Every estimate carries N and a Wilson 95% confidence interval.

Guarded small samples

A warning below 30 sessions. No estimate at all below 10.

Stability, split

First half versus second half, plus a recency view over the last 250 sessions.

Any condition you can think of.

By ticker, by weekday, by session, by gap size, on event days or off them. Any condition you actually trade can be asked directly, and combined freely with the others, so the question you ask is exactly the trade you take.

$gapFill WHERE dayOfWeek = Tue AND gapPct BETWEEN 0.05% AND 0.6%

$orbBreak(15m, up) WHERE gapUp AND NOT eventDay('CPI')

$eventOccurs('TRADED_WIN') WHERE eventDay('TRADED') AND prevNr7

$gapFill WHERE dayOfWeek = Tue AND NOT eventDay('FOMC')

Answers land in about 20 milliseconds over years of 1-minute bars (the architecture doc’s own measurement), because the heavy work happens once when your data syncs, not every time you ask.

Prove it on the demo store first.

One clone, one install, and the deterministic demo store answers in seconds: ~900k synthetic bars with the full envelope on every query. Point an adapter at real data when you believe the machinery.

terminal

Distributions, not promises.

Every answer carries its N.

No order execution, ever. No hosted service, no telemetry, no accounts. Just historical conditional frequencies with sample sizes, computed on your machine.

MIT code · CC BY 4.0 bundled data · © LuxAlgo Global, LLC · contribute

Every Edge Stats result carries the same fixed line: historical conditional frequencies with sample sizes, not predictions and not advice. Past frequencies do not guarantee future results.