For quants & systematic traders

Historical context.
Already computed.
Already structured.

Outcome distributions, MAE/MFE, match quality scores, and reliability tags across ~500 S&P 500 symbols — updated every close, delivered as clean JSON. Slot it into your existing pipeline.

Universe
~500
S&P 500 symbols
Snapshot history
10yr
Daily snapshots · query any past date · no lookahead bias
Lookback windows
8
5 / 10 / 15 / 20 / 25 / 30 / 40 / 50d
Forward windows
4
3 / 5 / 10 / 15 days — all in one response

Response schema

FieldTypeDescription
analysis.evidence_countintegerNumber of historical analogs found for this symbol at this lookback. A first-class signal for how much weight to give the output.
analysis.match_qualityobjectMedian shape similarity score, median overall score (1–5), and a quality_tag. Tells you how structurally close the analogs are — not just that matches exist, but how good they are.
forward_outcome.{N}.returnsobjectFor each forward window (3, 5, 10, 15d): positive_return_rate, median_return, average_return, worst_return, best_return, percentiles (P05–P95).
forward_outcome.{N}.returns.max_adverse_excursionfloatWorst intraday drawdown observed across all historical analog cases for this forward window. More meaningful than endpoint-only worst return for position sizing.
forward_outcome.{N}.returns.max_favourable_excursionfloatBest intraday gain observed across all historical analog cases. Useful for target calibration.
forward_outcome.{N}.returns.percentilesobjectP05, P25, P50, P75, P95 return distribution across all analog outcomes. The full distribution, not just endpoints.
forward_outcome.{N}.tagsobjectCategorical signals: direction, consistency, reliability, risk, outlier. Machine-readable — use them to filter or sort programmatically.
e.g. direction: "bullish_moderate" · risk: "high_tail" · reliability: "moderate"
analysis.seasonalityobjectSame-month vs. other-months return split across all forward windows. Useful for isolating whether the historical skew is seasonally concentrated.
benchmark.context.{N}objectThe current symbol's feature vector at each lookback window: volatility, normalized_slope, close_position_range, log_volume_zscore, max_drawdown. The exact inputs the engine matched against.

Drop into your existing pipeline

# Python — fetch Konseki context for a symbol and load into a DataFrame
import requests, pandas as pd

r = requests.get(
    "https://api.konseki.io/v1/analysis/AAPL-NASDAQ",
    params={"lookback": 15},
    headers={"X-API-Key": "ea_live_..."}
)
data = r.json()

# Outcome distribution — all 4 forward windows, ready for analysis
rows = []
for window, outcome in data["analysis"]["forward_outcome"].items():
    returns = outcome["returns"]
    rows.append({
        "forward_days":        int(window),
        "positive_rate":       returns["positive_return_rate"],
        "median_return":       returns["median_return"],
        "worst_return":        returns["worst_return"],
        "max_adverse_excursion": returns["max_adverse_excursion"],
        "p05":                 returns["percentiles"]["p05"],
        "p95":                 returns["percentiles"]["p95"],
        "direction_tag":       outcome["tags"]["direction"],
        "risk_tag":            outcome["tags"]["risk"],
    })

df = pd.DataFrame(rows).set_index("forward_days")
# df is now a clean DataFrame — index on forward window, columns are return stats
# evidence_count tells you sample size; match_quality.median_overall_score is match confidence
evidence_n  = data["analysis"]["evidence_count"]
match_score = data["analysis"]["match_quality"]["median_overall_score"]

What's different about this data

Evidence quality

Match quality is a first-class field

Every response includes match_quality.median_overall_score (1–5) and quality_tag. You can filter out low-quality analog sets programmatically — unlike similarity tools that give you matches without telling you how good they are.

Risk metrics

MAE and MFE, not just endpoint returns

Every forward window includes max_adverse_excursion and max_favourable_excursion — the worst and best intraday levels across historical cases. Endpoint-only returns understate real risk. You get both.

Backtesting

10 years of daily snapshots

Every day's engine output is stored as a permanent, immutable snapshot going back 10 years. Add a date parameter to retrieve exactly what the engine returned on any past date — not reconstructed, the actual run. Backtest signal timing without lookahead bias.

Distribution

Full percentile distribution, not just summary stats

P05, P25, P50, P75, P95 for every forward window. The full shape of the outcome distribution matters for position sizing — skew and tail width carry information that median return alone hides.

Context

Feature vector included in every response

The benchmark.context object exposes the exact feature vector used for matching at each lookback: volatility, normalized slope, close position in range, volume z-score, max drawdown. Useful for building your own downstream filters.

Seasonality

Same-month vs. all-month return split

The analysis.seasonality block separates historical analog returns by whether they occurred in the same calendar month. Lets you identify whether a directional skew is seasonally concentrated or broad-based.

Backtesting without lookahead bias

The problem with reconstructed data

Most backtests replay today's engine on historical prices

If you run today's pattern-matching engine on prices from 2023, you're using a model that's been tuned with hindsight. The engine may have changed. The universe may have expanded. The result looks like a historical signal but isn't one.

How Konseki handles it

10 years of daily snapshots — query any past date

Add a date parameter to any API call to retrieve what the engine actually returned on that date. The output is the real engine run from that day — same universe, same thresholds, same feature vectors. 10 years of daily snapshots across ~500 S&P 500 symbols means you're testing against what was knowable then, not what's knowable now.

For quants & systematic traders

Stop rebuilding historical context.Consume it.

Free tier. All ~500 S&P 500 symbols. All 8 lookback periods. MAE/MFE, percentiles, and historical snapshots included. No credit card required.