Backtest strategii GPW Console vs WIG140

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GPW CONSOLE :: BACKTEST STRATEGII
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Okres: 2017-01-02 → 2026-07-24 · statyczna migawka analizy

← Strona główna [ESC]

Projekt jest darmowy i rozwijany po godzinach.
Jeśli GPW Console jest pomocny, możesz wesprzeć rozwój:
buycoffee.to/gpwconsole
[X] follow @GPWConsole

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ZASTRZEŻENIE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Wyniki HISTORYCZNE z hipotetycznego backtestu — NIE gwarantują
przyszłych rezultatów i NIE stanowią porady inwestycyjnej.

• Survivorship bias: uniwersum to dzisiejsze ~146 spółek (bez
  wycofanych/zbankrutowanych) — zawyża wynik strategii.
• Look-ahead: scoring historii używa bieżących rekomendacji/
  dywidend — kwoty wrażliwe na moment rekonstrukcji danych.
• Benchmark WIG140TR syntetyczny: przed 2022 stopa dywidendy
  przyjęta stała (brak serii) — może lekko zawyżać benchmark.
• Dywidendy spółek odtwarzane heurystycznie z cen.
• Wiarygodny jest UKŁAD i ODPORNOŚĆ wariantów, nie kwota.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 WARTOŚĆ PORTFELA vs WIG140 vs WPŁATY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
0k100k200k300k2017201820192020202120222023202420252026
━━ Top 10/90d ★  ━━ WIG140 (total-return)  ┈┈ Wpłacony kapitał

Główna (zielona) linia = wariant NAJBARDZIEJ
ODPORNY Top 10/90d ★ — niemal tożsamy z realną strategią.
Warianty skoncentrowane (Top 3–5) dają wyższy, ale mniej
powtarzalny wynik — patrz kolumna %WF+ niżej.

Start 2 000 PLN + 1 000 PLN co 30 dni (łącznie 118 000 PLN włożone).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 WYNIK KOŃCOWY — warianty (2017–2026)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Wariant                 Wynik   ROI  MaxDD       Alfa  %WF+
───────────────────────────────────────────────────────────
Top10/90d (≈prod.) ★  355 945 +202%   −39%    +43 298   97%
Top5/120d             599 258 +408%   −34%   +286 611   71%
Top10/120d            402 701 +241%   −40%    +90 054   69%
Top8/90d              299 595 +154%   −41%    −13 052   20%
Top5/90d              376 059 +219%   −29%    +63 412   34%
Top3/90d              461 754 +291%   −37%   +149 107   43%
Top4/120d             743 409 +530%   −30%   +430 762   46%
WIG140TR (bench.)     312 647 +165%

%WF+ = odsetek 35 okien startowych (co 90 dni), w których
wariant pobił benchmark — miara ODPORNOŚCI. Wysoki ROI przy niskim
%WF+ = przeuczenie (Top4/120d: +530%, ale tylko 46% okien).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ODPORNOŚĆ > POJEDYNCZA ŚCIEŻKA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Top 10 / rebalans co 90 dni — wariant najbardziej ODPORNY:
pobił benchmark w 97% z 35 okien startowych walk-forward, przy
najpłytszym uśrednionym obsunięciu. Niemal tożsamy z realnie
stosowaną strategią (Top 10, limit 2 spółek na sektor).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 KLUCZOWE WNIOSKI
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
» Powtarzalność > pojedynczy strzał — skoncentrowane
  Top 3–5 potrafią dać spektakularny wynik na JEDNEJ ścieżce
  (Top4/120d: +530%), ale biją benchmark tylko w ~45% okien —
  to przeuczenie, nie realna przewaga.
» Interwał ~90–120 dni — rzadszy rebalans wypada
  lepiej niż 30 dni (mniej szumu tradingowego); różnica nieduża.
» Nie każdy wariant bije benchmark — WIG140
  total-return to mocna poprzeczka; Top8/90d mu ulega (−13k).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 PYTANIA METODOLOGICZNE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Q: Czy wynik Top10 to overfitting pod konkretną liczbę spółek?
Top8/90d jest w tabeli: %WF+ 20%, alfa −13k (gorsze od benchmarku
w 80% okien). Sweep obejmował Top3–15; Top10 wygrało walk-forward,
nie było ręcznie wybierane. Różnica 97% vs 20% jest duża i stabilna
przez cały okres 2017–2026. Ryzyko data snooping istnieje (sweep i
ewaluacja na tych samych danych), ale wynik jest wyraźny i spójny.

Q: Jak zdefiniowane są okna walk-forward?
35 punktów startowych co 90 dni, od 2017-01-02. Każdy start biegnie
do tego samego końca (2026-07-24) — to EXPANDING WINDOW (nie sliding).
Najkrótsze okno: min. 120 dni. %WF+ = ile startów zakończyło się
wynikiem > WIG140TR liczonym od tamtego startu do końca danych.

Q: Look-ahead bias — czy scoring historii używa dzisiejszych
   rekomendacji analityków?
Znany, udokumentowany problem. Rekomendacje w DB to bieżące dane
(brak historii point-in-time). Efekt jest jednak ograniczony:
• Przed 2025: A=0, B=0 — backtest testuje wyłącznie momentum
  i płynność, zero look-aheadu w A/B. To 7 z 9 lat backtestowanych.
• 2025–2026: bieżące rekomendacje zaciągnięte wstecz — look-ahead
  w komponentach A+B (35/110 pkt). ESPI (F) ma analogiczny problem
  (scraper od 2026; starsze snapshoty mają F=neutralne).
Wynik: liczby są wrażliwe na moment rekonstrukcji danych — spójna
jest ODPORNOŚĆ wariantów (%WF+), nie dokładna kwota.

Q: Czy masz czysty test out-of-sample?
Nie. Parametry (Top-N, interwał) były dobierane na tych samych
danych 2017–2026. Walk-forward cross-waliduje odporność WEWNĄTRZ tego
okresu, ale nie zastępuje prawdziwego OOS. Uczciwa odpowiedź: wszystkie
liczby są in-sample. Rzetelny OOS wymagałby zamrożenia parametrów
i czekania na nowe dane.

Q: Czy wyższy score liniowo przekłada się na wyższy zwrot?
Nie testowane. Backtest sprawdza wyłącznie Top-N vs benchmark, nie
monotoniczność rang → zwrotów w całej populacji. Właściwy test:
dla każdego snapshotu podziel spółki na decyle score i policz
medianę zwrotu w kolejnym oknie per decyl. Dopiero wtedy wiadomo,
czy scoring ma signal w całej populacji, czy tylko "sortuje górę".
To planowane, ale na razie nierealizowane.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 METODYKA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Portfel równoważony, rebalansowany co N dni wg rankingu scoringu.
Prowizja 0% (XTB do 100k EUR/mies), podatek 19%, dywidendy netto
reinwestowane. Benchmark: WIG140 total-return — indeks WIG20 +
mWIG40 + sWIG80 (140 spółek), zrekonstruowany jako dochodowy z
ceny i stopy dywidendy (GPW nie publikuje WIG140TR). Odporność
mierzona walk-forward: 35 startów co 90 dni.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Dane wyłącznie informacyjne — nie stanowią porady inwestycyjnej.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
╚══ buycoffee.to/gpwconsole[X] @GPWConsole ══╝