← strona główna Talenta

Specyfikacja obliczeń Talenta

Dokument dla wnikliwych: wszystkie wzory i kroki potrzebne, by napisać własną, niezależną implementację i uzyskać te same liczby. Wersja reguły: v0.1 z nogą płacową v0.2. Implementacja referencyjna: prototyp/src. Szczegółowa polityka zasilania danymi (konkretne komunikaty urzędów, dni publikacji, kaskady awaryjne, obsługa rewizji i zmian bazy): POLITYKA_danych_v0.1.md.

0. Oznaczenia

m — miesiąc kalendarzowy; m₀ — miesiąc bazowy (pierwszy w szeregu); I_c(m) — indeks cen; I_w(m) — indeks płac; A(m) — kotwica miesięczna Talenta; T(d) — wartość dzienna; MA12(x)(m) — średnia arytmetyczna z 12 ostatnich dostępnych wartości x do miesiąca m włącznie (krocząca, wyłącznie wstecz — „przyczynowa").

1. Źródła danych (publiczne, do samodzielnego pobrania)

SeriaŹródłoLink
CPI Polska (miesięczny)GUS / OECD via FREDPOLCPIALLMINMEI; pierwotnie: GUS — wskaźniki cen, Eurostat HICP (prc_hicp_midx, geo=PL)
Płace i zatrudnienie PL (sektor przedsiębiorstw, miesięczne)GUSBank Danych Lokalnych + API BDL (przeciętne wynagrodzenie i przeciętne zatrudnienie w sektorze przedsiębiorstw)
Kursy walutNBPapi.nbp.pl (tabela A, od 2002)
Testy historyczne USAFRED (klucz API darmowy: rejestracja)CPIAUCNS (CPI od 1913), CES3000000008 (płaca godz. przemysł od 1939), A939RC0A052NBEA (PKB/os. od 1929), AHETPI, PAYEMS

Przykład zapytania FRED (JSON, średnie roczne):

https://api.stlouisfed.org/fred/series/observations?series_id=CPIAUCNS
  &api_key=TWÓJ_KLUCZ&file_type=json&frequency=a&aggregation_method=avg

2. Noga cen I_c

  1. Pobierz miesięczny indeks CPI (poziomy). Jeśli masz ≥3 niezależne źródła — dla każdego miesiąca policz dynamikę m/m z każdego źródła i weź medianę; łańcuchuj mediany w indeks. Przy 2 źródłach: średnia geometryczna dynamik + alarm, gdy roczne dynamiki różnią się o >3 p.p.
  2. Znormalizuj: I_c(m) = CPI(m) / CPI(m₀) × 100.
  3. Wartości raz użyte do publikacji nie są nigdy podmieniane — rewizje źródła wchodzą tylko w przyszłe dynamiki.

3. Noga płac I_w (definicja v0.2)

  1. Fundusz płac: F(m) = płaca_przeciętna(m) × zatrudnienie(m) (oba z tego samego badania GUS).
  2. Korekta efektu składu (TIP-0001): W(m) = F(m) / MA12(zatrudnienie)(m). Dzięki temu w kryzysie miara spada (fundusz maleje od razu, mianownik „pamięta" pełne zatrudnienie), zamiast sztucznie rosnąć jak przeciętna płaca.
  3. Usuń sezonowość premii: I_w(m) = MA12(W)(m), następnie normalizacja do m₀ = 100.
  4. Kontrola poprawności na danych USA (FRED AHETPI×PAYEMS): kwiecień 2020 — przeciętna płaca +4,2% m/m, W po korekcie −8,9% m/m; dryf 2000-01→2026-06: +135,7% vs +136,2% (metody zbieżne w długim okresie).
  5. Świadomy kompromis — średnia zamiast mediany. Przeciętne wynagrodzenie zawyża górny ogon rozkładu, więc rośnie szybciej niż płaca typowego pracownika — noga na średniej lekko sprzyja wierzycielowi. To decyzja wymuszona historyczną dostępnością danych, nie błąd założenia. Kierunek docelowy: mediana z rejestrów ZUS+MF (GUS publikuje ją miesięcznie od 2010) — szczegóły i kryteria przejścia w TIP-0002.

4. Kotwica miesięczna

A(m) = 100 × √( I_c(m)/I_c(m₀) × I_w(m)/I_w(m₀) )

Środek geometryczny — nie arytmetyczny. Dwa powody: (a) łańcuchowość — wynik nie zależy od daty bazowej ani drogi liczenia; (b) AM≥GM — średnia arytmetyczna dawałaby zawsze wyższą spłatę, systematycznie sprzyjając wierzycielowi.

5. Ścieżka dzienna (model UF — pre-commitment)

  1. Dzień kotwicy: 25. dzień miesiąca m+1 (po publikacji CPI ~15. i płac ~21. za miesiąc m). Policz A(m).
  2. Opublikuj z góry całe okno dzienne od 26. dnia m+1 do 25. dnia m+2:
g = A(m) / A(m−1)
T(d_k) = A(m) × g^(k/K)      k = 1…K (kolejne dni okna, K = długość okna)

Każda wartosć dzienna jest znana najpóźniej dzień przed obowiązywaniem; strony nigdy nie rozliczają się po kursie, którego nie mogły znać. Raz opublikowane wartości są ostateczne.

6. Bezpieczniki (deterministyczne, zapisane z góry)

7. Metryka żalu (regret) — do walidacji implementacji

Dla okna od roku t do t+h: R = wzrost indeksu testowanego, C = wzrost cen, P = wzrost płac (wszystko jako ilorazy poziomów).

żal_dłużnika    = max(0, R/P − 1)
żal_wierzyciela = max(0, C/R − 1)
żal_okna        = max z obu        (zero-żal: żal < 2%)

Tożsamość kontrolna: (R/P)×(C/R) = C/P — iloczyn nie zależy od R; minimum maksimum w punkcie równości, stąd R = √(C·P).

8. Wartości kontrolne (czy Twoja implementacja liczy to samo?)

TestParametryOczekiwany wynik
USA — stulecieCPIAUCNS + CES3000000008, lata 1939–2025, horyzonty {3,5,10,20,30}, wszystkie lata startuTalent: ~88% okien zero-żalu, p95 ≈ 3,5%, max ≈ 6,1% (dłużnik, 1978→2008); nominal: max ≈ 384%
USA — z Wielkim KryzysemCPIAUCNS + A939RC0A052NBEA, 1929–2025Talent: max ≈ 19,7% (wierzyciel, 1929→1932); czyste CPI/dochód: po ≈ 43%
Polska — transformacjaCPI PL (od 1989) + przeciętne wynagrodzenie GUS/ZUS, 1989–2024Talent: max ≈ 10,4% (wierzyciel, 1989→1994); nominal: max ≈ 10 800%
Noga płac v0.2AHETPI × PAYEMS / MA12(PAYEMS), miesięcznieIV 2020: przeciętna +4,2% m/m, v0.2 −8,9%; dryf 2000→2026 różni się o <1 p.p.
Kotwica prototypu PLbaza I 1996 = 100, CPI PL + płace roczne interpolowane (prowizorium)XII 2025: A ≈ 552,7 (I_c ≈ 362, I_w ≈ 843)

Tolerancja: ±0,5 p.p. na wynikach żalu (drobne różnice wersji danych po rewizjach FRED są normalne; kierunki i rzędy muszą się zgadzać). Uwaga: prototypowa noga płac PL używa danych rocznych GUS/ZUS interpolowanych do miesięcy — docelowa specyfikacja (pkt 3) wymaga miesięcznych danych sektora przedsiębiorstw.

9. Pseudokod całości

dane   = pobierz(CPI_mies, płaca_mies, zatrudnienie_mies)   # sekcja 1
I_c    = normalizuj(łańcuch_median(CPI_źródła))              # sekcja 2
W      = płaca*zatrudnienie / MA12(zatrudnienie)             # sekcja 3
I_w    = normalizuj(MA12(W))
A      = 100 * sqrt(I_c * I_w / (I_c[0]*I_w[0]))             # sekcja 4
dla każdego m: publikuj_okno_dzienne(A[m], A[m-1])           # sekcja 5
asercje: wartości kontrolne z sekcji 8

Nie chcesz pisać sam? → gotowy prompt dla agenta-programisty