Each figure tests one market condition.
Left: while the condition holds, is the NASDAQ more likely (red) or less likely (blue) to move by a given percentage within 30 days? Right: the same test run on 1,000 random markets that contain no signal. To count as an edge, the real score (blue line) has to beat 95% of them (dashed line).
Traders everywhere watch for the 50-day average to cross above the 200-day. Once it runs about 10% above, the heatmap looks decisive: the odds of a 4% drop jump, the odds of a 4% rise fall, a 24.5-point swing. It looks like a real edge. It's folklore: random markets draw one at least this strong 8.4% of the time.
"Stay long while price is above the 200-day" is trend following's first rule. With price 4% to 6% above it, the picture is a near-perfect mirror: rises more likely, drops much less likely, a 27.4-point swing. Random markets draw one at least this strong 23% of the time.
Cheap money lifts stocks; everyone knows that. When the 10-year Treasury yield sat below 1.34%, the NASDAQ was far more likely to rally 8% within a month: a 42-point swing that grows steadily with time. It looks like a macro regime you could trade. It isn't. Random markets draw one at least this strong 7.6% of the time. Close, but not an edge.
Move the yield to 2.5%-2.9% and the story flips: an 8% drop becomes likelier than a rise, a 21.2-point swing. Read alone, it's a second, bearish regime. Random markets draw one at least this strong 41% of the time.
PyTorch is mandatory. A dedicated CUDA-enabled GPU is strongly recommended.
The distribution, CLI, and Python package are named alphaverify.
The repository name remains alpha-verify. init copies one of the shipped
workspaces into ./workspaces, which is where every later command looks for it.
python -m pip install alphaverify
alphaverify init --workspace nasdaq_daily
alphaverify measure
alphaverify compare
alphaverify validate
alphaverify select
alphaverify forecast
From a checkout, python -m pip install -e . installs the same CLI, and init
is unnecessary because workspaces/ is already there; run commands from the
repository root and reinstall the editable package after updating it. To keep
workspaces anywhere else, pass --workspaces-dir DIR or set $ALPHAVERIFY_WORKSPACES.
After validate, the figure for every tested bin, including the four above, is in workspaces/nasdaq_daily/03_validation/plot/.
Each pipeline command also accepts --cuda when a CUDA-capable PyTorch installation and device are available.
| Stage | CLI Command | What it does | Mathematical form |
|---|---|---|---|
| 1 | measure | Measure conditional probabilities | π_condition(r, δ, k, t) |
| 2 | compare | Compare them with the baseline | G = π_condition − π_baseline |
| 3 | validate | Validate every supported bin against the null | p̂_k < 0.05 or p̂_k ≥ 0.05 |
| 4 | select | Retain cleared bins, rank them by evidence, and render their figures | K_selected = {k : p̂_k < 0.05} |
| 5 | forecast | List which nodes cleared and with which bins; combine those active on the last stored bar, one per family, and compare with their historical joint rate | N_cleared = {node(k) : k ∈ K_selected}; logit P = logit π_baseline + Σ_k (logit π_k − logit π_baseline) |
Validation writes 03_validation/; selection consumes only a current validation result and writes 04_selection/; the forecast consumes only a current selection and writes 05_forecast/. Every cleared bin is retained—there is no top-k ranking or secondary economic gate.
- Source architecture — implementation boundaries, data flow, artifact contracts, and null mechanics.
- Workspaces — experiment declarations, plugins, generated artifacts, and safe workspace changes.
AlphaVerify is research software, not investment advice.
The complete numerical specification is available as LaTeX in
mathematics.tex.



