Preskoči na vsebino

Backtestiranje in validacija

Preizkusite idejo. Preučite dokaze.

Tovarna na zgodovinskih podatkih testira kodo strategije s konfiguriranimi provizijami in predpostavkami o izvrševanju. Orodja za optimizacijo preverjajo stabilnost parametrov, analitik umetne inteligence pa oceni dokaze in priporoči naslednji korak.

Zgodovinske poti strategije v validacijskih obdobjih z zniževanji vrednosti in porazdelitvami izidov

Oglejte si tovarno strategij v delovanju.

Ponazoritveni primer · ni rezultat v živo

Oglejte si, kako agenti umetne inteligence zgradijo in pregledajo strategijo.

Agenti umetne inteligence razvijejo idejo, napišejo kodo in ocenijo rezultate testov. Ugotovitve pregleda lahko strategijo vrnejo v novo iteracijo.

  1. Opis
  2. Izdelava in preverjanje
  3. Backtest
  4. Stresni test
  5. Papirnato trgovanje
01

Modelirajte trgovalne pogoje

Backtesti uporabljajo pretekle podatke, nastavljene provizije mesta izvedbe in veljavne predpostavke o izvedbi naročil. Pokritost podatkov, financiranje, zdrs cene in tržni vpliv lahko bistveno spremenijo rezultat.

02

Preglejte več kot le donos

Preberite krivuljo kapitala, zniževanja vrednosti, porazdelitev donosov in posamezne posle. Skupaj s ključnimi kazalniki preverite tudi obdobje, velikost vzorca in predpostavke.

03

Preverite robustnost

Analiza občutljivosti, optimizacija po metodi drsečega okna (walk-forward) in validacija na zadržani skupini preučujejo, kako se rezultati spremenijo zunaj izbranih parametrov in učnih obdobij.

Predpostavke hranite ob rezultatu.

Prepričljiv grafikon je izhodišče za pregled. Primerjajte trgovalne stroške s pričakovano prednostjo, preglejte vedenje zunaj vzorca in bodite pozorni na koncentracijo v majhnem številu poslov ali obdobij.

  1. Vhodni podatki

    Obdobje podatkov, mesto izvedbe, provizije

  2. Testi

    Backtest, walk-forward, zadržana skupina

  3. Dokazi

    Kazalniki, posli, opombe pregleda

Naj poznejši podatki preizkusijo prejšnje odločitve.

Napredujoče testiranje (walk-forward) se prilagodi na zgodnejšem oknu in oceni na poznejšem. Rezervirani vzorec (holdout) ostane zunaj oken optimizacije.

Preberite dejanske datume delitve in število trgovanj. Ponavljajoča uporaba povratnih informacij iz rezerviranega vzorca pri številnih poskusih lahko oslabi njegovo neodvisnost.

PrilagoditevValidacijaRezervirani vzorec
Shema: tri okna prilagajanja in validacije se pomikajo naprej skozi čas; rezervirani vzorec ostane rezerviran na desni. Dolžine oken in vrzeli so odvisne od konfiguracije.

Majhen strošek lahko porabi veliko prednost.

Bolj kot strategija trguje, bolj njen rezultat je odvisen od predpostavk o izvedbi. Premaknite kontrolnik zdrsa cene, da vidite isti bruto rezultat pri različnih stroških.

Obrat kapitala
Skupni trgovani nominalni znesek glede na začetni kapital; vsak nakup in prodaja se šteje.
Provizije in zdrs cene
Preverite konfigurirane provizije platforme in predpostavke o ceni v dejanskem poročilu.
Neto rezultat
Primerjajte preostalo prednost z znižanji vrednosti, velikostjo vzorca in rezultati zunaj vzorca.

Poglejte, kako izvedbeni stroški spremenijo rezultat.

Bruto donos12.0%
Modelirani stroški2.0%
Neto po teh stroških10.0%

Primer predpostavk: 12-odstotni bruto donos, kumulativni trgovani nominalni znesek, enak 40-kratniku začetnega kapitala, in provizija 2 bazični točki na trgovani nominalni znesek. Stroški = obrat kapitala × (provizija + zdrs cene); 1 bazična točka = 0,01 %. Linearna ponazoritev; ne vključuje obrestnega obrestovanja, financiranja in tržnega vpliva.

Vprašanja, odgovorjena.

Dodatna vprašanja in odgovori
Ali dober backtest zagotavlja prihodnje donose?

Ne. Backtesti so hipotetični in občutljivi na podatke, predpostavke in izbor. Validacija pomaga odkriti šibkosti, ne odpravlja pa trgovalnega tveganja.

Ali so provizije trenutne kotacije za moj račun?

Ne. Gre za nastavljene privzete vrednosti simulacije. Vaš borzni razred in pravila instrumenta se lahko razlikujejo. Pred interpretacijo rezultata preverite predpostavke.

Kako se razlikujeta postopno testiranje (walk-forward) in validacija na zadržanih podatkih (holdout)?

Postopno testiranje ponavljajoče prilagaja model na starejših podatkih in ga ocenjuje na poznejših obdobjih. Validacija na zadržanih podatkih preveri izbrane parametre na rezerviranem obdobju zunaj teh optimizacijskih oken. Preverite dejanske datume, število transakcij in poročila; ponavljajoča uporaba povratnih informacij iz zadržanega obdobja lahko oslabi njegovo neodvisnost.

Katere rezultate naj preberem poleg skupnega donosa?

Preglejte znižanja vrednosti (drawdown), stroške trgovanja, število in porazdelitev transakcij, obdobja držanja pozicij ter rezultate zunaj vzorca (out-of-sample). Bodite pozorni na odvisnost od majhnega števila transakcij ali enega tržnega obdobja. Visok donos sam po sebi ne pojasni, kako je strategija zaslužila, niti izgub na poti do tega.

Zakaj testirati sosednje parametre namesto ohranjanja najboljše nastavitve?

Nastavitev, ki se zdi odlična, medtem ko sosednje slabo delujejo, je lahko krhka. Analiza občutljivosti pokaže, kako se rezultat spreminja okoli izbranih parametrov. Uporabite jo skupaj z dokazi iz postopnega testiranja in validacije na zadržanih podatkih pri presoji, ali je vzorec širši od enega izbranega rezultata.

Zakaj se lahko dva testa podobne ideje na preteklih podatkih razlikujeta?

Rezultat lahko spremenijo različni instrumenti, podatkovna obdobja, časovni intervali svečk, pravila za vstop in izstop, provizije ali predpostavke o izvedbi. Preden razliko razlagate kot izboljšavo, primerjajte konfiguracijo in razpoložljive podatke skupaj z zapisi transakcij.

Začnite z vprašanjem, vrednim testiranja.

Raziščite objavljene strategije ali odprite delovni prostor za gradnjo, testiranje in spremljanje lastnih strategij z agenti umetne inteligence.

Stratmill je platforma za trgovalne strategije, ki temelji na umetni inteligenci, ne pa ponudnik finančnega svetovanja ali borzni posrednik. Rezultati testiranja na zgodovinskih podatkih in simuliranega trgovanja so hipotetični. Trgovanje vključuje tveganje izgube.