14 noiembrie 2026 · cercetare

Backtestul tău a tranzacționat de Vinerea Mare. Piața de acțiuni, nu.

Backtestul tău a tranzacționat de Vinerea Mare. Piața de acțiuni, nu.

Joi, 2 aprilie, 16:02 Eastern. Cartea de paper arăta exact cum o proiectasem: long circa $240,000 pe perpetualul BTCUSDT, short pe un coș ponderat cu beta din COIN, MSTR, MARA și RIOT, rezidual sub $500. Jobul de hedge de vineri rulase la 15:45 săptămâna precedentă. Funding-ul de la 16:00 UTC fusese o eroare de rotunjire. M-am deconectat cu gândul că, în sfârșit, aveam un sleeve crypto care nu recrea doar beta-ul Nasdaq.

Vinerea era Vinerea Mare. Mi-am dat seama abia pentru că chatul de crypto tot punea screenshot-uri cu lichidări, iar chatul de acțiuni tăcuse în felul acela precis care înseamnă că nimeni nu e pe scaun. NYSE și Nasdaq erau închise. Binance, nu. De la close-ul cash de joi până vineri la 16:00 Eastern, perp-ul era jos 4.8%. Short-urile pe acțiuni nu existau ca piață în ziua aceea. Erau un rând de prețuri de joi într-un panou de risc.

Botul de risc a postat oricum.

beta față de coșul de hedge: 0.04. rezidual 1d: −$11,184. status: NEUTRAL

Încă am screenshot-ul ăla. Un coleg l-a printat și l-a lipit pe frigiderul din biroul pe care abia îl folosim. Verdele NEUTRAL muncea din greu. Botul calcula beta din ultimele printuri pe acțiuni pe care le avea, care erau auction-ul de închidere de joi, față de un mark BTC care se mișcase de douăzeci și patru de ore. Un mark înghețat e o fotografie de joi. Să numești fotografia un hedge e felul în care ajungi în weekendul de Paște cu o poziție crypto descoperită și un raport care te felicită pentru asta.

Luni s-a deschis piața cash. Coșul a făcut gap în jos, dar nu 4.8%, și nu împreună. COIN a deschis −2.1%. MSTR a făcut mai mult. MARA a făcut mai puțin. Am petrecut dimineața tranzacționând într-o carte care trăise o sesiune întreagă în plus pe care n-o putusem hedga, apoi am scos backtestul care binecuvântase designul ăsta și i-am pus o întrebare obraznică. Ce-ai făcut Vinerea Mare trecută, și pe cea dinainte, și în fiecare zi lucrătoare în care piața de acțiuni a stat deoparte în timp ce BTC se tranzacționa prin sărbătoare?

Agentul de research care a scris prima versiune resample-ase totul pe bare de 15 minute și făcuse forward-fill. Pandas freq='B' era în notebook, ceea ce pare o alegere de om mare până îți amintești ce face de fapt. 'B' înseamnă de luni până vineri. Vinerea Mare e o vineri. Juneteenth 2026 a fost o vineri. Observarea Zilei Independenței a fost o vineri. Funcția de calendar nu avea un calendar. Avea un filtru de zile ale săptămânii.

Jobul de hedge rulează vinerea la 15:45 Eastern, o oră rezonabilă ca să tranzacționezi spre close-ul cash într-o săptămână normală. Vinerea Mare e întotdeauna o vineri. În fereastra 2023–2026, jobul s-a aliniat cu patru Vineri Mari, Juneteenth, închiderea completă din 3 iulie și patru sesiuni din ziua de după Ziua Recunoștinței care bătuseră deja clopotul la 1:00 PM. Zece sesiuni de vineri. În fiecare dintre ele simulatorul acceptase ordine pe acțiuni. Fill-urile erau close-ul de joi, sau ultimul print regulat de vineri purtat înainte, deghizate în tranzacții live în blotter. Mark-urile crypto rulau live. Seria reziduală a primit credit pentru mișcări de hedge pe care un picior n-a avut nicio șansă să le răspundă.

10sesiuni de vineri în care piața cash nu era deschisă pentru rebalansare
4.8%mișcarea perp-ului cât timp hedge-ul pe acțiuni stătea pe printul de joi
1.14 → 0.61Sharpe-ul rezidual după ce calendarul de sesiuni a fost real

Weekendurile erau același bug pe un program despre care măcar glumisem la o bere. Sărbătorile erau varianta despre care nimeni nu glumea, pentru că notebook-ul spunea zile lucrătoare, iar Vinerea Mare încă se simte, visceral, ca o zi în care sistemul financiar adult e la treabă. Băncile sunt deschise. Fedwire e sus. Un API de broker poate părea treaz și totuși să n-aibă unde să trimită un ordin pe COIN.

Vinerea Mare nu e o sărbătoare federală. Dacă verificarea de sesiune e „e calendarul bancar oprit”, vei tranzacționa o piață de acțiuni închisă. Ziua lui Columb e imaginea în oglindă: acțiunile cash deschise, piața de bonduri închisă. Orele de venue sunt o cheie de join, nu un vibe.

Închiderile anticipate erau mai tăcute și, în blotter, mai obraznice. Pe 28 noiembrie 2025, a doua zi după Ziua Recunoștinței, NYSE s-a închis la 1:00 PM. Jobul nostru s-a trezit tot la 15:45, s-a uitat la o serie de 15 minute care ducea ultimul print de la 12:59 de aproape trei ore și „a tranzacționat close-ul”. Modelul de fill ne-a taxat până și slippage de auction de închidere. Nu a existat auction la 16:00. Auction-ul avusese loc la 13:00, fără noi. Paper-ul, în după-amiaza aia, a avut eșecul mai cinstit: ordine noi respinse, ordine active anulate în închiderea anticipată, o rată de fill de zero.

SesiunePiața cashFill în backtestPaper
Vinerea Mare 2026Închisă toată ziuaCoșul umplut la close-ul de joiRespingeri; mark-uri stale de joi
Juneteenth 2026Închisă toată ziuaAcelași job de vineri, aceleași fill-uri fantomăPrins mai târziu, în replay
3 iulie 2026Închisă (4 iulie observată)Vineri 15:45 pe un print de joiNicio sesiune cash de prins
28 nov. 2025Închidere 1:00 PMRebalansare 15:45, ultimul print 12:59, slippage de auctionRespingeri după 13:00
Sâmbătă obișnuităÎnchisăBare de acțiuni cu forward-fill, perp liveNume înghețate, perp live

Am rulat din nou cartea cu un fișier de sesiuni per venue: program regulat, sărbători, închideri anticipate, close-ul 16:00 vs 13:00 și un contor de ore stale pe fiecare mark. Ordinele într-o sesiune cash închisă nu primesc fill la last. Se resping. Panoul de risc n-are voie să afișeze NEUTRAL dacă vreun picior de hedge e stale de mai mult de câteva ore. Unit testul e urât și îmi place: iei o vineri normală, o pictezi închisă, asertezi zero fill-uri pe COIN și un flag stale pe coș. Apoi pictezi 13:00 ca close și asertezi că jobul de 15:45 nici măcar nu se uită la modelul de auction.

Sharpe-ul rezidual a trecut de la 1.14 la 0.61. Nu tratez niciunul dintre numere ca pe un motiv de a tranzacționa. Tratez decalajul ca pe o mărturisire. Mult din ce numeam rezidual de hedge era volatilitate crypto de sărbătoare, strânsă în zilele în care piciorul short pe acțiuni era un suvenir al sesiunii precedente. Weekendurile au făcut și ele o parte din treaba asta, pe care o treceam deja cu discount în conversație. Sărbătorile se ascundeau în resample-ul pe zile lucrătoare, un loc mult mai jenant în care să te ascunzi.

Încă rulăm jobul de vineri de la 15:45. Acum citește un fișier cu douăsprezece rânduri pentru 2026, două dintre ele încă nu s-au întâmplat. Ziua Recunoștinței e pe 26. A doua zi, piața cash moare la 13:00. Am băgat close-ul ăla de 1:00 PM în calendar de două ori, sub două nume diferite, pentru că nu am încredere în mine în noiembrie și pentru că pandas tot va numi cu plăcere vinerea aia o zi lucrătoare dacă îl las.

sărbătorimulti-assetcryptoacțiunibacktesting
← Toate articolele