Tools
Four workbenches beyond backtesting: a multi-signal predictor with a live track record, a signal scanner for your watchlist, a Markowitz portfolio optimizer, and a research lab that stress-tests whether an edge is real. Educational, not financial advice.
A forward lean for the next few trading days, blended from three independent, individually-explained signals: the ML transformer's price forecast, post-earnings drift (PEAD) + EPS growth, and news sentiment. It's a transparent weighted average of channels you can inspect — not a black box, and not financial advice.
Forecasting price, weighing the last earnings report, and sampling news tone.
A prediction of "60% up" is only worth anything if the market actually rises ~60% of the time it's said. This is the same test AlphaGlyph runs on strategies, turned on the predictor itself — measured out-of-sample, on data the model never trained on. Points on the diagonal = perfectly calibrated.
Recovering the model's probability and the realised outcome for every historical window.
Calibration above is measured on historical data the model didn't train on. This is stronger: every prediction you run here is logged the moment it's made — ticker, probability, price — and graded once its horizon elapses. Nothing is ever edited after the fact, so the hit rate below is a genuine out-of-sample forward record that accrues over time and can't be fitted in hindsight. Run a few predictions, then check back in a week.
Grading any predictions whose horizon has now elapsed.
| Ticker | Price | MA Crossover | RSI | MACD | ML Transformer | Consensus |
|---|---|---|---|---|---|---|
| Scanning your watchlist | ||||||
Each strategy's current stance on the latest close. The ML cell shows the transformer's signal and its probability of an up-move. Educational, not advice.
Pulls the noisy sample covariance toward a stable target by the analytically optimal amount — the professional fix for naive Markowitz over-concentration. Turn it on and watch the weights spread out.
Computing efficient frontier and Markowitz weights.
Each point is a sampled portfolio. The curve is the efficient frontier — minimum volatility for each return level. ★ = max-Sharpe (tangency). ◆ = min-variance.
⚠ Expected returns are historical means. Naive Markowitz is extremely sensitive to this estimate, so it tends to over-concentrate in whatever happened to run hardest and project unrealistically high "expected" returns. Treat the weights as illustrative, not advice — professional desks use shrinkage (Ledoit-Wolf) or Black-Litterman to temper this. Educational only.
Pairwise Pearson correlation of daily returns. Deep green = high positive correlation, deep red = negative.
One of finance's most durable anomalies: after a company reports, its stock tends to keep drifting in the direction of the earnings surprise. This pools every earnings event across a basket of names and plots the average market-adjusted cumulative return in the 20 days after the report, split by surprise tercile — then tests whether the beat-minus-miss drift clears the noise. Honest by construction: if the free-data sample can't prove it, the verdict says so.
Collecting reports and post-announcement returns across the basket.
Search enough strategies and the best one looks brilliant — by luck alone. This generates hundreds of purely random timing strategies (none has any edge), keeps the luckiest, and shows the trap: naive statistics call the winner significant, while the Deflated Sharpe Ratio — which knows how many were tried — deflates it back to noise.
The Data-Mining Lab shows one strategy family fooling you; this quantifies it rigorously. It sweeps a real trend + mean-reversion hyperparameter grid on one ticker, then runs Combinatorially-Symmetric Cross-Validation (López de Prado) over hundreds of in-sample / out-of-sample splits to compute the Probability of Backtest Overfitting — how often the in-sample winner lands in the bottom half out-of-sample. A PBO near 50% means the selection told you nothing. It also purges/embargoes the seam between splits so serial correlation can't leak the edge across.
Fitting the champion on every combination of splits and ranking it out-of-sample.
A backtest's edge is only real if it survives frictions. This reruns one strategy across a grid of per-side transaction costs (0 → 100 bp) and plots the net-return decay, then solves for the break-even cost at which its edge over buy-and-hold vanishes. An edge that dies at 5 bp is a frictionless artefact; one that survives 50 bp is believable.
Rerunning the backtest at ten different friction levels.