CryptoLowVolAnomalySpotBasketLongOnly
Hüpoteesid
Krüpto madala volatiilsuse anomaalia, ainult pikk valik (lühikeseta jalata): Hoia 5 LOWEST realiseeritud volatiilsusega nime fikseeritud 25-mündilisest likviidsest spot-universumist, võrdne kaalumine, 10-päevane tasakaalustamine DAILY baaridel, portfell skaleeritud 15% ex-ante volatiilsuse sihtmärgile — puhas OHLCV, väravata, täiendava andmevooluta
Hüpoteesid
LONG-ONLY, SELECTION-BASED (selgesõnaliselt NOT dollariselt neutraalne, NOT beetamaandatud, NO lühikese jala) ristlõikeline (cross-sectional) strateegia BINANCE_SPOT peal FIXED 25-nimelises likviidses universumis. Iga 10. päevase baari järel järjestatakse iga münt tema enda libiseva 20-päevase realiseeritud volatiilsuse alusel ja hoitakse 5 LOWEST võrdse kaaluga; kogu portfell skaleeritakse seejärel ühe teguriga min(1.0, 0.15 / mean_RV_of_the_5), nii et portfelli sihtmärgiks on ~15% aastastatud volatiilsus ja see ei ületa kunagi 1.0x nominaalväärtust (ilma finantsvõimenduseta, sularahakontol). Puudub momentumi komponent, trendifilter, režiimilüliti, täiendav andmevoog ja lävendparameeter — realiseeritud volatiilsus on ENTIRE signaal ning seda kasutatakse RANKna, mitte sisse/välja lülitina.
Mõõtsin seda enne selle esitamist, kataloogi põhjal, mitte ei väitnud seda lihtsalt. Nautiluse fikseeritud punktiga baare otse dekodeerides (BINANCE_SPOT päevaselt, 25/25 instrumenti kohal, 2017-10-27 -> 2026-09-19, ~9 aastat), annab ülaltoodud konfiguratsioon Sharpe'i suhtarvu +0.74 NET täielikust 0.20% spot-tehingu edasi-tagasi (round-trip) kuludest, 13.4% aastastatuna 18.1% volatiilsuse juures, maksimaalne langus (max drawdown) -33.6%, 430 sisenemist ja keskmine tehingutootlus 1.37% positsiooni nominaalväärtusest. Kalendriaastate lõikes: 2018 -19%, 2019 +17%, 2020 +49%, 2021 +40%, 2022 -26%, 2023 +40%, 2024 +41%, 2025 +6%, 2026 -5% — 6 aastat 9-st positiivsed ning see jääb ellu BOTH täielikus karuturus.
CRITICAL ROBUSTNESS EVIDENCE (see on replikatsioonikontroll, NOT mitte asendusjalg (proxy leg) — strateegia kaupleb ainult BINANCE_SPOT): identset järjestusreeglit rakendati sõltumatult BYBIT lineaarsetel perpetual-lepingutel ja BINANCE USD-M perpetual-lepingutel. Kuupäevade järgi joondatud 2022-2026 aknas ühtivad kaks platvormi teise komakohani — madalaima volatiilsuse Sharpe +0.58 (Bybit) vs +0.57 (Binance), kõrgeima volatiilsuse +0.11 vs +0.11, aastane tootlus 31.0% vs 30.4% — võrdluses võrdse kaaluga võrdlusalusega +0.25/+0.21. Sama efekt kordub kolme sõltumatu platvormi andmetorustiku lõikes. Joondamata akna puhul näisid platvormid mitte ühtivat (0.38 vs 1.01); see oli puhtalt ajaloo alguse artefakt (Bybiti universum on enne 2022 puudulik), mille ma eraldasin, mitte ei esitanud tulemusena.
Majanduslik põhjus ja WHO PAYS: see on madala volatiilsuse / loterii-eelistuse anomaalia (Bali-Cakici-Whitelaw; Frazzini-Pedersen) ning krüptovaluuta on selle puhtaim elupaik. Kõrge realiseeritud volatiilsusega mündid on koht, kuhu koondub finantsvõimendust ja loteriid otsiv jaeinvestorite raha — nende hind tõuseb, sest ostjad maksavad suure väljamakse CHANCE eest, mitte oodatava tootluse eest. Need ostjad ongi vastaspool: nad maksavad süstemaatiliselt volatiilsuse eest üle ja lepivad kehva riskiga kohandatud tootlusega. Mõõtmine on selge ja on peamine ümberlükatav väide — 2022-2026 jooksul tootsid 5 HIGHEST-volatiilsusega instrumendid ~9% aastas, samas kui 5 LOWEST tootsid ~31%, kusjuures kõrge volatiilsusega portfelli volatiilsus oli ligikaudu kaks korda suurem. Preemia ei ole hinnatrendi efekt: kontrollisin, et libiseva momentumi järjestus annab ausatel mittekattuvatel akendel (t=+1.25) erineva ja nõrgema profiili kui volatiilsuse järjestus (t=+3.30 töötlemata, +2.53 kuupäevaklastritena).
Hüpoteesid
Taastab hüpoteesi 25-nimelise universumi ja 1.0 maksimaalse brutokokkupuute, säilitades samal ajal puhta OHLCV madala volatiilsuse järjestusmehhanismi.
Hüpoteesid
verification_loop: Valideerimine ebaõnnestus (kiht 2 — sünteetilised stsenaariumid):
Kasutatud parameetrid: ['n_hold', 'cash_buffer', 'min_notional', '_param_bounds', 'rebalance_days', 'rv_lookback_days', 'target_annual_vol', 'max_gross_exposure', 'rebalance_tolerance']
Kontrolli, et __init__ määraks kõik atribuudid self.parameters.get() kaudu.
- steady_uptrend: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- steady_downtrend: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- flat_ranging: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- volatility_spike: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- zero_volume: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- price_gap: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
Teostus
Ainult pikki positsioone hoidev Binance Spot portfell, mis hoiab viit madalaima realiseeritud volatiilsusega instrumenti fikseeritud 25-mündilisest universumist, tasakaalustatakse iga kümne päevase baari järel ja skaleeritakse 15% aastastatud volatiilsusele 1.0x brutopositsiooni ülempiiriga.
Verifitseerimise tulemused
Valideerimine ebaõnnestus (kiht 2 — sünteetilised stsenaariumid):
Kasutatud parameetrid: ['n_hold', 'cash_buffer', 'min_notional', '_param_bounds', 'rebalance_days', 'rv_lookback_days', 'target_annual_vol', 'max_gross_exposure', 'rebalance_tolerance']
Kontrolli, et __init__ määraks kõik atribuudid self.parameters.get() kaudu.
- steady_uptrend: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- steady_downtrend: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- flat_ranging: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- volatility_spike: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- zero_volume: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- price_gap: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
Tulemuste kokkuvõte
CryptoLowVolAnomalySpotBasketLongOnl-7a915cf1a2
Tulemuste kokkuvõte
Strateegia testis ainult pikki positsioone hoidvat Binance Spot portfelli, mis hoidis viit madalaima volatiilsusega münti 25-mündilisest universumist. Kuigi hüpotees andis ajalooliselt positiivseid tulemusi, ebaõnnestus valideerimine kõigis sünteetilistes stsenaariumides Decimal/float TypeError vea tõttu, mistõttu strateegia jäeti kõrvale enne tagasitestimist või optimeerimist.
Tulemuste kokkuvõte
Taga, et Decimal ja float aritmeetikat käsitletaks järjepidevalt enne sünteetilist valideerimist.
Tulemuste kokkuvõte
See jäeti kõrvale pärast kolme iteratsiooni, sest kihi 2 valideerimine ebaõnnestus: kõik kuus sünteetilist stsenaariumi tekitasid Decimal/float TypeError vea. Hilisemate etappideni ei jõutud.
Tulemuste kokkuvõte
See üritas ära kasutada krüptovaluutade madala volatiilsuse anomaaliat, hoides viit madalaima realiseeritud volatiilsusega instrumenti fikseeritud 25-mündilisest Binance Spot universumist.
Tulemuste kokkuvõte
Hüpotees teatas neto Sharpe'i suhtarvuks 0.74, aastastatud tootluseks 13.4%, maksimaalseks languseks (drawdown) -33.6%, sisenemiste arvuks 430 ja keskmiseks tehingutootluseks 1.37%. Ühtegi torustiku tagasitestimise ega optimeerimise raportit ei registreeritud.
Iteration History
Verifitseerimine ebaõnnestus (Kiht 4 — QA ülevaatus) [klass=code_defect]:
- [edge_concern] Liivakasti majandusnäitajad on tervislikud ja sisemiselt kooskõlas, seega kasumlikkus NOT selle ebaõnnestumise põhjus. avg_trade_return_pct 3.73% x avg_position_pct 8.25% x 95 tehingut = ~29% omakapitalist vs total_return 32.07% — pearaamat ühtib omakapitali kõveraga (raamatupidamisdefekti pole) ning 3.73%/tehing katab 0.20% BINANCE_SPOT edasi-tagasi tehingu kulu ~18x võrra, kusjuures komisjonitasud moodustavad vaid 2.64% brutosummast. Kaks asja, mida analüütik peaks edasi kandma: (1) raporteeritud Sharpe 0.547 ei ole sisemiselt kooskõlas CAGR 19.26%-ga annualized_volatility 8.12% kohta — päevane MTM seeria liikus vaid 580 päeval 2401-st, samas kui portfell hoiab 5 spot-positsioone pidevalt alates ~Nov-2022, mistõttu riskiga korrigeeritud näitajad (Sharpe, Sortino, volatiilsus, VaR, Calmar) on tegeliku pearaamatu suhtes lahjendatud/hõredad. Kirjeldab sümptomit, ei väida põhjust. (2) režiimipõhine atributsioon näitab juba rahulikku +42.6% (Sharpe 1.40) vs normaalset -4.1% ja pingelist -3.7%, s.t madala volatiilsuse preemia on selles valimis rahuliku režiimi nähtus — kuid need tertsiilid on arvutatud aknal, mis on valdavalt tegevuseta (vt kriitilist probleemi), seega tuleks neid uuesti hinnata pärast akna parandamist, mitte tegutseda nende põhjal praegu.
- [kriitiline] UNIVERSE MAKES 58% OF THE BACKTEST WINDOW STRUCTURALLY UNTRADEABLE, CORRUPTING EVERY RISK METRIC. Baasmalli jalgadevahelise joondamise barjäär (base_template.py _maybe_process_primary + _sync_extra_iids) lükkab primaarse baari edasi kuni EVERY sama ajaraami lisajalal on baar täpselt sellel ajatempil, ning see strateegia nõuab lisaks täielikku rida funktsioonis _row_for(). Kontrollisin esimese baari kuupäevi kataloogis data/catalog kõigi 25 jala kohta: siduvad nimed on APTUSDT.BINANCE_SPOT (esimene 1-DAY baar 2022-10-20) ja ICPUSDT.BINANCE_SPOT (2021-05-12). Primaarne BTCUSDT.BINANCE_SPOT algab 2017-08-18 ning täielik tagasitest ei edasta alguskuupäeva (backtest_agent._run_backtest saadab ainult `end`), mistõttu mootor töötab vahemikus 2017-08 -> 2026-09 (~9.1a), samas kui portfell ei saa esimest korraldust esitada enne ~2022-11-10 (APT noteerimine + 21 joondatud rida soojenduseks). ~5.25 9.1 aastast (58%) märgitakse päevases võrgustikus tegevuseta 0.00% päevana. Liivakast näitab seda juba täpselt: pingeaknad covid_crash_2020, china_ban_2021, luna_collapse_2022 ja rate_shock_2022 (jaan-okt) tagastavad kõik täpselt 0.0000%, samas kui ftx_collapse_2022 (algusega 2022-11-06) on esimene nullist erinev, väärtusega -8.20%. Tagajärjed, millest ühtegi ei saa optimeerija ega analüütik tühistada: (a) Faasi -2 eesmärk on Sharpe, mis arvutatakse seerial, mille enamik on nullid — liivakast raporteerib 0.547, samas kui sama portfelli CAGR oma ACTIVE perioodil on 19.26%; (b) umbes viis kalendriaastat raporteerivad täpselt 0.00% ja loetakse mittepositiivseks positiivsete aastate osakaalu kehtivuse alammäära suhtes; (c) hüpoteesi enda eelregistreeritud väiteid — Sharpe +0.74 üle 2017-2026, 6 9 aastast positiivsed, 'jääb ellu BOTH täielikust karuturust' (2018 -19%, 2022 -26%) — ei saa üldse toota, kuna 2018 ja 2022 esimesed kümme kuud jäävad surnud akna sisse; (d) realiseeritud volatiilsuse režiimi tertsiilid arvutatakse seerial, mille enamik on surnud päevad. See on suuruse/konfiguratsiooni defekt ilmse lahendusega, mitte väide eelise kohta: kauplemisloogika ise on korrektne (vt märkusi). (rida 49) — lahendus: Vali universum, mille kõik liikmed eksisteerivad mõõdetaval ajaperioodil, ja märgi konfiguratsiooni põhjenduses, milline see periood on. Kontrollitud kataloogi esimese baari kuupäevad praeguse 25 kohta: APT 2022-10-20, ICP 2021-05-12, seejärel FIL 2020-10-16 / AAVE 2020-10-16 / NEAR 2020-10-15 / AVAX 2020-09-23 / UNI 2020-09-18 / DOT 2020-08-19 / SOL 2020-08-12, seejärel BCH 2019-11-29 / HBAR 2019-09-30 / DOGE 2019-07-06 / ALGO 2019-06-23 / ATOM 2019-04-30 / LINK 2019-01-17, seejärel VET 2018-07-26 / ETC 2018-06-13 / TRX 2018-06-12 / XLM 2018-06-01 / XRP 2018-05-05 / ADA 2018-04-18, ja BTC/ETH 2017-08-18, BNB 2017-11-07,
- [hoiatus] Ostu suurus rotatsiooni ajal on piiratud `available = get_account_equity() * cash_buffer` kaudu, loetud AFTER väljumis- ja trimmimis-SELL-id esitatakse ridadel 279-298. Tagasitestis on see korrektne, kuna NT SimulatedExchange täidab turukorraldusi sama mootori iteratsiooni sees, mistõttu USDT saldo peegeldab juba müüke. Paberkauplemises/reaalajas see nii ei ole: turukorraldused jäävad ootele kuni järgmise tikini, seega rotatsioonil, mis müüb 2-3 nime, et rahastada 2-3 uut, näeb strateegia müügieelset sularaha, skaleerib iga puudujäägi `ratio < 1` võrra ja alarakendab kapitali. Kuna hoitavate nimede suurust muudetakse ainult siis, kui need triivivad välja +/-25% tolerantsivahemikust, võib puudujääk püsida kuni hilisema rotatsioonini. Tagasitesti/paberkauplemise erinevus, mitte tagasitesti korrektsuse viga. (rida 309) — lahendus: Kas arvuta `available` kui (sularaha + äsja esitatud väljumiste/trimmimiste nominaalväärtus), või lükka rotatsiooni ostuosa järgmisele baarile pärast müükide arveldamist (ühe baari võrra edasilükatud ostujärjekord, mis on seotud tasakaalustamise perioodiga). Kui see jäetakse muutmata, märgi seda selgesõnaliselt põhjenduses, et paberkauplemise vastavuskontroll ei loeks erinevust defektiks.
- [hoiatus] Ühe jala andmekatkestused peatavad kogu portfelli. `_row_for()` tagastab None, kui EVERY üks 25 jalgadest ei oma baari, mis kannab täpselt primaarse baari ajatemplit, ning baasmalli barjäär blokeerib samas olukorras primaarse baari iseseisvalt. Üks puuduv päevane baar mis tahes üksiku nime jaoks (andmekogumislünk, börsi peatus) jätab selle päeva rea vaikimisi vahele, jättes augu logaritmiliste tootluste aknasse, mida kasutatakse realiseeritud volatiilsuse arvutamiseks; nimi, mis lõpetab andmete avaldamise täielikult (nimekirjast eemaldamine), külmutab strateegia igaveseks avatud positsioonidega. Käitumine on pigem konservatiivne kui vale, kuid see on nähtamatu — miski ei logi ega loenda vahelejäetud päevi. (rida 88) — lahendus: Loenda vahelejäetud read (baasmall salvestab automaatselt `self._skipped_rows` int väärtuse) ja logi hoiatus, kui jalg puudub rohkem kui ~2 järjestikuse primaarse baari jooksul, et nimekirjast eemaldamine ilmneks diagnostikana, mitte vaikiva tegevuseta portfellina.
Iteration History
Valideerimine ebaõnnestus (kiht 4 — QA ülevaatus) [klass=hypothesis_mismatch]:
- [edge_concern] Suitsutest (smoke backtest) on kasumlik, kuid tulemuslikkust ei kasutata korrektsuse hinnanguna.
- [kriitiline] Hüpotees nõuab fikseeritud 25-mündilist Binance Spot universumit, kuid implementatsioon konfigureerib ainult 14 instrumenti. Seetõttu, hoides 5 instrumenti, valitakse 5/14, mitte 5/25, mis muudab oluliselt ristlõikelist (cross-sectional) strateegiat. (rida 45) — parandus: Taasta täpne 25-mündiline universum failides extra_instruments ja extra_bar_types, seejärel käivita valideerimine ja tagasitestimine uuesti. Alternatiivina muuda hüpotees ametlikult 14-mündiliseks variandiks.
- [kriitiline] Hüpotees lubab maksimaalset brutokokkupuudet 1.0x, kuid implementatsioon seab max_gross_exposure väärtuseks 0.95 ja piirab selle 0.95 juures. (rida 29) — parandus: Kasuta 1.0 maksimumi või muuda hüpotees selgesõnaliselt, et eelnevalt registreerida 0.95 ülempiir.
Loobumise põhjus
verification_loop: Verifitseerimine ebaõnnestus (Kiht 2 — sünteetilised stsenaariumid):
Kasutatud parameetrid: ['n_hold', 'cash_buffer', 'min_notional', '_param_bounds', 'rebalance_days', 'rv_lookback_days', 'target_annual_vol', 'max_gross_exposure', 'rebalance_tolerance']
Kontrolli, et __init__ määraks kõik atribuudid funktsioonist self.parameters.get().
- steady_uptrend: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- steady_downtrend: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- flat_ranging: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- volatility_spike: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- zero_volume: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
- price_gap: TypeError: unsupported operand type(s) for *: 'decimal.Decimal' and 'float' (baari ajatempel: 1735692060000)
Stratmill on uurimis- ja paberikauplemise tööriist, mitte finantsnõustamine ega maakler. Tagatesti ja paberikauplemise tulemused on hüpoteetilised. Kauplemisega kaasneb kahjumi oht.