Educational analysis only. Not financial advice. Signals are statistical patterns only.Full disclaimer

    Methodology Disclosure
    Public dataset on GitHub

    How Krentium's Signals Are Measured

    Methodology disclosure for Krentium's quantitative signal engines.

    6,800+
    Total Wyckoff Signals
    4,276 daily · 2,533 weekly
    649
    Stock Universe
    237 current · 412 delisted
    12.98%
    Wyckoff Daily CAGR
    compound annual
    0.762
    Wyckoff Daily Sharpe
    monthly returns
    13.48%
    Wyckoff Weekly CAGR
    compound annual
    0.940
    Wyckoff Weekly Sharpe
    monthly returns

    Headline figures are in-sample backtest results.

    Overview

    Orientation to the two engines, the published hold horizons, and what "validated" means on this site.

    Krentium publishes two engines: Wyckoff Daily and Wyckoff Weekly. Both run on the 649-stock survivorship-corrected universe at the 20d forward-return horizon. Per-engine details live in Per-Engine Validation; multi-horizon results are documented in Multi-Horizon Disclosure.

    "Validated" here means each engine is backtested on a 649-stock survivorship-corrected universe and subjected to a battery of statistical tests — Carhart 4-factor alpha, block-bootstrap confidence intervals, and walk-forward temporal train/test splits — at 95% significance with Bonferroni correction. Headline performance figures are in-sample; walk-forward results use disjoint train/test time periods.

    Validation Framework

    The nine statistical tests used across engines — walk-forward, block bootstrap, Carhart 4-factor regression, Monte Carlo, transaction-cost sensitivity. 8 are published with full proof in the public validation repo; 1 is retained internally for engine confidentiality.

    The validation battery spans five test families. Daily Wyckoff at the 20-day horizon carries the most extensive stack — nine tests applied. Other engines apply subsets appropriate to their claim type and data availability. Per-engine results are reported in Per-Engine Validation.

    Walk-forward temporal validation

    Train and test on disjoint time periods. The engine is built on data ending at one date; out-of-sample performance is measured on data after that date. Walk-forward win rate and signal counts per engine are reported in the Per-Engine Validation section.

    Block bootstrap confidence intervals

    Resample contiguous blocks of returns to construct confidence intervals around point estimates. Block resampling preserves the autocorrelation structure that simple resampling destroys. Reported as 95% CI bounds on win rate.

    Carhart 4-factor regression

    Per-signal alpha measured against a Carhart 4-factor model (market, size, value, momentum) using Fama-French total-return data. Alpha, t-statistic, p-value, and N reported per engine. Significance threshold: 95% with Bonferroni correction.

    Monte Carlo simulation

    Two distinct Monte Carlo tests: stock-selection (does the engine pick stocks better than chance?) and timing (does the engine time entries better than chance?). Both report percentile rank against a null distribution.

    Transaction-cost sensitivity

    Headline numbers are net of realistic transaction costs. The sensitivity test recomputes win rate across a cost grid to confirm no published metric depends on a cost assumption below realistic bounds.

    The full per-test pass/fail record at the 20-day horizon is documented in the 9-test extended validation stack in Wyckoff Daily (8 published with full proof; 1 retained internally for engine confidentiality). Multiple-testing correction is applied across the battery: Bonferroni-corrected, significant at α = 0.05.

    Per-Engine Validation

    Engine-by-engine validation. Both engines run on the same 649-stock survivorship-corrected universe. Each engine's claim type is shown in italic under its header.

    Wyckoff Daily

    Forward-return validation · engine emits state, user picks hold

    20d published hold · live in production

    Wyckoff Daily is the daily-timeframe signal engine in the Wyckoff framework. Validation universe: 649-stock survivorship-corrected (see Universe Construction). Same-ticker signals deduplicated inside a 28-day window. All figures in this section are on the 20-trading-day forward-return horizon.

    Signal economics

    58.40%
    Win rate (20d)
    forward-return
    4,276
    Deduped signals
    28-day per-ticker window
    [55.9%, 60.7%]
    95% bootstrap CI
    block bootstrap
    +1.23%
    Median signal return
    per-signal 20d

    Carhart 4-factor regression

    +0.509%per signal
    t = 3.70
    p = 0.0002
    N = 4,014

    262 signals (of the 4,276 deduped total) are dropped from the regression: Fama-French factor values unavailable at signal date.

    Walk-forward + bootstrap

    Walk-forward (temporal out-of-sample, train 2006-2015 / test 2016-2025) win rate: 59.0%. Block-bootstrap 95% confidence interval on the 20d win rate (shown in the stat grid above) excludes 50% regardless of block size.

    9 of 9 statistical tests pass at the 20-day horizon

    Expand to see the list.

    Show the nine tests
    • Carhart 4-factor
    • Block bootstrap CI
    • Walk-forward temporal
    • MC stock-selection
    • MC timing
    • Survivorship-bias
    • Multiple testing (Bonferroni)
    • Transaction costs sensitivity
    • Effective N (Bartlett)

    28-day deduplication window

    A 28-day per-ticker deduplication window is applied across the Carhart regression, block bootstrap, and regime analyses. Bartlett autocorrelation analysis on per-ticker signal residuals returns the first insignificant lag at 28 days. Bartlett-adjusted effective sample size: 1,560 (22.16× inflation factor over the naive count).

    Bull vs bear regime

    Bull regime Carhart alpha statistically significant at 95% (N = 3,781). Bear regime estimate underpowered (N = 493); bull–bear alpha delta not significant at 95%. Earlier published values from a smaller historical universe showed a larger bear-regime alpha; current values include previously-delisted tickers.

    RegimeNCarhart αt-statp-valueSignificant at 95%
    Bull3,781+0.570%4.084.6e-5Yes
    Bear493+0.670%1.420.154No

    Bull–bear alpha delta +0.10 pp (pooled t = 0.20, p = 0.838). Regime definition: bull if Fama-French cumulative market return is above its 50-day SMA, bear otherwise.

    Crisis drawdowns

    CrisisWindowEngineSPY
    GFC 20082007-10-10 → 2009-06-2315.45%56.47%
    COVID 20202020-02-19 → 2020-03-2318.53%34.10%
    Bear 20222022-01-12 → 2022-03-079.38%25.36%

    Peak-to-trough drawdowns from the standalone simulation. SPY values are price-only, without dividends.

    Risk metrics

    10.77%
    Half-Kelly
    capital fraction
    -4.71%
    Monthly VaR (95%)
    5th percentile
    -6.04%
    Monthly CVaR (95%)
    worst 5% mean

    Standalone simulation — Wyckoff in isolation

    12.98%
    CAGR
    compound annual
    0.762
    Sharpe
    monthly returns
    1.077
    Sortino
    downside-only
    $1,071
    Final value
    from $100 start

    Wyckoff Daily, standalone. $100 seed. Max drawdown and volatility deferred. Multi-horizon equity curves at 5d / 10d / 20d / 40d holds are visible on the Accumulation Daily tab of /performance.

    Wyckoff Weekly

    Forward-return validation · engine emits state, user picks hold

    20d forward-return horizon · weekly-bar signal emission

    Wyckoff Weekly runs the same framework on weekly bars. Validation universe: same 649-stock survivorship-corrected set applied across 2006-2026 with the 28-day per-ticker deduplication window. Per-signal statistical validation is complete; the standalone portfolio simulation (10-slot, 20d hold) is now populated and visible on the Accumulation Weekly tab of /performance. Crisis drawdowns and Weekly-specific risk metrics remain deferred.

    Signal economics

    61.15%
    Win rate (20d)
    forward-return
    2,533
    Deduped signals
    28-day per-ticker window
    [58.43%, 63.96%]
    95% bootstrap CI
    block bootstrap
    +1.57%
    Median signal return
    per-signal 20d

    Carhart 4-factor regression

    +0.936%per signal
    t = 3.84
    p = 0.00012
    N = 2,533

    Walk-forward validation

    Walk-forward win rate: 61.15% (5-fold temporal OOS). Win rate above 50% under both temporal slicing and serial-correlation-aware bootstrap (CI above).

    Bull vs bear regime breakdown

    Bull regime: Carhart alpha +0.984% per signal (N = 2,485, t = 4.07, p = 4.8e-5). Bear regime: N = 16 signals across 19.5 years; sample size prohibits meaningful alpha estimation.

    Weekly regime classification uses a different validation-time convention from the daily engine. The 16-signal bear cohort is too small to support either a positive or negative alpha estimate. 32 additional signals fell past the regime classification window and were excluded from regime classification.

    Blocks deferred to a follow-up compute pass

    The standalone equity curve at the 20-day hold (and 5d / 10d / 40d as exploratory disclosure) is now populated and visible on the Accumulation Weekly tab of /performance. The following Weekly-specific blocks remain deferred.

    Crisis drawdowns
    Per-Weekly-distribution crisis-window peak-to- trough metrics. The Weekly equity curve does include a 20d-hold drawdown chart on/performance; per-crisis attribution (2008 GFC / 2020 COVID / 2022 Bear) on the Weekly distribution is the deferred element.
    Weekly risk metrics
    Weekly-specific Half-Kelly and monthly VaR / CVaR. Daily-tab values are reasonable proxies given identical 20d-hold mechanics; per-Weekly-distribution refinement is deferred.

    Multi-Horizon Disclosure

    Forward-return validation at four holding horizons. The full grid, including horizons where the engine does not pass.

    The Wyckoff daily engine was tested at four forward-return horizons: 5 trading days, 10 days, 20 days, and 40 days. Each row below is an independent Carhart 4-factor regression on the 649-stock survivorship-corrected universe, with a block-bootstrap 95% confidence interval on the win rate at that horizon. All four rows are shown, including horizons where the engine does not produce a statistically significant edge. Verdicts follow a four-tier convention (fail, marginal, pass, strong pass) defined in the footnote below the table.

    HorizonNWin rate95% CICarhart αtpVerdict
    5d4,29753.29%[51.35%, 55.20%]+0.075%1.120.261FAIL
    10d4,29155.40%[53.25%, 57.53%]+0.192%1.950.051MARGINAL
    20dpublished hold4,01458.40%[55.90%, 60.70%]+0.509%3.700.0002PASS
    40d4,24660.88%[57.67%, 64.01%]+0.961%4.742.2e-6STRONG PASS

    Verdict tiers: FAIL — no significant edge at the 5% level. MARGINAL — edge near the threshold of statistical significance. PASS — clear statistical significance at 95% confidence. STRONG PASS — edge at p-values well below 0.001. The 20-day row additionally passes a 9-test extended validation stack (see Wyckoff Daily). 8 are published with full proof; 1 is retained internally for engine confidentiality.

    Why 20 days is the published hold

    The published hold is 20 days. 40d shows a larger per-signal alpha (+0.961% vs +0.509%) but is not adopted because the full 9-test validation stack is complete only at 20d.

    Tested horizon vs published hold

    Tested horizon: forward-return measurement interval. Every row in the table above is a tested horizon.

    Published hold: portfolio-simulation exit convention. At 40 days these diverge — 40d is tested but not adopted as the portfolio-sim hold per the reasoning above.

    Multi-horizon analysis for weekly Wyckoff is deferred to the weekly compute pass (weekly horizon: 20d only).

    Sector Breakdowns

    Per-sector performance for Wyckoff Daily and Wyckoff Weekly.

    Yahoo 11-sector taxonomy. Threshold for reliable inference: N ≥ 30 per sector. Sectors below threshold flagged "N too small" and rendered with "—" for win rate, mean return, and median return. Aggregate metrics (coverage, overall WR) include all signals in the rollup; only per-sector display is gated.

    Wyckoff Daily

    Coverage 100.00%. Deduped signals N = 3,928. Overall WR 58.40%.

    Sector-breakdown source set (N = 3,928) is 348 signals smaller than the canonical Wyckoff Daily deduped count (N = 4,276). The gap reflects two-stage gating: 262 signals dropped for Fama-French factor unavailability (matching the Carhart regression N = 4,014), plus 86 additional signals dropped for SPY-calendar alignment in the sector breakdown only. Aggregate WR reproduces canonical 58.40%.

    SectorN signalsTickersWin rateMean returnMedian return
    Technology88510160.23%+2.32%+2.06%
    Healthcare6635856.26%+1.11%+1.01%
    Industrials6456158.60%+1.32%+1.43%
    Consumer Cyclical5375861.08%+1.94%+1.64%
    Financial Services5206353.27%+0.92%+0.67%
    Consumer Defensive2563358.59%+1.27%+0.80%
    Basic Materials2192761.64%+1.77%+1.86%
    Communication Services1932060.10%+2.00%+1.87%
    EnergyN too small102

    28-day per-ticker dedup applied before sector grouping.

    Wyckoff Weekly

    Coverage 96.88%. Deduped signals N = 2,533. Overall WR 61.15%.

    SectorN signalsTickersWin rateMean returnMedian return
    Technology5127663.67%+2.02%+2.04%
    Consumer Cyclical4596757.08%+1.01%+1.31%
    Healthcare3854262.60%+1.94%+1.61%
    Financial Services3305061.52%+1.66%+1.86%
    Industrials2694762.08%+1.63%+1.70%
    Communication Services1693256.80%+1.04%+1.22%
    Consumer Defensive1392558.27%+1.88%+1.23%
    Basic Materials1272063.78%+4.74%+1.37%
    Unknown792170.89%+3.71%+2.67%
    UtilitiesN too small276
    EnergyN too small2212
    Real EstateN too small154

    Tickers whose sector could not be resolved are shown in the Unknown bucket.

    The Unknown bucket comprises tickers whose sector could not be resolved via SEC EDGAR or yfinance lookups; the elevated WR likely reflects selection effects on the unresolvable subpopulation rather than a tradeable cross-sector signal.

    Universe Construction

    Stock universe construction: backtest and live scanner.

    Backtest universe

    649 US stocks: 237 current S&P 500 constituents and 412 previously-delisted or demoted tickers. Survivorship correction is applied by including the 412 delisted constituents in the validation signal set. Same-ticker signals are deduplicated inside a 28-day window before any aggregate statistic. Date range covered: 2006-2026.

    Pre-backtest sector exclusions

    Energy, Utilities, and REITs are excluded from the backtest universe. Driven by commodity prices, interest rates, and regulatory factors rather than equity-specific dynamics.

    Live scanner universe

    The live scanner runs nightly on 225 symbols: 215 stocks and 10 ETFs (SPY, QQQ, DIA, IWM, VOO, VTI, XLK, XLF, XLE, XLV).

    The 10 ETFs are scanned for signals. None have surfaced at daily or weekly timeframes to date.

    ETF buying signals surfaced at daily or weekly to date: 0.

    Live vs backtest reconciliation

    Backtest universe (N = 649) and live scanner stocks (N = 215) are distinct constructs. Overlap: 200 stocks. Live scanner excludes 37 backtest survivors selected by a per-engine performance threshold. Live scanner includes 15 stocks not in the backtest universe (14 from a wider candle dataset; 1 ticker rename, MMC->MRSH).

    EnginePruned NPruned shareWR if pruned removedWR deltaα / mean-return delta
    Wyckoff Daily3035.1%58.03%+0.57 pp+0.066 pp (α)
    Wyckoff Weekly2709.3%61.05%+0.31 pp+0.067 pp (α)

    Removing the 37 pruned tickers from the backtest signal set shifts published win rate by sub-percentage-point amounts on each engine.

    Limitations

    Documented limitations of the validation: CBE pre-merger gap, weekly cap-tier coverage, SPY price-only.

    • CBE pre-merger corporate-action gap. 12 pre-merger Wyckoff signals fired on CBE Nov 2012 before Eaton acquisition close.
    • Weekly cap_tier coverage gap (structural). 62.6% unknown — not resolvable via further SEC fetches. Weekly cap_tier breakdowns not surfaced.
    • SPY benchmark is price-only (no dividends). With dividends, SPY total return is higher than the price-only series shown. Carhart regression uses Fama-French total-return data; reported alpha is dividend-adjusted.

    Regulatory Classification

    Krentium publishes investment-strategy recommendations within the meaning of § 86 Abs. 1 WpHG (Anlagestrategieempfehlungen) and complies with MAR Article 20 + Delegated Regulation (EU) 2016/958. Krentium is not an investment firm (Wertpapierdienstleistungsunternehmen) and does not provide individualised investment advice (Anlageberatung) within the meaning of MiFID II Art. 4(1)(4). Public legal disclosures are maintained on the following pages:

    Educational analysis only. Not financial advice. Signals are statistical patterns only.Full disclaimer

    Cookie Preferences

    We use cookies to enhance your experience and analyze site usage. Essential cookies are required for basic functionality. You can choose to accept all cookies or only essential ones. Learn more in our Privacy Policy

    Essential: Required for basic site functionality (always enabled)

    Functional: Remember your preferences and settings

    Analytics: Help us understand how you use our site