Het AI-agentteam en het onderzoeksproces
Gespecialiseerde Stratmill-agents geven elke strategie door volgens een vaste reeks fasen, met controles ertussen.
Het agententeam
De Research Lead schrijft hypothesen. De Strategy Developer codeert die als NautilusTrader-strategieën. De QA Agent controleert de code op juistheid. De Strategy Analyst beoordeelt de resultaten van backtests en optimalisaties en beslist wat de volgende stap is. De Risk Officer controleert de veiligheid van een strategie voordat deze wordt gepromoveerd. De Portfolio Manager beslist over promotie en allocatie binnen de volledige portefeuille.
Ter ondersteuning voert de backtest-engine elke backtest en optimalisatie uit met realistisch gemodelleerde kosten, houdt de data-engineer de marktdatacatalogus compleet, stelt de Library Refiner bij elke iteratie van een strategie onderbouwde verbeteringen uit de Knowledge Library voor en zet de exporter strategieën over naar andere platforms.
Fasen in volgorde
Een run doorloopt de fasen coderen, verifiëren, backtesten, backtest beoordelen, optimaliseren en analyseren. Vanuit analyseren kan de run terugkeren naar coderen voor een iteratie, teruggaan naar de Research Lead voor een herziene hypothese, worden afgebroken of doorgaan naar risicobeoordeling, promotie en paper trading. Latere fasen worden eerst verwerkt, zodat verificatie en backtesting nooit achter een wachtrij met nieuwe code blijven staan.
Verificatielagen
Code wordt geverifieerd voordat deze op de volledige historie wordt uitgevoerd. Een inzending die identiek is aan de vorige iteratie, mislukt meteen. Een consistentiecontrole bevestigt dat de code handelt op het handelsplatform en in het instrument die in de hypothese zijn vermeld. Statische analyse controleert de structuur en vereiste methoden en verbiedt toegang tot bestanden, netwerken en het systeem, evenals manieren om toekomstige gegevens uit te lezen.
Vervolgens worden synthetische tests uitgevoerd op gegenereerde markten (opwaartse trend, neerwaartse trend, vlakke markt, een piek in de volatiliteit, nulvolume en een koershiaat, plus ontbrekende aanvullende gegevens wanneer de strategie die gebruikt) in een geïsoleerde sandbox. Een korte sandbox-backtest op recente echte koersbalken moet minstens één transactie opleveren. Tot slot controleert de QA Agent de logica aan de hand van de hypothese: voorkennis van toekomstige gegevens, signaalrichting, positiegrootte, regels van het handelsplatform en schema's. QA beoordeelt de prestaties niet.
Wanneer verificatie mislukt
Bij een mislukking gaat de run met de bevinding terug naar de developer. Na 3 mislukte pogingen wordt de run afgebroken. Een regel die nooit wordt geactiveerd, of een vereiste waaraan de developer niet kan voldoen, gaat in plaats daarvan terug naar de Research Lead voor een herziene hypothese. Mislukkingen die door het platform zelf worden veroorzaakt, worden opnieuw geprobeerd en tellen nooit mee voor de strategie.
De twee beslissingen van de analist
Na de eerste backtest beslist de analist of de strategie wordt geoptimaliseerd, verder uitgewerkt, de hypothese wordt herzien of het idee wordt opgegeven. Zo worden uren aan optimalisatie alleen besteed aan ideeën met een echt signaal. Een levensvatbaarheidscontrole toetst de beslissing aan de cijfers: een strategie met voldoende transacties en een gemiddeld rendement per transactie boven de kostenbodem van het handelsplatform wordt niet zomaar opgegeven, en een strategie onder die kostenbodem wordt niet doorgestuurd voor optimalisatie.
Na de optimalisatie beslist de analist op basis van het out-of-sample- en holdout-bewijs of de strategie wordt gepromoveerd, verder uitgewerkt, herzien of opgegeven. Elke beslissing en de onderbouwing ervan worden opgeslagen op de strategiepagina.
Kostenbodems per handelsplatform
De analist controleert de Forex-kostendrempel en het vastgelegde bewijs voor spreads, commissies en financiering van de run. Een hypothese met onvoldoende netto-edge wordt herzien of afgewezen. Ontbrekend kostenbewijs leidt tot een operationele blokkade en mag niet worden vervangen door nul kosten.
Beoordeling door de Risk Officer
Voordat een strategie wordt gepromoveerd, controleert de Risk Officer de veiligheid ervan en moet deze de strategie expliciet goedkeuren. Daarnaast gelden door code afgedwongen limieten: de hefboom blijft binnen de limiet van uw risicoprofiel, er is een gedefinieerde risicobeheersing (een stop die een begrensd deel van het eigen vermogen per transactie riskeert, of een signaaluitstap met een begrensde positiegrootte), er zijn geen kritieke problemen en de risicoscore is aanvaardbaar. De Risk Officer kan ook een door de analist opgestelde vrijstelling van een beoordelingscriterium afwijzen. Bij afwijzing gaat de run terug naar de ontwikkelaar.
Portefeuillebeheerder en allocatie
In de fase van de Portefeuillebeheerder worden alle criteria en risicolimieten opnieuw in code gecontroleerd. Strategieën die te sterk correleren met wat al is ingezet, worden tegengehouden. Vervolgens wordt beslist of ze naar paper trading gaan. Kapitaal wordt toegewezen op basis van inverse volatiliteit, met een limiet per strategie. Nieuwe strategieën beginnen met een gelijk gewicht; strategieën in de incubatiefase krijgen een half gewicht. De overgang van paper trading naar live trading gebeurt nooit automatisch.
Iteratielimieten en afbreken
Een strategie wordt stopgezet wanneer het gemiddelde rendement per transactie lager is dan de handelskosten, wanneer de out-of-sampleprestaties tekortschieten, wanneer de strategie herhaaldelijk de verificatie niet doorstaat, of wanneer de analist geen haalbare route naar levensvatbaarheid ziet. De reden wordt vastgelegd en teruggekoppeld aan de onderzoeksagent, zodat dezelfde doodlopende weg niet opnieuw wordt ingeslagen.
Runs van het platform en jouw runs
Het platform voert voortdurend eigen onderzoek uit; jouw werkruimte draait daarnaast met gereserveerde capaciteit en hogere prioriteit, zodat jouw idee niet achter werk van het platform in de wachtrij staat. Je kunt je eigen runs op elk moment pauzeren, hervatten of stoppen vanaf de strategiepagina.