hedgeyourown

methodology · nothing hidden

How the numbers are made

Last updated: 2026-09-11 — full change history below in the changelog.

In short
  • Every track record is a simulated backtest — not a live trading result.
  • Universes are point-in-time: Nasdaq-100 + WIG20, no survivorship.
  • Prices are total-return (dividends reinvested).
  • Transaction costs: US 5 / EU 10 / GPW 20 bps, charged on every rebalance.
  • Cash rate: 3%/yr; the track record is pinned to 2026-06-30.

Every track record on this site is a simulated backtest — the strategy's fixed rules re-run on real historical data. Here's exactly how, including the limitations. A track record is a legal artifact for us: overstating it would be fraud, so we'd rather under-promise and show our work.

📈 Real, total-return prices

Adjusted close (dividends reinvested) from a licensed feed (EODHD) with Warsaw + US + EU coverage, and a keyless fallback (Yahoo). Using price-only data would understate dividend payers — we don't.

🕰️ Point-in-time universe

The backtest sees each index as it actually was on each date (Nasdaq-100, WIG20 with dated add/drop history) — no "we knew the winners in advance" survivorship. On the licensed feed, names that later delisted are still priced and included, closing the survivorship gap on the price side.

💸 Realistic, per-market costs

Turnover is charged on every monthly rebalance at the conservative end of a typical half-spread + fees — see the table. Market impact and FX aren't modelled (negligible at retail size).

🔁 Monthly rebalance, weights drift

Positions are set monthly and left to drift with prices in between (position-value method) — exactly what a subscriber following the update would experience.

Transaction costs, per market

MarketCost per rebalance turnoverWhy
US (NYSE / Nasdaq)5 bpsDeepest liquidity, tightest spreads
EU (XETRA / Euronext)10 bpsSlightly wider spreads / fees
Poland (GPW)20 bpsThinner books; costed conservatively

Risk-free (cash) rate for Sharpe & Sortino: 3%/yr — roughly the average US T-bill yield over the backtest window. A higher assumed cash rate makes the ratios LOOK worse, so this is the non-flattering choice.

What each number means

MetricIn plain words
CAGRAverage yearly growth, compounding included. 12% ≈ it grew about 12% a year.
SharpeReturn per unit of total wobble. Higher = a smoother ride for the same gain; above 1 is solid.
SortinoLike Sharpe but only counts DOWNSIDE wobble (upside jumps aren't "risk"). Uses target semideviation.
VolatilityHow much the value swings, annualised. Measures wiggle, not direction.
Max drawdownThe single worst peak-to-trough fall in the whole record — the number your stomach feels.
CalmarYearly growth ÷ that worst fall. "Was the pain worth it?"

Known limitations (the small print)

We're a publisher, not an adviser.

Every strategy publishes ONE model-portfolio update, identical for every subscriber, generated systematically — never personalised, never a signal to buy or sell, and we never place or manage trades. You decide and trade in your own account. See the strategies → · Verify the ledger →

Methodology changelog

Every change to how results are calculated — dated, with an honest note on its effect on the published numbers.

Date Change Impact
2026-09-11 The live record of published portfolios now keeps allocation revision history: if a past month's allocation is corrected, both versions stay visible instead of the correction silently overwriting what was actually published at the time. No published number changed; this only makes any future correction visible rather than silent.
2026-09-10 Strategy pages show a separate LIVE record of the actually published model-portfolio updates since first publication — distinct from the simulated backtest above it — entering each new allocation at the next trading session's close (no look-ahead). New metric, not a restatement of the backtest; a strategy with no full month since publication shows no live figure yet.
2026-09-10 Every track record now shows a market benchmark (an equal-weight universe or SPY, whichever fits the strategy) computed over the SAME window and the SAME costs, so a strategy's numbers can be read against a plain buy-and-hold, not in isolation. Display-only addition; no strategy's own CAGR/Sharpe/drawdown figures changed.
2026-07-15 Fixed two backtest bugs found in an internal audit: (1) filtering calendar month-ends against the trading calendar had silently skipped rebalancing on roughly a third of months (any month ending on a weekend/holiday), while the live product rebalances 12x/year; (2) the very first rebalance's transaction cost was erased by how the equity curve was normalised. Both fixed; every published track record was recomputed. Roughly a third of months gained a rebalance they'd been missing, and every curve now starts after its real entry cost (~2.5 bps) instead of before it — both changes make the numbers slightly LESS flattering, never more.
2026-07-07 Prices are forward-filled before each monthly decision, so a market holiday on one exchange (e.g. US closed, GPW open) no longer silently drops a whole market from that month's decision. July 2026 allocations were re-published under the fix. Separately, Sortino now uses target semideviation (the RMS of below-target returns over ALL periods) instead of the sample standard deviation of the downside subset around its own mean. Documented in engine/backtest.py: the prior subset-std formula OVERSTATED Sortino by roughly 9-18%, more for tightly-clustered losses — so published Sortino values fell by about that much on the recompute.
2026-07-07 The risk-free (cash) rate used for Sharpe/Sortino changed from 0% to a flat 3%/yr (roughly the average US T-bill yield over the backtest window) — 0% had actually INFLATED both ratios, not kept them conservative. Transaction costs switched from a flat 5 bps everywhere to per-market tiers (US 5 / EU 10 / GPW 20 bps). Every published track record was recomputed on both changes. Both changes make ratios/returns LESS flattering, never more — e.g. (as recorded at the time) balanced-duo Sharpe 0.919 -> 0.802 and inverse-vol 0.889 -> 0.701 on the rate change; PL/EU-heavy, high-turnover books lost the most on the cost change.
2026-07-01 Switched the price feed to the licensed EODHD data (from the keyless Yahoo fallback) for total-return prices that still include names which later delisted — Yahoo silently drops those, which had flattered results by leaving only survivors in the data. Documented at the time: momentum/dual-momentum CAGR eased roughly 1-2 percentage points on the honest recompute (more delisted names now priced-in); diversified sleeves were largely unchanged.
2026-06-30 Replaced the curated, present-day snapshot of large-cap names with REAL, dated index-membership history for both the US sleeve (Nasdaq-100) and the Polish sleeve (WIG20) — backtests now see each index as it actually was on each date, not "today's winners assumed to have always been in the index". Documented at the time: the old snapshot universe was empty before its 2024 starting point, so affected backtests had sat in cash through the 2022 bear market and invested for only part of the full window — the fix removes that look-ahead/survivorship bias, it does not add it.

This is published market information, not investment advice and not a personal recommendation. Allocations are generated systematically and are the same for every subscriber. You decide and trade in your own account.