Kvantitative handelsstrategier i R Del 2 av 3.Quantitive Trading Strategies i Rputational Finance and Risk Management mm 40 60 80 100 120 Kvantitative handelsstrategier i R 40 Del 2 av 3 60 Guy Yollin Konsulent, Visningsforeleser, University of Washington 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 1 68 Oversikt mm 1 40 60 80 100 120 AnvendStrategi og oppdateringPortf-funksjoner 40 2 Posisjonsstørrelse 3 Passeparametre på søketid 60 4 Parameteroptimalisering 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 2 68 Pakker for handelssystemutvikling i R mm PerformanceAnalytics Økonometriske verktøy for prestasjons - og risikoanalyse 40 Ytelsesmålinger og grafer 60 80 100 120 quantstrat kvantitative strategimodell rammebestemmelsesverktøy for transaksjonsorienterte handelssystemutvikling 40 Kvantitative handelsregler og handel accouting quantmod kvantitative finansielle modellering rammeverk TTR t echnical trading rules 60 Datatilgang, kartlegging, indikatorer xts utvidbar tidsserie 80 zoo bestilte observasjoner Tidsserier objekter Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 3 68 Forelesnings referanser mm 40 60 100 TradeAnalytics prosjektside på R-forge 80 dokumenter og demoer for 40 spotterpakke quantstrat-pakke 120 R-SIG-FINANS 60 Kent Russell s Tidlig porteføljeblogg 6-delt kvantstrateksempel 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 4 68 Utsikt mm 1 40 60 80 100 120 The applyStrategy and updatePortf funksjoner 40 2 Posisjonsstørrelse 3 Passeparametere på applikasjonstidspunkt 60 4 Parameteroptimalisering 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 5 68 Grunnleggende strategisk backtesting arbeid ow for quantstrat mm 40 60 80 100 120 Initialisering Definer strategi Bar-by-bar-behandling Oppdateringsrapportering 40 Initialiser valuta og instrumenter, og last inn historiske data Initialiser portefølje, konto , ordrer, strategi Legg til indikatorer, signaler og regler Bruk strategi til portefølje Oppdatere portefølje, konto, egenkapital Generere resultatrapporter og grafer 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 6 68 Initialisere valuta - og handelsinstrumenter Initialisering Definer strategi mm Initialiser valuta og instrumenter og last historiske data 40 Initialiser portefølje, konto, ordrer, strategi 60 Bar-by-bar-behandling Oppdateringsrapportering 80 100 120 Generer ytelsesrapporter og grafer Legg til indikatorer, signaler og regler Bruk strategi for portefølje Oppdateringsportefølje, konto, egenkapital 40 R Kodebibliotek quantstrat definere lagerliste inz valuta og aksjer 60 dummy nedlastingslager initDate Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 7 68 Initialiser portefølje-, konto - og bestillingsobjekt mm 40 60 Bar-by-bar bearbeiding Initialisering Definer strategi 80 Oppdater 100 Rapportering 120 Initialiser valuta og instrumenter, og last inn toric data 40 Initialiser portefølje, konto, ordre, strategi Legg til indikatorer, signaler og regler Bruk strategi til portefølje Oppdatere portefølje, konto, egenkapital Generere ytelsesrapporter og grafer R Kode ins portefølje, konto, ordre, strategistrategi strategier strat strat regler strat strat args str funksjonsobjekt NULL 60 Hovedargumenter objektiver R-objektet som skal inspiseres 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 12 68 blotterportfolio objekt før søk Strategi R Kode mm 40 60 80 100 120 Liste over 2 symboler Liste over 1 SPY Liste over 3 txn Et xts-objekt fra 2000-12-31 til 2000-12-31 inneholder aAY aAZ Data num 1, 1 10 0 0 0 0 0 0 0 0 0 0 - attr, dimnames Liste over 2 NULL kr 1 10 Indeksert av objekter av klasse POSIXct, POSIXt TZ xts Attributter NULL posPL Et a xts objekt fra 2000-12-31 til 2000-12-31 som inneholder AY aAZ Data num 1, 1 11 0 1 1 0 0 0 0 0 0 0 - attr , dimnames Liste over 2 NULL kr 1 11 Indeksert av objekter av klasse POSIXct, POSIXt TZ xts At tributes NULL en xts-objekt fra 2000-12-31 til 2000-12-31 som inneholder AY aAZ Data num 1, 1 11 0 1 1 0 0 0 0 0 0 0 - attr, dimnames Liste over 2 NULL kr 1 1 Indeksert av objekter av klasse POSIXct, POSIXt TZ xts Attributter NULL-sammendrag En xts-objekt fra 2000-12-31 til 2000-12-31 som inneholder aAY aAZ Data num 1, 1 9 0 0 0 0 0 0 0 0 0 - attr, dimnames Liste over 2 NULL kr 1 9 Indeksert av objekter av klasse POSIXct, POSIXt TZ xts Attributter NULL - attr, klasse kr 1 2 blotterportfolio portefølje - attr, valuta krr USD - attr, initDate Dato 1 1, format 2000-12-31 40 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 13 68 Bruk av strategien til en portefølje Initialisering Definer strategi Bar-by-bar-behandling Oppdatering Rapportering mm Initialiser valuta og instrumenter og last historiske data 40 Initialiser portefølje, konto, ordre, strategi 60 Legg til indikatorer, signaler og regler Bruk strategi til portefølje 80 Oppdatere portefølje, konto, egenkapital 100 Generer ytelse e rapporter og grafer 120 R Kode 1 1 1 1 1 1 1 1 1 1 1 1 1 ut mm 40 60 80 100 120 Liste over 2 symboler Liste over 1 SPY Liste over 3 txn En xts objekt fra 2000-12-31 til 2010 -10-15 inneholder aAY aAZ Data nummer 1 14, 1 10 0 100 -100 100 -100 100 -100 100 -100 100 - attr, dimnames Liste over 2 NULL kr 1 10 Indexert av objekter av klasse POSIXct, POSIXt TZ xts Attributter NULL posPL Et xts-objekt fra 2000-12-31 til 2000-12-31 som inneholder AY aAZ Data num 1, 1 11 0 1 1 0 0 0 0 0 0 0 - attr, dimnames Liste over 2 NULL kr 1 11 Indexert av objekter av klasse POSIXct, POSIXt TZ xts Attributter NULL a xts objekt fra 2000-12-31 til 2000-12-31 inneholder AY aAZ Data num 1, 1 11 0 1 1 0 0 0 0 0 0 0 - attr, dimnames Liste over 2 NULL kr 1 11 Indeksert av objekter av klasse POSIXct, POSIXt TZ xts Attributter NULL oppsummering En xts-objekt fra 2000-12-31 til 2000-12-31 inneholder aAY aAZ Data nummer 1, 1 9 0 0 0 0 0 0 0 0 0 - attr, dimnames Liste over 2 NULL kr 1 9 Indeksert av objekter av klasse POSIXct, POSIXt TZ xts Attributter N ULL - attr, klasse kr 1 2 blotterportfolio portefølje - attr, valuta krr USD - attr, initDate Dato 1 1, format 2000-12-31 40 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 15 68 Transaksjoner i blotterportfolio objekt R Kode mm 0 0 00000 0 000 0 00000 0 0 00000 0 0000 0 100 91 99333 9199 333 91 99333 100 91 99333 0 0000 0 -100 89 84926 -8984 926 89 84926 0 0 00000 -214 4073 0 100 90 69007 9069 007 90 69007 100 90 69007 0 0000 0 -100 92 67439 -9267 439 92 67439 0 0 00000 198 4318 0 100 81 13541 8113 541 81 13541 100 81 13541 0 0000 0 -100 96 85660 -9685 660 96 85660 0 0 00000 1572 1194 0 100 98 81803 9881 803 98 81803 100 98 81803 0 0000 0 -100 114 66271 -11466 271 114 66271 0 0 00000 1584 4681 0 100 118 21141 11821 141 118 21141 100 118 21141 0 0000 0 -100 137 16570 -13716 570 137 16570 0 0 00000 1895 4293 0 100 88 57166 8857 166 88 57166 100 88 57166 0 0000 0 -100 100 84667 -10084 667 100 84667 0 0 00000 1227 5017 0 100 116 00271 11600 271 116 00271 100 116 00271 0 0000 0 0 0000 0 0 0000 1 -214 4073 1 0 0000 1 198 4318 1 0 0000 1 1572 1194 1 0 0000 1 1584 4681 1 0 0000 1 1895 4293 1 0 0000 1 1227 5017 1 0 0000 1 40 60 80 100 120 2000-12-31 2002-04-24 2002-04-29 2002-04-30 2002-05-14 2003-05-12 2004-08-25 2004-10-27 2006-07- 25 2006-08-29 2007-12-28 2009-06-18 2010-07-06 2010-10-15 2000-12-31 2002-04-24 2002-04-29 2002-04-30 2002-05- 14 2003-05-12 2004-08-25 2004-10-27 2006-07-25 2006-08-29 2007-12-28 2009-06-18 2010-07-06 2010-10-15 40 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 16 68 Hentransaksjoner mm R Kode 0 100 -100 100 -100 100 -100 100 -100 100 -100 100 -100 100 0 00000 0 0 000 0 00000 0 0000 91 99333 0 9199 333 91 99333 0 0000 89 84926 0 -8984 926 89 84926 -214 4073 90 69007 0 9069 007 90 69007 0 0000 92 67439 0 -9267 439 92 67439 198 4318 81 13541 0 8113 541 81 13541 0 0000 96 85660 0 -9685 660 96 85660 1572 1194 98 81803 0 9881 803 98 81803 0 0000 114 66271 0 -1146 6 271 114 66271 1584 4681 118 21141 0 11821 141 118 21141 0 0000 137 16570 0 -13716 570 137 16570 1895 4293 88 57166 0 8857 166 88 57166 0 0000 100 84667 0 -10084 667 100 84667 1227 5017 116 00271 0 11600 271 116 00271 0 0000 40 60 80 100 120 2000-12-31 2002-04-24 2002-04-29 2002-04-30 2002-05-14 2003-05-12 2004-08-25 2004-10-27 2006- 07-25 2006-08-29 2007-12-28 2009-06-18 2010-07-06 2010-10-15 40 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 17 68 Calling updatePortf Initialisering Definer strategi mm Initialiser valuta og instrumenter og last historiske data 40 60 Bar-for-bar-behandling Oppdateringsrapportering 80 100 120 Generer ytelsesrapporter og grafer Initialiser portefølje, konto, ordre, strategi Legg til indikatorer, signaler og regler Bruk strategi til portefølje Oppdateringsportefølje, konto, egenkapital 40 R Kode 0 0 0 0 0 60 2000-12-31 0 0 0 0 2000-12-31 dummy 80 bibliotek gitter Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 18 68 blotterportfolio objekt etter updatePortf R Kode mm 40 60 80 100 120 Liste over 2 symboler Liste over 1 SPY Liste over 3 txn En xts objekt fra 2000-12-31 til 2010-10-15 inneholder aAY aAZ Data num 1 14, 1 10 0 100 -100 100 -100 100 -100 100 -100 100 - attr, dimnames Liste over 2 NULL kr 1 10 Indeksert av objekter av klasse POSIXct, POSIXt TZ xts Attributter NULL posPL Et a xts-objekt fra 2000-12-31 til 2011-08-05 inneholder AY aAZ Data num 1 2666, 1 11 0 0 0 0 0 0 0 0 0 0 - attr, dimnames Liste over 2 NULL kr 1 11 Indeksert av objekter av klasse POSIXct, POSIXt TZ xts Attributter NULL a xts objekt fra 2000-12-31 til 2011-08-05 som inneholder AY aAZ Data nummer 1 2666, 1 11 0 0 0 0 0 0 0 0 0 0 - attr, dimnames Liste over 2 NULL kr 1 11 Indeksert av objekter av klasse POSIXct , POSIXt TZ xts Attributter NULL-sammendrag En xts-objekt fra 2000-12-31 til 2011-08-05 som inneholder aAY aAZ Data nummer 1 2666, 1 9 0 0 0 0 0 0 0 0 0 0 - attr, dimnames Liste over 2 NULL kr 1 9 Indeksert av objekter av klasse POSIXct, POSIXt TZ xts A ttributes NULL - attr, klasse kr 1 2 blotterportfolio portefølje - attr, valuta krr USD - attr, initDate Dato 1 1, format 2000-12-31 40 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 19 68 Plot of blotterportfolio sammendrag objekt mm 40 60 0 5000 15000 0 4 0 0 0 4 2002 0 5000 15000 0 5000 15000 80 2004 2006 100 2008 2010 120 2012 40 0 4 0 0 0 4 2000 500 0 1000 0 400 600 0 400 60 600 80 2002 2004 2006 2008 2010 2012 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 20 68 Hvordan objektiveringsfeltobjekt blir oppdatert mm 40 spotterportefølje 60 myPortfolio -------------------- 80 100 120 Oppdatert av applyStrategy 40 symboler ------------------- symboler ------------------- symbollisteliste ------------------- liste sammendrag ------------------- porteføljerummary xts txn ------- ------------ transaksjoner xts posPL ------------------- posPL xts -------------- ----- posPL xts 60 Oppdatert av updatePortf 80 Guy Yollin Copyright 2011 Quan titrerende handelsstrategier i R quantstrat-II 21 68 Figur for flytting av gjennomsnittlig crossover-ytelse mm Initialisering 40 60 Definer strategi 80 Forhåndsbehandling av barer Oppdatering 100 Rapportering 120 Initialisere valuta og instrumenter og last historiske data 40 Initialiser portefølje, konto, ordre, strategi Legg til indikatorer, signaler og regler Bruk strategi til portefølje Oppdatere portefølje, konto, egenkapital Generere ytelsesrapporter og grafer R Kode 60 kildeskemaPosn R addSMA n 50 på 1, col blue, lwd 2 addSMA n 200, på 1, col red, lwd 2 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 22 68 Figur over flytende gjennomsnittlig overgangseffektivitet mm 40 60 80 100 120 40 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 23 68 Utsikt mm 1 40 60 80 100 120 AnvendStrategi og oppdateringPortf-funksjoner 40 2 Posisjonsstørrelse 3 Passeparametre på søketid 60 4 Parameteroptimalisering 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i n R quantstrat-II 24 68 RegelSignalfunksjonsregelenSignal er standardregelen for å generere en handelsordre på et signal 40 R Kode RegelenSignalfunksjonen args ruleSignalfunksjonsdata mktdata, tidsstempel, sigcol, sigval, orderqty 0, ordertype, bestillingsside NULL, terskel NULL, tmult FALSE, erstatt TRUE, delay 1e-04, osFUN osNoOp, pricemethod c marked, 40 oppside, maker, portefølje, symbol rulettype, TxnFees 0, foretrekker NULL, sett inn FALSE NULL mm 60 80 100 120 Hovedargumenter 60 en xts objekt inneholdende markedsdata standard til mktdata data sigcol kolonne navn for å sjekke for signal sigval signal verdi for å matche rekkefølge kvantitet for ordre eller alle, modifisert av osFUN ordertype80 markedsgrense, stoplimit, stoptrailing, isberg, ordre lengre kort eller NULL osFUN funksjon eller navn på rekkefølge størrelsesfunksjon standard er osNoOp Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 25 68 OsNoOp-funksjonen Funksjonen osNoOp 40 standard størrelsesfunksjonen 100 er mm 60 80 R-kode OsNoOp-funksjonen args osNoOp-funksjonen tidsstempel, ordrenummer, portefølje, symbol, rulettype NULL 40 120 Hovedargumenter Timestamp tidsstempel tvinges inn i en POSIXct-objekt som vil markere 60 tidspunktet for ordreinnsetting rekkefølge-porteføljesymbolet rulettype 80 rekkefølgen kvantifiseres av osFUN-navnet på porteføljen for ordningssymbolet til instrumentet en av risikobestemmelse, gjenbalanse, angi, avslutte Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 26 68 Fastsorteringsfunksjon for faste ordrer Denne ordningsstørrelsesfunksjonen justerer 60 delmengder slik at mm 40 80 100 transaksjonsverdi er omtrent lik en forhåndsdefinert R-kode osFixedDollar inz portefølje, konto, ordre, strategistrategi lag 0 0 109 -109 110 -110 123 -123 101 -101 85 -85 113 -113 86 0 00000 0 0 000 0 00000 0 0000 91 99333 0 10027 273 91 99333 0 0000 89 84926 0 -9793 569 89 84926 -233 7039 90 69007 0 9975 908 90 69007 0 0000 92 67439 0 -10194 183 92 67439 218 2750 81 13541 0 9979 655 81 13541 0 0000 96 85660 0 -11913 362 96 85660 1933 7068 98 81803 0 9980 621 98 81803 0 0000 114 66271 0 -11580 934 114 66271 1600 3128 118 21141 0 10047 970 118 21141 0 0000 137 16570 0 -11659 085 137 16570 1611 1149 88 57166 0 10008 597 88 57166 0 0000 100 84667 0 -11395 674 100 84667 1387 0769 116 00271 0 9976 233 116 00271 0 0000 40 60 80 100 120 2000-12-31 2002-04-24 2002-04-29 2002 -04-30 2002-05-14 2003-05-12 2004-08-25 2004-10-27 2006-07-25 2006-08-29 2007-12-28 2009-06-18 2010-07-06 2010 -10-15 40 60 Hver oppføring har en omtrentlig verdi på 10 000 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 33 68 OppringingsoppdateringPortf mm Initialisering 40 60 Definere strategi 80 Bar-for-bar-behandling Oppdatering 100 Rapportering 120 40 Initialisere valuta og instrumenter, og last inn historiske data Initialiser portefølje, konto, ordre, strategi Legg til indikatorer, signaler og regler Bruk strategi til portefølje Oppdatere portefølje, konto, egenkapital Generer resultatrapporter og graf s R Kode 60 dummy addSMA n 50 på 1, col blue, lwd 2 addSMA n 200, på 1, col red, lwd 2 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 35 68 Flytte gjennomsnittlig crossover med xed-dollar oppføringer mm 40 60 80 100 120 40 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 36 68 Bestandsstørrelsesfunksjon av størrelsesorden av størrelsen på rekkefølge Denne størrelsesfunksjonen for ordre justerer delmengden slik at hver handel er omtrent en xed prosent av tilgjengelig konto egenkapital mm 40 60 80 100 120 R Kode osPercentEquity strat strat ut 0 217 -217 220 -220 246 -246 203 -203 170 -170 228 -228 175 0 00000 0 0 00 0 00000 0 0000 91 99333 0 19962 55 91 99333 0 0000 89 84926 0 -19497 29 89 84926 -465 2638 90 69007 0 19951 82 90 69007 0 0000 92 67439 0 -20388 37 92 67439 436 5500 81 13541 0 19959 31 81 13541 0 0000 96 85660 0 -23826 72 96 85660 3867 4137 98 81803 0 20060 06 98 81803 0 0000 114 66271 0 -23276 53 114 66271 3216 4702 118 21141 0 20095 9 4 118 21141 0 0000 137 16570 0 -23318 17 137 16570 3222 2299 88 57166 0 20194 34 88 57166 0 0000 100 84667 0 -22993 04 100 84667 2798 7038 116 00271 0 20300 47 116 00271 0 0000 40 60 80 100 120 2000- 12-31 2002-04-24 2002-04-29 2002-04-30 2002-05-14 2003-05-12 2004-08-25 2004-10-27 2006-07-25 2006-08-29 2007- 12-28 2009-06-18 2010-07-06 2010-10-15 40 60 Hver oppføring er omtrent 2 av kontoverdien 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 42 68 AnropsoppdateringPortf mm Initialisering 40 60 Definer strategi 80 Bar-by-bar-behandling Oppdatering 100 Rapportering 120 40 Initialiser valuta og instrumenter og last historisk data Initialiser portefølje, konto, ordre, strategi Legg til indikatorer, signaler og regler Bruk strategi til portefølje Oppdatere portefølje, konto, egenkapital Generere ytelse rapporter og grafer R Code 60 dummy addSMA n 50 på 1, col blue, lwd 2 addSMA n 200, på 1, col red, lwd 2 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R qua ntstrat-II 44 68 Flyttende gjennomsnittlig overgang med prosentandelsposter mm 40 60 80 100 120 40 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 45 68 Omtale mm 1 40 60 80 100 120 AnvendStrategi og oppdateringPortf funksjoner 40 2 Posisjonsstørrelse 3 Passeringsparametere ved søketid 60 4 Parameteroptimalisering 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 46 68 Last opp prishistorikk og konverter til månedlige barer mm Initialisering 40 60 Definere strategi 80 Bar-by-bar behandling Oppdater 100 Rapportering 120 Initialiser valuta og instrumenter og last historiske data 40 Initialiser portefølje, konto, ordre, strategi Legg til indikatorer, signaler og regler Bruk strategi til portefølje Oppdatere portefølje, konto, egenkapital Generere ytelsesrapporter og grafer R Kode last ned alle SPY 60 initDate indexAt endof 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 47 68 Initialiser portefølje, konto og ordrer obj ect mm Initialisering 40 Definere strategi 60 Bar-by-barbehandling 80 Update 100 Reporting 120 Initialisere valuta og instrumenter og last historiske data 40 Initialisere portefølje, konto, ordre, strategi Legg til indikatorer, signaler og regler Bruk strategi for portefølje Oppdateringsportefølje, konto, egenkapital Generere ytelsesrapporter og grafer R Kodeklar og miljø 60 innsatsportefølje, konto, ordrer, strategi dummy stratindikatorer strat signaler 60 stratreguleringer strat strat ut dummy addSMA n 10 på 1, col blue, lwd 2 80 Guy Yollin Copyright 2011 kvantitative handelsstrategier i R quantstrat-II 53 68 Faber 10-måneders SMA-system mm 40 60 80 100 120 40 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 54 68 Initialiser portefølje, konto og ordrer objekt mm Initialisering 40 Definere strategi 60 Bar-by-bar-behandling 80 Oppdatering 100 Rapportering 120 Initialisere valuta og instrumenter og last historiske data 40 Initialiser portefølje, konto, ordre, stra tegy Legg til indikatorer, signaler og regler Bruk strategi til portefølje Oppdatere portefølje, konto, egenkapital Generere ytelsesrapporter og grafer R Kodeklar og miljø 60 innsatsportefølje, konto, ordre, strategi dummy stratindikatorer stratsignaler 60 stratreguleringsregler strat strat out dummy addSMA n 5 på 1, col blue, lwd 2 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 60 68 Faber 5-måneders SMA system mm 40 60 80 100 120 40 60 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 61 68 Oversikt mm 1 40 60 80 100 120 AnvendStrategi og oppdateringPortf-funksjoner 40 2 Posisjonsstørrelse 3 Passeparametre på søketid 60 4 Parameteroptimalisering 80 Guy Yollin Copyright 2011 Kvantitative handelsstrategier i R quantstrat-II 62 68 Initialiser valuta og handelsinstrumenter mm Initialisering 40 Definere strategi 60 Bar-by-bar-behandling 80 Oppdatering 100 Rapportering 120 Initialisere valuta og instrumenter og last historiske data 40 Initiativ alize portefølje, konto, ordre, strategi Legg til indikatorer, signaler og regler Bruk strategi til portefølje Oppdatere portefølje, konto, egenkapital Generere ytelsesrapporter og grafer R Kode definere GSPC instrument dummy strat indikatorer strat signaler strat strat regler strat strat for jeg in. Beginner s guide til kvantitativ handel. I denne artikkelen skal jeg introdusere deg til noen av de grunnleggende konseptene som følger med en end-to-end kvantitativ handelssystem. Dette innlegget vil forhåpentligvis tjene to publikum. Den første vil være enkeltpersoner som prøver å skaffe seg en jobb hos et fond som en kvantitativ handelsmann Den andre vil være enkeltpersoner som ønsker å forsøke å sette opp sin egen algoritmiske handelsvirksomhet. Det er en ekstremt sofistikert del av kvantfinansiering. Det kan ta betydelig tid å få den nødvendige kunnskapen til å passere et intervju eller konstruere dine egne handelsstrategier Ikke bare det, men det krever omfattende programmeringskompetanse, i det minste i et språk su ch som MATLAB, R eller Python Men når handelsfrekvensen i strategien øker, blir de teknologiske aspektene mye mer relevante. Det er derfor avgjørende å være kjent med CC. Et kvantitativt handelssystem består av fire hovedkomponenter. Strategiidentifikasjon - Finne en strategi, utnyttelse av en kanten og avgjørelse om handelsfrekvens. Strategi Backtesting - Innhenting av data, analyse av strategiytelse og fjerning av biases. Execution System - Kobling til megling, automatisering av handel og minimering av transaksjonskostnader. Risikostyring - Optimal kapitalfordeling, innsatsstørrelse Kelly kriterium og handelspsykologi. Vi skal begynne med å se på hvordan vi identifiserer en handelsstrategi. Strategi Identification. All kvantitative handelsprosesser begynner med en første undersøkelsesperiode. Denne forskningsprosessen omfatter å finne en strategi for å se om strategien passer inn i en portefølje av andre strategier du kanskje kjører, oppnå data som er nødvendige for å teste str ategy og forsøker å optimalisere strategien for høyere avkastning og eller lavere risiko. Du må faktor i dine egne kapitalkrav hvis du kjører strategien som en detaljhandler og hvordan eventuelle transaksjonskostnader vil påvirke strategien. I motsetning til populær tro er det faktisk ganske rettferdig å finne lønnsomme strategier gjennom ulike offentlige kilder Akademikere publiserer regelmessig teoretiske handelsresultater, om enn det meste brutto av transaksjonskostnader Kvantitative finansblogger vil diskutere strategier i detalj Handelsskrifter vil skissere noen av strategiene ansatt av midler. Du kan spørre hvorfor enkeltpersoner og firmaer er opptatt av for å diskutere deres lønnsomme strategier, spesielt når de vet at andre som trengsler handelen, kan stoppe strategien fra å jobbe på sikt. Årsaken er at de ikke ofte vil diskutere de nøyaktige parametrene og innstillingsmetodene de har utført. Disse optimaliseringene er nøkkelen til å gjøre en relativt middelmådig strategi til en hei Ghly lønnsomt En faktisk er en av de beste måtene å lage dine egne unike strategier å finne lignende metoder og deretter utføre din egen optimaliseringsprosedyre. Her er en liten liste over steder å begynne å lete etter strategidetaljer. Mange av strategiene du vil se på, vil falle inn i kategoriene av gjennomsnittlig reversering og trend-etter-momentum En gjennombruddsstrategi er en som forsøker å utnytte det faktum at et langsiktig middel på en prisserie som spredningen mellom to korrelerte eiendeler eksisterer og at kortsiktige avvik fra dette betydelige vil til slutt gå tilbake En momentumstrategi forsøker å utnytte både investorpsykologi og stor fondstruktur ved å ha en tur på en markedstendens som kan samle fart i en retning og følge trenden til den vender tilbake. En annen enormt viktig aspekt ved kvantitativ handel er frekvensen av handelsstrategien Lavfrekvenshandel LFT refererer generelt til enhver strategi som har eiendeler lenger enn en handelsdag Correspon jevnlig, høyfrekvent handel HFT refererer generelt til en strategi som har eiendeler i dag. Ultrahøyfrekvenshandel UHFT refererer til strategier som holder eiendeler i rekkefølge av sekunder og millisekunder. Som en detaljhandler er HFT og UHFT sikkert mulig, men bare med detaljert kunnskap av handelssteknologistakken og ordrebokdynamikken Vi har vunnet å diskutere disse aspektene i stor grad i denne innledende artikkelen. Når en strategi eller et sett av strategier er blitt identifisert, må det nå testes for lønnsomhet på historiske data. Det er domene for backtesting. Strategy Backtesting. Målet med backtesting er å skaffe bevis for at strategien identifisert via den ovennevnte prosessen er lønnsom når den brukes på både historiske og out-of-sample data. Dette setter forventningen om hvordan strategien vil utføre i den virkelige verden Imidlertid er backtesting IKKE en garanti for suksess, av ulike grunner. Det er kanskje det mest subtile området med kvantitativ handel siden den e Vi skal diskutere og eliminere så mye som mulig. Vi vil diskutere de vanlige typene av forstyrrelser, inkludert fremtidsforstyrrelser, bias og optimalisering, også kjent som data-snooping bias. Andre områder av betydning innen backtesting inkluderer tilgjengelighet og renslighet av historiske data, factoring i realistiske transaksjonskostnader og avgjørelse om en robust backtesting-plattform. Vi vil diskutere transaksjonskostnader ytterligere i Execution Systems-delen nedenfor. Når en strategi er identifisert, er det nødvendig å skaffe seg de historiske dataene for å utføre testing og kanskje raffinement Det er et betydelig antall datalagere på tvers av alle aktivaklasser. De koster generelt med kvaliteten, dybden og aktualiteten til dataene. Det tradisjonelle utgangspunktet for begynnende kvanthandlere, i hvert fall på detaljnivå, er å bruke den frie Datasett fra Yahoo Finance Jeg ville ikke bo på leverandører for mye her, heller jeg vil gjerne ha med fokusere på de generelle problemene når det gjelder historiske datasett. De viktigste bekymringene med historiske data inkluderer nøyaktighet renslighet, overlevelsesforstyrrelser og justering for bedriftsaksjoner som utbytte og aksjeskift. Akurtheten gjelder den generelle kvaliteten på dataene - om det inneholder noen feil Feil kan noen ganger være lett å identifisere, for eksempel med et spikfilter som vil plukke ut feil pigger i tidsseriedata og korrigere for dem. Andre ganger kan de være svært vanskelig å få øye på. Det er ofte nødvendig å ha to eller flere leverandører og så kontroller alle dataene sine mot hverandre. Oppfølgingsforstyrrelser er ofte en funksjon av gratis eller billige datasett. Et datasett med overlevelsesforstyrrelser betyr at det ikke inneholder eiendeler som ikke lenger handler. For aksjer betyr dette avnoterte konkursbestandige aksjer Denne forspenningen betyr at enhver aksjehandelsstrategi som testes på et slikt datasett, sannsynligvis vil fungere bedre enn i den virkelige verden som de historiske vinnerne har lest De har vært forhåndsvalgt. Selskapsaksjoner omfatter logistikkvirksomhet utført av selskapet som vanligvis medfører en trinnfunksjon endring i råprisen, som ikke skal inkluderes i beregningen av avkastningen av prisen. Justeringer for utbytte og aksjesplittelser er de vanlige synderne En prosess kjent som tilbakestilling er nødvendig for å utføres ved hver enkelt av disse tiltakene. En må være veldig forsiktig med å ikke forveksle en aksjesplitt med en ekte avkastningsjustering. Mange en næringsdrivende har blitt fanget av en bedriftsaksjon. For å bære ut en backtest-prosedyre er det nødvendig å bruke en programvareplattform Du har valget mellom dedikert backtest-programvare, for eksempel Tradestation, en numerisk plattform som Excel eller MATLAB eller en full tilpasset implementering i et programmeringsspråk som Python eller CI, vil ikke bli dwell for mye på Tradestation eller lignende, Excel eller MATLAB, som jeg tror på å skape en full internt teknologistakk av grunner som er skissert nedenfor. En av fordelene med å gjøre s o er at backtestprogramvaren og utførelsessystemet kan være tett integrert, selv med ekstremt avanserte statistiske strategier. For spesielt HFT-strategier er det viktig å bruke en tilpasset implementering. Når du skal teste et system må man kunne kvantifisere hvor godt det utfører The bransjestandardmålinger for kvantitative strategier er maksimal drawdown og Sharpe Ratio Den maksimale drawdown karakteriserer den største topp-til-gjennom-dråpen i kontoen egenkapitalkurven over en bestemt tidsperiode vanligvis årlig Dette er oftest sitert som en prosentandel LFT-strategier vil ha tendens til å ha større drawdowns enn HFT-strategier, på grunn av en rekke statistiske faktorer. En historisk backtest viser den siste maksimale drawdownen som er en god guide for strategiens fremtidige drawdown-ytelse. Den andre måling er Sharpe-forholdet, som er heuristisk definert som gjennomsnittet av meravkastningen dividert med standardavviket for de overskytende avkastningene her, f. eks cess returnerer refererer til retur av strategien over et forhåndsbestemt referanse som S slippage, som er forskjellen mellom hva du ment at bestillingen din skal fylles i mot hva den faktisk var fylt på spredning, hvilket er forskjellen mellom tilbudspris for sikkerheten som handles Merk at spredningen ikke er konstant og er avhengig av dagens likviditet, dvs. tilgjengeligheten av kjøpssalgsordrer i markedet. Transaksjonskostnader kan gjøre forskjellen mellom en ekstremt lønnsom strategi med et godt Sharpe-forhold og en ekstremt ulønnsom strategi med forferdelig Sharpe-forhold Det kan være en utfordring å korrekt forutse transaksjonskostnadene fra en backtest Avhengig av strategiens frekvens, trenger du tilgang til historiske utvekslingsdata, som inkluderer tick-data for tilbudspriser. Hele lagene i Quants er dedikert til optimalisering av gjennomføring i de større fondene, av disse grunnene Vurder situasjonen der et fond må avlaste en subs tantial kvantitet av handler som grunnene til å gjøre det er mange og varierte Ved å dumpe så mange aksjer på markedet, vil de raskt presse prisen og kan ikke oppnå optimal utførelse. Algoritmer som dråper foderordrer på markedet eksisterer, selv om da fondet løper risikoen for slippe. I tillegg til dette, kan andre strategier byttes på disse nødvendighetene og kan utnytte ineffektivitetene. Dette er domenet i fondstruktursarbitrage. Det endelige hovedproblemet for kjøringssystemer gjelder divergens av strategiytelse fra backtested ytelse. Dette kan skje for en number of reasons We ve already discussed look-ahead bias and optimisation bias in depth, when considering backtests However, some strategies do not make it easy to test for these biases prior to deployment This occurs in HFT most predominantly There may be bugs in the execution system as well as the trading strategy itself that do not show up on a backtest but DO show up in live trading The market may have been subject to a regime change subsequent to the deployment of your strategy New regulatory environments, changing investor sentiment and macroeconomic phenomena can all lead to divergences in how the market behaves and thus the profitability of your strategy. Risk Management. The final piece to the quantitative trading puzzle is the process of risk management Risk includes all of the previous biases we have discussed It includes technology risk, such as servers co-located at the exchange suddenly developing a hard disk malfunction It includes brokerage risk, such as the broker becoming bankrupt not as crazy as it sounds, given the recent scare with MF Global In short it covers nearly everything that could possibly interfere with the trading implementation, of which there are many sources Whole books are devoted to risk management for quantitative strategies so I wont t attempt to elucidate on all possible sources of risk here. Risk management also encompasses what is known as optimal capita l allocation which is a branch of portfolio theory This is the means by which capital is allocated to a set of different strategies and to the trades within those strategies It is a complex area and relies on some non-trivial mathematics The industry standard by which optimal capital allocation and leverage of the strategies are related is called the Kelly criterion Since this is an introductory article, I won t dwell on its calculation The Kelly criterion makes some assumptions about the statistical nature of returns, which do not often hold true in financial markets, so traders are often conservative when it comes to the implementation. Another key component of risk management is in dealing with one s own psychological profile There are many cognitive biases that can creep in to trading Although this is admittedly less problematic with algorithmic trading if the strategy is left alone A common bias is that of loss aversion where a losing position will not be closed out due to the pain of having to realise a loss Similarly, profits can be taken too early because the fear of losing an already gained profit can be too great Another common bias is known as recency bias This manifests itself when traders put too much emphasis on recent events and not on the longer term Then of course there are the classic pair of emotional biases - fear and greed These can often lead to under - or over-leveraging, which can cause blow-up i e the account equity heading to zero or worse or reduced profits. As can be seen, quantitative trading is an extremely complex, albeit very interesting, area of quantitative finance I have literally scratched the surface of the topic in this article and it is already getting rather long Whole books and papers have been written about issues which I have only given a sentence or two towards For that reason, before applying for quantitative fund trading jobs, it is necessary to carry out a significant amount of groundwork study At the very least you will n eed an extensive background in statistics and econometrics, with a lot of experience in implementation, via a programming language such as MATLAB, Python or R For more sophisticated strategies at the higher frequency end, your skill set is likely to include Linux kernel modification, C C , assembly programming and network latency optimisation. If you are interested in trying to create your own algorithmic trading strategies, my first suggestion would be to get good at programming My preference is to build as much of the data grabber, strategy backtester and execution system by yourself as possible If your own capital is on the line, wouldn t you sleep better at night knowing that you have fully tested your system and are aware of its pitfalls and particular issues Outsourcing this to a vendor, while potentially saving time in the short term, could be extremely expensive in the long-term. Just Getting Started with Quantitative Trading. Quantitative trading strategies in r part 1 of 3.And s ince I have probably less than 10 of the ad-tolerance of a typical American audience member, I inevitably turn to Ti Vo, Netflix, or similar, to watch a commercial-free show Winton Capital Management is a renowned quant fund and one of the world s largest, most successful CTAs The current 15-year drought in the South West is the most severe since recordkeeping for the Colorado River began in 1906 Quantitative trading strategies in r part 1 of 3 Concessionnaires Forex Monaco Successful Backtesting of Algorithmic Trading Strategies, Part 1 hedge fund as a quantitative trading developer for the last 2016 System Trader Success Lake Mead, which supplies much of the water to Colorado Basin communities, is now more than half empty The software s capabilities in this area have grown and matured over the last two versions to a point where it is now feasible to teach So the likelihood of being able to develop a money-making trading system using publicly available information might appear to be slim-to-none Spending 12-14 hours a day managing investors money doesn t leave me a whole lot of time to sit around watching TV Absent the visual clues that are often highlighted by graphical images, it is easy for the analyst to overlook important changes in relationships Precious metals have been in free-fall for several years, as a consequence of the Fed s actions to stimulate the economy that have also had the effect of goosing the equity and fixed income markets While Dr Chan takes the time to outline the essential aspects of turning quantitative trading strategies 1 how to start a quantitative trading part Quantitative trading strategies in r part 1 of 3 Preo Do Ouro Hoje Em So Tom E Prncipe Forex Quantitative Trading Hidden Markov Models Examples In R Examples In R Part 3 of 4 Gekko Quant Quantitative Trading DRBTK Jan 29, 2014 t test for Quantitative Trading with R Part I Algorithmic Trading with CoinTrader and R Building Trading Strategy with Quant Webinar HMMs can be used in two ways for regime detection, the first is to use a single HMM where each state in the HMM is considered a regime Successful Backtesting of Algorithmic Trading Strategies, Part 1 hedge fund as a quantitative trading developer for the last 2016 System Trader Success The firm s flagship investment strategy, the Winton Diversified Program, follows a systematic investment process that is based on statistical research to invest globally long and short, using leverage, in a diversified range of liquid instruments, including exchange traded futures, forwards, currency forwards. A 120 foot high band of rock, bleached white by the water, and known as the Quantitative trading strategies in r part 1 of 3 The second method is to have multiple HMMs each designed to model an individual regime, the task is then to chose between models by looking at which is the most likely to have generated the data Method One Single HMM Each State is a Regime The credit for this section must go to the fantastic Syst ematic Investor blog Binary Option Queen Channel Quantitative Trading Hidden Markov Models Examples In R Examples In R Part 3 of 4 Gekko Quant Quantitative Trading DRBTK What is the process to develop a quantitative trading strategy Update Cancel what part of the model is an algorithmic trading strategy consists of 3 core Best stock trading system in the world Successful Backtesting of Algorithmic Trading Strategies, Part 1 hedge fund as a quantitative trading developer for the last 2016 System Trader Success The previous posts in this series detailed the maths that power the HMM, fortunately all of this has been implemented for us in the RHmm package. Very large datasets comprising voluminous numbers of symbols present challenges for the analyst, not least of which is the difficulty of visualizing relationships between the individual component assets All that changed towards the end of 2015, as the Fed moved to a tightening posture History does not repeat itself, but it often rhymes Ma rk Twain You certainly wouldn t know it from a reading of the CBOE S This post will explore how to train hidden markov models in R. Wolfram Research introduced random processes in version 9 of Mathematica and for the first time users were able to tackle more complex modeling challenges such as those arising in stochastic calculus Quantitative trading strategies in r part 1 of 3 The code is well commented and should be self Stockbrokers Login If you had been smart or lucky enough to buy the stock at the beginning of 2010, each 1,000 you invested would now be worth over 5,700, giving a CAGR of over 31 How To Earn Money On Sty Without Investment In Chile Essentially two markets regimes bull and bear are simulated, a 2 state HMM is then trained on the data. Best Trading Sites.24Option Trade 10 Minute Binaries. TradeRush Account Open a Demo Account. Boss Capital Start Trading Live Today.
Comments
Post a Comment