Gå til hovedindhold
Hjem
GrN.dk

Main navigation

  • Artikler
  • Cases
  • Ydelser
  • Din digitale projektleder
  • Om Greg Nowak
  • Billedgalleri
  • Kontakt
User account menu
  • Log ind

Bliv en del af mit community / gratis nyhedsbrev — tilmeld dig her

Brødkrumme

  1. Hjem
  2. Cases

En trading-rig, der tester sine egne strategier hver time — og aldrig afgiver en ordre

Client
GrN.dk — internt projekt
Sector
Kvantitativ research-tooling og automatisering
Periode
Bygget juli 2026 · kører hver time siden 25. juli 2026

At a glance

crypto-dash.grn.dk er det offentlige vindue ind til en strategi-research-rig, der kører på vores egen server og træner sig selv. Hver time backtester den en frisk bunke konfigurationer af handelsstrategier mod femminutters kryptocandles, scorer hver enkelt på data, den ikke blev fittet til, fører et løbende leaderboard, promoverer de konfigurationer, der bliver i toppen, til en simuleret bog — og degraderer dem igen, så snart deres fremadrettede adfærd driver væk fra det, backtesten lovede.

Det er udelukkende paper trading. Installationen har ingen børsnøgler, kalder intet ordre-endpoint og har ingen konto at bruge af. Hvert fill, hver position og hvert P&L-tal på siden er simuleret — og derfor printer siden PAPER ONLY på sig selv, med orange, øverst i hver eneste timelige regenerering.

Kun paper trading — ingen børsnøgler, ingen ordre-endpoints, ingen rigtige penge
Hver time: 600 sekunders backtest-budget over 60 symboler og 30 dages femminutters-candles
649 strategikonfigurationer scoret i riggens første fem timer (26. juli 2026)

The challenge

Domænet havde allerede en lejer. Siden januar 2026 serverede det én håndplukket strategi — en RSI-dip-paperbog, der købte for faste $100 pr. signal og viste det løbende resultat. Den virkede, og den lærte os sin egen begrænsning: én fast strategi fortæller dig næsten ingenting. Den kan ikke sige, om den er god — kun hvad den gjorde.

Det afgørende bevis var et negativt resultat. Den tidligere rigs egen research-runner blev peget på dens foreslåede forbedringer — et stop-gulv, en profitlås efter en fordoblet position, en forsinket entry, recovery-gates efter tab — som et train-and-test-grid med 58 cases. I juli 2026 forkastede griddet dem alle: hver variant kom ud negativ out-of-sample, og den nominelt bedste exit-regel sluttede kun $5.36 foran at gøre ingenting, hvilket ikke er bevis for noget som helst. Intet blev ændret på den live side som følge. Den ærligt bogførte fiasko var det, der satte briefet: hold op med at jagte den rigtige strategi i hånden, og byg i stedet det, der bliver ved med at søge — og som er stringent over for sig selv omkring, hvad det faktisk har fundet.

Tre begrænsninger formede den. Overfitting er standardudfaldet: enhver søgning hen over nok parametre vil før eller siden producere noget, der ser genialt ud på de data, det blev fittet til, og er værdiløst på næste uges. Maskinen står ikke ledig: samme server kører en flåde af produktionssites, mail, backups og andre folks jobs, så et åbent backtesting-loop skulle være en velopdragen nabo frem for noget, der æder maskinen en time ad gangen. Og et selvstyrende handelssystem er præcis den slags software, der ikke i det stille må være koblet til penge — sikkerhedsegenskaben skulle være strukturel, ikke en indstilling nogen kunne komme til at slå til.

The solution

Isolation først, så "kun paper" er et faktum om installationen og ikke et løfte. Riggen kører som sin egen låste systembruger med sin egen klon af vores interne backtesting-engine og sin egen candle-cache — 14,4 millioner rækker, kopieret én gang fra den eksisterende cache og aldrig skrevet tilbage til den. Der er ingen børsnøgler, ingen kodesti, der kan afgive ordrer, og ingen secrets nogen steder under installationen, så der er intet at lække og intet at komme til at armere. Selve service-unitten er sikkerhedsselen: et read-only hjemmekatalog, et hukommelsesloft, en CPU-kvote og lav prioritet, så produktionsjobbene på samme maskine aldrig mærker sweepet køre.

Ét tick i timen, seks faser. Riggen opdaterer sin egen kopi af enginen (puller og geninstallerer kun, når koden faktisk har flyttet sig), fylder op med femminutters-candles for de hundrede største USDT-par målt på volumen, kører et budgetteret strategi-sweep, kører paper-runden, regenererer den offentlige side og skriver en struktureret loglinje. En fejl i én fase afbryder aldrig resten: fejl opsamles som former — fase plus exception-type — og hver form mailer administratoren højst én gang i døgnet, så længe den består.

Sweepet er budgetteret, ikke udtømmende. Hver runde får 600 sekunders vægur og et hårdt loft på 400 konfigurationer, evalueret over et 30-dages vindue kvantiseret til hele dage, hvor de sidste 30 % holdes tilbage som out-of-sample, og hvor realistisk kurtage og slippage betales på hver side. Kandidaterne kommer fra tre steder, vævet sammen så eksplorationen aldrig sultes: de kuraterede baseline-strategier, ét-skridts parameternaboer til de aktuelle topscorere og rene tilfældige kombinationer. Ranking-scoren er out-of-sample-robusthed minus en overfit-straf — en konfiguration, der blænder in-sample og snubler out-of-sample, scorer dårligere end en kedelig én, der gør ingen af delene.

Leaderboardet er hukommelsen — og også genoptagelsespunktet. Hvert resultat er én række nøglet på konfiguration og vindue, committet i det øjeblik det lander. En konfiguration gentestes aldrig på et vindue, den allerede er scoret på, så viden akkumuleres i stedet for at blive genberegnet; løber budgettet tør midt i en runde, kommer det, der ikke blev nået, simpelthen igen næste time — uden nogen kø-tilstand at vedligeholde. Hver ny dag er et nyt vindue, så hele fronten scores automatisk igen mod friske data.

Promotion er bevidst langsom, og degradering er bevidst hurtig. En konfiguration kommer kun ind i paperbogen, hvis den har holdt top fem i tre timelige tjek i træk, er scoret på mindst to forskellige sweep-vinduer og bærer en ikke-negativ score — med et loft på seks aktive strategier og en cooldown på 48 timer, før noget degraderet kan vende tilbage. Efter promotion følges den fremadrettede performance mod backtestens egen forventning, og fire separate regler trækker strategien ud igen: et drawdown-brud uanset alder, en hård afvigelse fra forventningen, når en håndfuld handler er lukket, et smallere forventningsbånd efter to dages evidens og et absolut dagligt gulv. Hver promotion, degradering og re-forankring gemmes som en hændelse, så optegnelsen over, hvad riggen troede og hvornår, er komplet.

Simulerede fills afspilles igen — de akkumuleres ikke. At promovere en strategi fryser en ankerbar og et symbolsæt; hvert tick kører derefter den deterministiske backtest igen fra ankeret og folder nyligt lukkede handler ind i en fills-hovedbog under stabile nøgler. Fordi samme anker over uforanderlig candle-historik altid producerer de samme handler, vokser hovedbogen kun i halen — et tick, der dør halvvejs, kan ikke korrumpere den, og intet skal serialiseres mellem kørsler. Positioner, der stadig er åbne, rapporteres som et snapshot med urealiseret P&L og tælles aldrig som fills.

Den reparerer sig selv — og beder skriftligt om hjælp. Forbigående børs-hikke prøves igen med backoff, før noget kaldes en fejl; en sweep-runde, der overskrider sit budget, halverer næste rundes tildeling og tjener den gradvist tilbage over rene runder. Når en fejlform alligevel overlever flere ticks i træk — eller en paper-strategi auto-pauses, fordi den opfører sig helt anderledes end sin backtest — skriver pipelinen en incident-fil, og en privilegeret drainer omsætter ventende incidents til ét dedupikeret kort på det Trello-board, vores AI-agent arbejder på. Riggen har med vilje ingen credentials til selv at oprette kortet med; den efterlader en seddel, og agenten, der læser boardet, undersøger og reparerer.

Dashboardet er bevidst dumt. Den offentlige side er ren HTML regenereret fra SQLite-tilstanden, uden nogen imports fra trading-enginen overhovedet og med en atomisk skrivning på plads, så den bliver ved med at fortælle sandheden om den senest kendte tilstand — selv på et tick, hvor selve enginen er i stykker. En daglig digest-mail dækker det samme for dem, der ikke kigger på siden: testede konfigurationer, leaderboard-bevægelser siden i går, promotions og degraderinger samt paper-P&L.

The results

Hvad der findes: et selvstyrende research-loop, der kører ubemandet på egen hardware, med en offentlig statusside på crypto-dash.grn.dk, der regenereres hver time. I sine første fem timer scorede det 649 forskellige strategikonfigurationer hen over elleve sweep-runder, akkumulerede 715 leaderboard-rækker over to evalueringsvinduer og promoverede tre konfigurationer til paperbogen — alle tal aflæst af den live side og databaserne den 26. juli 2026, og alle voksende time for time siden.

Hvad det ikke har bevist, sagt ligeud: paperbogen har nul lukkede fills og et resultat på præcis $0.00. De tre promoverede konfigurationer bærer en out-of-sample-backtestforventning på cirka +0,04 % om dagen over 30-dages-vinduet, der slutter 26. juli 2026 — det er en forventning, riggen netop har sat sig for at modbevise over de kommende dage, ikke et afkast, nogen har tjent. Der er ingen live-money-performance at rapportere her, for der er ingen rigtige penge — og det bliver der ikke, før ejeren udtrykkeligt beslutter andet. Intet på siden er investeringsrådgivning, en signaltjeneste eller forbundet til en børskonto.

Den skelnen er den egentlige leverance. Det værdifulde i dette projekt er ikke et tal; det er en rig, der producerer tal med kendt proveniens — held-out-data, en eksplicit overfit-straf, promotion gatet på persistens hen over vinduer frem for én heldig runde, og automatisk degradering i det øjeblik den fremadrettede adfærd er uenig med backtesten. Forgængerens mest nyttige output var et grid, der sagde "ingen af dine idéer virker", og dette system er bygget til at blive ved med at sige det, når det er sandt.

Det er også en demonstration af, hvordan arbejdet blev udført: det hele kom af et Trello-board ét kort ad gangen — scaffold, sweep, paper-promotion, synlighed, self-heal — hvert samlet op, bygget, testet og deployet af en AI-agent, der arbejder boardet igennem, og hvor self-heal-fasen lukker cirklen ved selv at oprette kort tilbage på samme kø, når noget går i stykker.

Kun paper trading — aldrig rigtige ordrer.

Badget, riggen selv printer på sit dashboard — hver time

Got a project that needs the same kind of hands-on delivery?

Your digital project manager

Anmeld Greg på Google

Greg Nowak Google-anmeldelser

 

Skriftlige anbefalinger fra Trafik og Veje, Aarhus Kommune (2011) og AgroTech (2010) — læs dem på LinkedIn.

Illustrated infographic summarizing: OpenAI File Search: Interne dokumenter kræver governance, før du kan stole på dem
OpenAI File Search: Interne dokumenter kræver governance, før du kan stole på dem
2026-08-18

OpenAI File Search gør retrieval let at demonstrere, men produktion kræver opryddede dokumenter, metadata, en gennemtænkt vector store-struktur, regler for udløb og omkostningsstyring.

Illustrated infographic summarizing: Fra leverandørfaktura til bogføring: AI med en kontrolpost
Fra leverandørfaktura til bogføring: AI med en kontrolpost
2026-08-18

AI kan lette arbejdet med leverandørfakturaer, men sikker bogføring kræver validering, dubletkontrol, godkendelse og et tydeligt kontrolspor.

Flere artikler
RSS feed

Footer

  • Alle artikler
  • Kontakt

GrN.dk — AI-automatisering, webplatforme, weboptimering, datahåndtering og logistik.

© 2026 GrN.dk · LinkedIn · Kontakt · AI-automatisering på dansk: nowa.dk

Bag GrN.dk: Individual Entrepreneur Codecrafter · Tax ID 305669096 · Bakhtrioni St. 22, 0194 Tbilisi, Georgien · officielt virksomhedsregister