Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-08-01

Ukosefu wa Taarifa za Baadaye: Mtuaji wa Majaribio

Ukosefu wa taarifa za baadaye ni data ya baadaye inayovuja kwenye majaribio ya historia. Angalia jinsi uamuzi wa baa moja, uvuaji, na takwimu zilizorekebishwa huongeza matokeo, na

Ukosefu wa taarifa za baadaye ni matumizi ya taarifa ndani ya majaribio ya historia ambayo mtu yeyote hawezi kuwa nazo wakati biashara ya mfano ilipowekwa. Mstari wa mtaji huongezeka, takwimu zinaonekana bora, na hakuna chochote kinachosalia kinapokuja na agizo la moja kwa moja. Ukurasa huu unaafikia aina hiyo, unaelezea taratibu tatu zinazosababisha, na kupima kila moja kwa data halisi ya soko.

Nini ukosefu wa taarifa za baadaye

Majaribio ya historia ni madai kuhusu uamuzi: katika muda huu, na taarifa hizi, kanuni ingefanya hivi. Madai hayo yanadumu tu pale kila pembejeo inayosomwa na kanuni iliopo tayari, katika fomu yake ya mwisho, kabla ya muda huu. Ukosefu wa taarifa za baadaye ni uvunjaji wowote wa masharti hayo, na ni wa kimyakimya. Hakuna chochote katika karatasi au mkataba kinacholalamika wakati safu inarudisha thamani yenye muhuri wa baadaye ya uamuzi inayoiweka.

Uvunjaji mmoja unashughulikia kile ambacho hutokea katika matendo. Uamuzi unaosomea bei ya kibao na pia biashara ndani yake. Ulimwengu uliokusanywa kwa majina ambayo bado yameorodheshwa leo. Uwanja wa data uliorekebishwa baada ya tarehe inayobeba.

Mkanja wa kwanza: kufanya uamuzi juu ya kibao unachopia biashara

Anza na kanuni inayosikika hatari. Nunua kwa nguvu, yaani katika siku ambapo fundo inafunga juu ya alama yake ya ufunguzi. Ikiandikwa bila kujali, jaribio linapinga katika ufunguzi wa siku hiyo na linafunga katika kufunga kwa siku hiyo, hali while masharti inayokagua ni bei ya kufunga ya kibao hicho. Hakuna mtu anayejua bei ya kufunga wakati wa kengele ya ufunguzi.

Jopo hapo chini linatekeleza toleo zote mbili kwenye SPY, mtawalia wa S&P 500, katika miaka kumi ya kalenda. Safu ya kwanza ni isiyowezekana. Ya pili inacheleza masharti yale yale kwa siku moja, ambayo ndio mapema akaunti inayofadhiliwa ingeweza kuitekeleza.

UlizaUamuzi wa kipindi kimoja dhidi ya kuchelewa kwa kipindi kimoja: SPY, faida ya wastani ya kikao, 2016-2025
SQL halisi nyuma ya kila namba
WITH bars AS (
    SELECT date,
           toFloat64(open) AS o,
           toFloat64(close) AS c,
           toFloat64(close) > toFloat64(open) AS up_day
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= toDate('2015-12-01')
      AND date <= toDate('2025-12-31')
),
lagged AS (
    SELECT date, o, c, up_day,
           any(up_day) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_up
    FROM bars
)
SELECT toYear(date) AS year,
       countIf(up_day) AS signal_days,
       round(100 * avgIf(c / o - 1, up_day), 3) AS same_bar_avg_pct,
       round(100 * avgIf(c / o - 1, prior_up), 3) AS lagged_avg_pct,
       round(100 * (avgIf(c / o - 1, up_day) - avgIf(c / o - 1, prior_up)), 3) AS gap_pp
FROM lagged
WHERE date >= toDate('2016-01-01')
GROUP BY year
ORDER BY year
Run this yourself

Kutengana si kidogo. Katika 2016 toleo la kibao kimoja lilikuwa na wastani wa 0.447% kwa kila siku inayostahili hali toleo la kuchelezwa lilikuwa na wastani wa -0.008%, uwiano wa 0.455 asilimia kwa siku. Katika 2025 zote zilisoma 0.636% na -0.03%. Na takriban siku 140 zinazostahili kwa mwaka, uwiano wa nusu asilimia kwa siku moja unakusanyika kuwa mstari wa mtaji ambao akaunti yoyote haijawahi kuuchapisha.

Upekee wote ni wa ufafanuzi. Kuchagua siku zilizofunga juu ya ufunguzi wake, kisha kupima ufunguzi hadi kufunga katika siku zile zile, ni kupima kipimo kinachohakikishwa kuwa chanya. Kanuni iligundua chujio chake sendelfu.

Aina hii hujificha katika data za kila siku mara kwa mara: wastani wa mkutano unaojumuisha kufunga kwa leo na kutumika kwa biashara leo, ishara iliyohesabiwa kwa bei zilizorekebishwa kwa mgawanyiko ambao bado haujatokea, kikomo cha siku ndani ya siku kilichowekwa kwenye kilele cha siku ambacho bado hakijachapwa. Umbo la kawaida ni muda wa uamuzi ukiwa mapema kuliko pembejeo yake mwenyewe.

Mkanja wa pili: ulimwengu uliochaguliwa kutoka kwa washindi wa leo

Mkanja wa pili haugusi kanuni. Inakaa katika orodha ya majina ambayo kanuni inaruhusiwa kuona.

Chukua orodha ya alama kutoka kwa mtoaji wa sasa, irudishe miaka kumi iliyopita, na sampuli humyondoa kimyakimya kampuni zote zilizopungua, zilizonunuliwa, au zilizondolewa kwenye orodha njiani. Kanuni haikupewa washindani. Jopo linaipima kubwa kwa kule kukosekana: kila jina lililoorodheshwa nchini Marekani lililo biashara angalau siku 200 juu ya $1 katika mwaka fulani wa kalenda, sehemu ya kikundi hicho bado inaonyesha bei mwezi Julai 2026, na mapato ya wastani ya mwaka wa kalenda ya kikundi chote karibu na wastani wa washindi peke yao.

UlizaUhai katika ulimwengu: majina yanayofanya biashara kila mwaka, hisa bado orodheshwa mwezi Julai 2026, na kurudi kwa wastani
SQL halisi nyuma ya kila namba
WITH recent AS (
    SELECT DISTINCT ticker
    FROM global_markets.stocks_daily_aggs
    WHERE date >= toDate('2026-06-15')
      AND date <= toDate('2026-07-28')
),
per_name AS (
    SELECT toYear(date) AS year,
           ticker,
           argMin(toFloat64(close), date) AS first_close,
           argMax(toFloat64(close), date) AS last_close,
           count() AS sessions
    FROM global_markets.stocks_daily_aggs
    WHERE date >= toDate('2015-01-01')
      AND date <= toDate('2024-12-31')
      AND close > 1
    GROUP BY year, ticker
    HAVING sessions >= 200
)
SELECT year,
       uniqExact(ticker) AS names_trading,
       round(100 * uniqExactIf(ticker, ticker IN (SELECT ticker FROM recent)) / uniqExact(ticker), 1) AS still_listed_pct,
       round(100 * quantileDeterministic(0.5)(last_close / first_close - 1, cityHash64(ticker)), 2) AS median_return_all_pct,
       round(100 * quantileDeterministicIf(0.5)(last_close / first_close - 1, cityHash64(ticker), ticker IN (SELECT ticker FROM recent)), 2) AS median_return_survivors_pct,
       round(100 * (quantileDeterministicIf(0.5)(last_close / first_close - 1, cityHash64(ticker), ticker IN (SELECT ticker FROM recent))
                    - quantileDeterministic(0.5)(last_close / first_close - 1, cityHash64(ticker))), 2) AS survivor_gap_pp
FROM per_name
GROUP BY year
ORDER BY year
Run this yourself

Kati ya majina 7063 yaliyofanikisha kibao katika 2015, 52.5% bado yalikuwa yakibiashara mwezi Julai 2026. Kwa kikundi 2024 nambari ni 87.5%, hasa ni suala la muda uliopita: jina la 2024 limekuwa na miaka miwili kupotea na jina la 2015 limekuwa na kumi na moja.

Safu za mapato zibeba upendeleo mwenyewe. Katika 2017 jina la wastani lilirudisha 7.51% hali la mtu hai wa wastani lilirudisha 11.32%, pengo la 3.81 asilimia kwa neno lililekwa bure. Pengo ni chanya katika kila moja ya miaka 10 iliyopigwa picha. Mkakati unaopimwa na washindi unarithi kabla ya kufanya uamuzi mmoja, na kanuni zinazochuja udhaifu zinarithi zaidi ya wastani, kwa sababu majina yaliyotoweka yako katika kikundi hicho kwa uwiano mkubwa.

Sahihisho ni ulimwengu wa wakati uliopo: orodha ya majina ilivyo kwenye kila tarehe ya kusawazisha, ikiwa ni pamoja na zilizondolewa, na nafasi iliyondolewa imefungwa kwa chapisho lake la mwisho badala ya kuondolewa kwenye rekodi.

Mkanja wa tatu: data iliyorekebishwa baada ya muhuri wake

Bei zinamuhuriwa mara moja. Mizania sivyo. Kipimo cha robo mwezi kinaenda na tarehe ya mwisho ya robo, kinafunguliwa na barua ya baadaye, na hifadhidata inayohifadhi toleo la sasa pekee itatumia kwa furaha nambari iliyoonyoshwa dhidi ya tarehe asilia. Kanuni inayochuja nambari hiyo inasoma sahihi iliyofika miezi mingi baadaye.

Mfumo huo huo unaendelea kupitia orodha za uanachama wa faharisi zilizojengwa upya kwa washirika wa sasa, historia ya makadirio ya mtaalamu iliyofunikwa na makubaliano ya mwisho, na marekebisho ya hatua za biashara yaliyotumika nyuma katika safu yote ya bei. Katika kila kesi, rekodi iliyohifadhiwa ni picha ya wakati wa sasa inayobeba tarehe ya wakati uliopita.

Mazoea mawili yanaishika. Tumia chanzo linalohifadhi vinasaba, maana thamani ilivyojulikana kwenye kila tarehe badala ya thamani kama inavyojulikana sasa. Panapo vinasaba kutepateka, tumia uchelezi wa ripoti wenye kujinasibu wa kufunika uhalisia, na utende muda wa uchelezi huo kama parameter thamani ya kujaribu badala ya maelezo ya kudhani.

Jinsi mstari unavyoonekana wakati wa baadaye unapovuja

Ukosefu wa taarifa za baadaye una saini: utendaji ambao uko juu ya kile soko la msingi lililotoa. Msimbo mwema ni dari ya maarifa, ukuaji ambao mtabiri wa kamili wa siku moja kabla ungeweza kutengeneza kwa kifaa kimoja.

UlizaKikomo cha kumbuka nyuma: kununua na kushikilia SPY, mwaka huo bila siku zake kubwa za kupanda, na utabiri kamili wa siku moja
SQL halisi nyuma ya kila namba
WITH bars AS (
    SELECT date,
           toFloat64(close) AS c,
           any(toFloat64(close)) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_c
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= toDate('2015-12-01')
      AND date <= toDate('2025-12-31')
),
rets AS (
    SELECT toYear(date) AS year,
           c / prev_c - 1 AS r
    FROM bars
    WHERE date >= toDate('2016-01-01')
      AND prev_c > 0
)
SELECT year,
       count() AS sessions,
       round(100 * (exp(sum(log(1 + r))) - 1), 1) AS buy_and_hold_pct,
       round(100 * (exp(sumIf(log(1 + r), r < 0.02)) - 1), 1) AS without_big_up_days_pct,
       round(exp(sum(log(1 + abs(r)))), 1) AS hindsight_ceiling_multiple
FROM rets
GROUP BY year
ORDER BY year
Run this yourself

Dari ni kubwa sana. Katika 2020, maarifa kamili ya siku moja kwenye SPY yalinunua mtaji mara 27.7 katika siku 253, dhidi ya 16.2% kwa kushika fundo tu. Katika mwaka wa amani zaidi kati ya kumi, 2017, maarifa yale yale yalirudisha mara 2.2 mtaji.

Safu ya kati inaonyesha jinsi dari ilivyokusanywa. Ondoa siku zilizopata zaidi ya 2%, na 2020 inabadilika kutoka 16.2% hadi -44.9%. Mchirio wenye kuvuja thamani kwa siku chache tu kwa mwaka unaosukuma jaribio la historia mbali sana. Mstari wenye kudondoka kidogo, kiwango kikubwa cha ushindi, na siku zake bora zilikusanywa kwenye siku kali zaidi za soko amestahili ukaguzi.

Urekebishaji ni muhimu zaidi ya kiwango chochote. Kanuni inayodai faida laini ya 40% kwa mwaka katika kipindi kimoja inadai sehemu kubwa ya dari ya maarifa, na swali la heshima ni pembejeo gani ilimwambia nini kitakachotokea.

Jinsi ya kujaribu jaribio la historia kwa ukosefu wa taarifa za baadaye

  • Cheleza kila kitu kwa kibao kimoja. Hamisha kila ishara kipindi kimoja baadaye na uendeshe upya. Upekee halisi huchelea kidogo. Mvujaji hubomolewa, mara nyingi hadi kutokuwepo.
  • Badilisha baadaye. Chukua data baada ya kila muda wa uamuzi, ibadilishe kwa kelele au mpangilio upya, na uendeshe mantiki ya uamuzi upya. Kila uamuzi unapaswa kutoka sawa. Uamuzi wowote unaoeletea umesoma kitu ambacho hangekuwa nacho.
  • Tenda muda kama data. Kwa kila pembejeo, hifadhi wakati thamani ilipatikana karibu na wakati inachoelezea. Muunganisho ambao haulinganishi safu hizo mbili hauwezi kutekeleza kanuni.
  • Jenga upya ulimwengu kulingana na tarehe. Jumuisha majina yaliyoondolewa na kununuliwa, yafunge kwa chapo lao la mwisho, na uendelee na kanuni hiyo katika ulimwengu zote mbili ili kupima mchango wa mwananchi.
  • Pima dhidi ya dari. Weka mapato ya mkakati karibu na nambari ya kununua na kushika na nambari ya maarifa kamili ya kipindi kimoja. Umbali kutoka kwa dari ni muktadha ambao kiwango pekee cha Sharpe hakitoi.

Ukubwa wa nafasi uko chini ya haya yote. Kiwango kilichopita cha ushindi kinachochochea ukubwa wa bet, ambapo Kiwango cha nafasi cha Kelly criterion kinageuza hitilafu ya hesabu kuwa kudondoka. Nidhamu hiyo hiyo inatumika kabla mtaji halisi haijaondoka: majaribio ya karatasi kabla ya pesa halisi inajaribu mfumo wa maagizo, na maduka ya moja kwa moja hubeba hatari hiyo hiyo kwa kasi ya mashine, yamejikita katika mifumo ya biashara ya AI ya wawakilishi wengi. Athari zinazosalia baada ya majaribio makini ya wakati uliopo, kama vile anomaly ya utulivu mdogo, ni za kupendeza kwa sababu hiyo hiyo.

Maswali yanayoulizwa mara kwa mara

Ni nini ukosefu wa taarifa za baadaye katika majaribio ya historia?

Ni matumizi ya data katika biashara ya mfano ambayo haikuwepo wakati biashara ingeweza kuwekwa. Fomu za kawaida ni kufanya uamuzi juu ya kibao cha bei ambacho biashara pia inatekelezwa ndani yake, kuchuja ulimwengu wa kampuni ambazo bado zimeorodheshwa leo, na kusoma nambari ya fedha iliyorekebishwa baada ya tarehe inayobeba.

Jinsi unavyoweza kugundua ukosefu wa taarifa za baadaye?

Cheleza kila ishara kipindi kimoja na uendeshe upya: mvujaji kawaida hubomolewa hali upekee halisi unachelea polepole. Jaribio kubwa zaidi linabadilisha data yote baada ya kila muda wa uamuzi kwa kelele na linaamini kwamba kila uamuzi unatoka bila kubadilika.

Ukweli wa mwananchi ni sawa na ukosefu wa taarifa za baadaye?

Ni tofauti lakini husafiri pamoja. Ukweli wa mwananchi ni sampuli iliyojengwa kutoka kwa majina yaliyodumu, na kujua majina gani yamedumu ni taarifa yenyewe kutoka kwa baadaye, kwa hivyo ulimwengu wa washindi pekee ni mvujaji wa taarifa za baadaye uko katika data badala ya kanuni.

Kwa nini majaribio ya historia yenye ukosefu wa taarifa za baadaye yanaonekana mazuri sana?

Mvujaji unachagua matokeo badala ya kuyatabiri. Katika jopo hapo juu, kuchuja siku kwa bei yake yenyewe ya kufunga ulizalisha faida ya wastani ya siku takriban asilimia 0.455 juu ya toleo la kuchelezwa katika 2016, faida ambayo ni ya ufafanuzi badala ya kujitafutia.

Ni nini data ya wakati uliopo?

Data ya wakati uliopo inahifadhi kila thamani kama ilivyojulikana kwenye kila tarehe ya historia, ikiwa ni pamoja na nambari asilia na kila sahihi ya baadaye, pamoja na ulimwengu wa dhamana ulivyo siku hiyo. Ni rejea ambayo jaribio la historia linahitaji kuonyesha kwamba pembejeo zake zilikuwepo kabla ya maamuzi yake.


Kila nambari hapo juu ni hoji iliyohifadhiwa, yenye toleo juu ya kibao halisi. Panua SQL ya jopo lolote, au uendelee na jaribio la uchelezeaji kwenye kanuni yako mwenyewe kwenye terminali ya Strasmore.

#backtesting#look-ahead bias#survivorship bias#quant#research process