Friday 24 November 2017

Backtesting Excel Forex Kaupankäynti


Käyttämällä Excelia Back Test Trading strategioille Miten testiä Excelillä Ive teki reilun määrän kaupankäyntistrategian taktista testausta. Olen käyttänyt hienostuneita ohjelmointikieliä ja algoritmeja, ja olen myös tehnyt sen kynällä ja paperilla. Sinun ei tarvitse olla rakettitutkija tai ohjelmoija, joka tukee monia kaupankäyntistrategioita. Jos voit käyttää Excel-taulukkolaskentaohjelmaa, voit testata useita strategioita. Tämän artikkelin tarkoituksena on näyttää, miten voit testata kaupankäynnin strategian Excelin ja yleisesti saatavilla olevan tietolähteen avulla. Tämä ei saisi maksaa sinulle enemmän kuin se aika, joka tarvitaan testin tekemiseen. Ennen kuin aloitat strategian testaamisen, tarvitset tietojoukon. Vähintään tämä on sarja päivämääriä ja hintoja. Tosiaankin tarvitset datetime, open, high, low, close hinnat. Tarvitset vain datasarjan aikakomponentin, jos testaat päivänsisäisiä kaupankäynnin strategioita. Jos haluat työskennellä yhdessä ja oppia testiä Excelin kanssa, kun luet tämän, noudata sitten vaiheita, joita selostetaan kussakin osassa. Meidän on hankittava joitain tietoja symbolille, josta aiomme testata. Mene seuraavaan kohtaan: Yahoo Finance Kirjoita Enter-symboli (kenttät) - kenttään: IBM ja napsauta vasemmalla puolella olevaa Siirry alla olevista lainauksista - kohtaa Historialliset hinnat ja anna haluamasi ajanjaksot. Valitsin 1. tammikuuta 2004 - 31. joulukuuta 2004. Selaa sivun alareunaan ja klikkaa Lataa taulukoihin Tallenna tiedosto nimellä (kuten ibm. csv) ja paikkaan, jonka voit myöhemmin löytää. Tietojen valmistelu Avaa tiedosto (joka on ladattu yllä) Excelin avulla. Internetin dynaamisen luonteen vuoksi lukemasi ohjeet ja avaamasi tiedosto saattavat muuttua lukemisen ajankohtana. Kun latain tämän tiedoston muutaman rivin näyttäisi näin: Voit nyt poistaa sarakkeita, joita et aio käyttää. Testaa, että Im aikoinaan käytän vain päivämäärää, avaa ja sulje arvot, joten olen poistanut korkean, matalan, volyymi - ja adj-arvon. Kiinni. Olen myös lajitellut tiedot niin, että vanhin päivä oli ensimmäinen ja viimeisin päivämäärä oli alhaalla. Käytä Data-gt-lajittelu - valikon vaihtoehtoja. Sen sijaan, että kokeilisitte strategiaa sellaisenaan, yritän löytää viikonpäivä, joka tarjosi parhaan tuoton, jos olet seurannut ostoa auki ja myynyt läheisen strategian. Muista, että tässä artikkelissa on täällä esitellä sinulle, miten Excelä käytetään testistrategioihin. Voimme kehittää tätä eteenpäin. Tässä on ibm. zip-tiedosto, jossa laskentataulukko sisältää tämän testin tiedot ja kaavat. Omat tiedot sijaitsevat nyt sarakkeissa A-C (Päiväys, Avaa, Sulje). Pylväät D-H, minulla on paikkakaavoja tietyn päivän tuoton määrittämiseksi. Kaavojen syöttäminen Herkkä osa (ellei ole Excel-asiantuntija) selvittää käytettävät kaavat. Tämä on vain harjoittelun asia ja sitä enemmän käytät enemmän kaavoja, joita youll löytää ja mitä enemmän joustavuutta sinulla on testaustasi. Jos olet ladannut laskentataulukon, ota sitten kaava D2: ssa. Tämä näyttää: Tämä kaava kopioidaan kaikkiin soluihin D-H (paitsi ensimmäistä riviä), eikä sitä tarvitse säätää, kun se on kopioitu. Lyhyt selittää kaava. IF-kaavalla on ehto, todellinen ja väärä osa. Ehto on: Jos viikonpäivä (muunnettu numeroon 1-5, joka vastaa maanantaista perjantaihin) on sama kuin tämän sarakkeen ensimmäisen rivin (D1) viikonpäivä. Lausunnon todellinen osa (C2-B2) yksinkertaisesti antaa meille arvosanan Close-Open. Tämä tarkoittaa, että ostimme Openin ja myimme Sulkemisen ja tämä on meidän voitonlasku. Lausunnon väärä osa on pari kaksoissidottomuutta (), joka ei tuota soluun, jos viikonpäivää ei ole sovitettu. Pylvään kirjaimen tai rivinumeron vasemmalla puolella olevat merkit lukitsevat sarakkeen tai rivin niin, että kun kopioitu, soluviitteen osa ei muutu. Joten tässä esimerkissämme, kun kaava kopioidaan, päivämäärä solu A2 muuttaa rivinumeron, jos se kopioidaan uuteen riviin, mutta sarake jää sarakkeeseen A. Voit upottaa kaavat ja tehdä poikkeuksellisen voimakkaita sääntöjä ja ilmaisuja. Tulokset Viikonpäiväkerrosten alaosassa olen laatinut yhteenvetofunktiot. Erityisesti keskimääräiset ja summatoiminnot. Nämä osoittavat, että vuoden 2004 kannattavin päivä tämän strategian toteuttamiseksi oli tiistaina, ja tämä seurasi tiistaina keskiviikkona. Kun testasin Expiry Fridays - Härkä tai Bearish strategiaa ja kirjoitin artikkelin, käytin hyvin samanlaista lähestymistapaa laskentataulukkoon ja kaavoihin kuten tämä. Tämän testin tavoitteena oli selvittää, onko perjantaiden päättynyt yleensä nouseva tai laskeva. Kokeile sitä. Lataa joitain tietoja Yahoo Financeista. lataa se Exceliin ja kokeile kaavoja ja katso, mitä voit saada. Lähetä kysymyksiä foorumille. Hyvää onnea ja kannattava strategia metsästys Käytä Excelia kaupankäyntistrategian tarkistamiseen ATR Stop-lossia käyttämällä Tämä viesti jatkaa sarjakuva-artikkeleita Microsoft Excelin käyttämisestä kaupankäyntistrategioihin. Tässä artikkelissa näytän, kuinka laskea stop-loss käyttäen ATR: ää ja sitten miten tarkistaa kaupankäynnin strategia. J. Welles Wilderin kehittämä keskimääräinen todellinen alue ATR on erittäin suosittu kauppiaiden kanssa. Yksinään voidaan ATR: n avulla mitata markkinoiden volatiliteetti ja markkina-alue. Sitä käytetään usein myös muissa teknisissä indikaattoreissa, kuten SuperTrend-indikaattorissa ja ADX: ssä. Yksi suosituimmista käyttötavoista ATR: lle kehitti Chuck LeBeau ja sitä kutsutaan kattokruunuista. Kattokruunun ulostulo asettaa stop-loss-etäisyyden ATR: n moninaiseksi. ATR reagoi markkinaolosuhteisiin niin, että kun asiat ovat rauhallisia, stop-loss on suhteellisen lähellä ja kun asiat ovat epävakaita, stop-loss - tapahtuma on kauempana. Käytettävät kaavat: HL High-Low H-PC abs (High-Previous Sulje) L-PC abs (Low-Previous Close) True Range Max (alue) ATR keskiarvo (alue) SL ATRFactor Max Viikottainen Drawdown Low - (F34gtG34, IF34) Q34, (F35F34) Q34), Q34) Jaa tämä: QSForex on avoimen lähdekoodin tapahtumaketjuinen backtesting - ja live trading - alusta käytettäväksi valuuttamarkkinoilla (forex ) markkinoilla, tällä hetkellä alfatilassa. Se on luotu osana Forex Trading Diary - sarjaa QuantStartista, joka tarjoaa järjestelmällisen kauppayhteisön vankan kaupankäynnin moottorin, joka mahdollistaa suorat Forex-strategian toteutukset ja testaukset. Ohjelmisto on saatavana sallitulla MIT-lisenssillä (ks. Alla). Avoin lähdekoodi - QSForex on julkaistu erittäin sallivassa avoimen lähdekoodin MIT-lisenssissä, joka mahdollistaa täyden käytön sekä tutkimuksessa että kaupallisissa sovelluksissa ilman rajoituksia, mutta minkäänlaista takuuta. Ilmainen - QSForex on täysin ilmainen, eikä se lataa tai käytä mitään. Yhteistyö - Koska QSForex on avoin lähdekoodi, monet kehittäjät tekevät yhteistyötä ohjelmiston parantamiseksi. Uusia ominaisuuksia lisätään usein. Kaikki vikoja voidaan nopeasti määrittää ja korjata. Ohjelmistokehitys - QSForex on kirjoitettu Python-ohjelmointikielellä suoraviivaiselle monialaiselle alustalle. QSForex sisältää joukon yksikkötestejä suurimmalle osalle sen laskentakoodista ja uusia testejä lisätään jatkuvasti uusille ominaisuuksille. Tapahtumaketjuinen arkkitehtuuri - QSForex on täysin tapahtumaketjuinen sekä takaisinkytkennän että kaupankäynnin kohteeksi, mikä johtaa strategioiden siirtymiseen selkeästi uudelleenkoulutusvaiheesta eläväksi kaupankäynnin toteutukseksi. Tapahtumakustannukset - Spread-kustannukset sisällytetään oletusarvoisesti kaikkiin takaisin testattuihin strategioihin. Backtesting - QSForex sisältää päivänsisäisen tick-resoluution monipäiväisen monivaluuttaisen paritunnistuksen. Kaupankäynti - QSForex tukee tällä hetkellä reaaliaikaista päivänsisäistä kaupankäyntiä OANDA Brokerage API: n kautta pareittain. Suoritusmittarit - QSForex tukee tällä hetkellä perusominaisuuksien mittausta ja tasavertaisuutta Matplotlib - ja Seaborn-visualisointikirjastojen kautta. Asennus ja käyttö 1) Käy osoitteessa oanda ja aseta tili saadaksesi API-todennusoikeudet, jotka sinun on suoritettava kaupankäynti. Selitän, miten tämä tehdään tässä artikkelissa: QuantstartarticlesForex-Trading-Diary-1-Automated-Forex-Trading-with-the-OANDA-API. 2) Kollaise tämä git-arkisto sopivaan paikkaan koneellasi käyttäen seuraavaa komentoa päätteessä: git clone githubmhallsmooreqsforex. git. Vaihtoehtoisesti voit ladata nykyisen pääosaston zip-tiedoston osoitteessa githubmhallsmooreqsforexarchivemaster. zip. 3) Luo joukko ympäristömuuttujia kaikissa asetuksissa, jotka löytyvät application. py-tiedostosta hakemuksen juurihakemistossa. Vaihtoehtoisesti voit koodata tiettyjä asetuksiasi korvaamalla os. environ. get (.) - puhelut jokaiselle asetukselle: 4) Luo virtuaalinen ympäristö (virtualenv) QSForex-koodille ja käytä pipia vaatimusten asentamiseksi. Esimerkiksi Unix-pohjaisessa järjestelmässä (Mac tai Linux) voit luoda tällaisen hakemiston seuraavasti syöttämällä seuraavat komennot päätelaitteelle: Tämä luo uuden virtuaaliympäristön pakettien asentamiseksi. Olettaen, että olet ladannut QSForex git - hakemiston esimerkkikansioon, kuten projectsqsforex (vaihda tämä hakemisto alla, missä olet asentanut QSForexin), niin pakettien asentamiseksi sinun on suoritettava seuraavat komennot: Tämä vie jonkin aikaa NumPy, SciPy, Pandas, Scikit-Learn ja Matplotlib on koottava. Työtä varten tarvitaan monia paketteja, joten tutustu näihin kahteen artikkeliin saadaksesi lisätietoja: Sinun on myös luotava symbolinen linkki sivustosi pakettihakemistosta QSForex-asennusohjelmaan, jotta voit soittaa tuo koodi qsforex: n sisällä. Tätä varten tarvitaan seuraava komento: Muista muuttaa projectsqsforex - ohjelmaa asennushakemistoosi ja venvqsforexlibpython2.7-sivustopaketteja virtualenv-pakettihakemistoosi. Voit nyt suorittaa seuraavat komennot oikein. 5) Tässä vaiheessa, jos haluat vain harjoittelua tai elää kaupankäyntiä, voit käyttää Python tradingtrading. py. joka käyttää oletusarvoista TestStrategy-kaupankäynnin strategiaa. Tämä yksinkertaisesti ostaa tai myy valuuttaparin joka 5. rasti. Se on pelkästään testausta varten - älä käytä sitä elävässä kaupankäynnissä Jos haluat luoda hyödyllisemmän strategian, luo sitten uusi luokka, jolla on kuvaileva nimi, esim. MeanReversionMultiPairStrategy ja varmista, että sillä on laskemissignaalitapa. Sinun on siirrettävä tämä luokka pariluetteloon sekä tapahtumajonoon, kuten tradingtrading. py. Tarkastele strategiastrategy. py lisätietoja. 6) Jotta voidaan suorittaa jälkikäsittely, on välttämätöntä tuottaa simuloituja forex - tietoja tai ladata historiallisia rastien tietoja. Jos haluat yksinkertaisesti kokeilla ohjelmiston ulos, nopein tapa luoda esimerkkitiedosto on tuottaa joitain simuloituja tietoja. QSForexin nykyinen tietomuoto on sama kuin DukasCopy Historical Data Feedin toimittama tiedostomuoto, joka on julkaisussa dukascopyswissenglishmarketwatchhistorical. Jos haluat luoda historiallisia tietoja, varmista, että asetusten CSVATADIR-asetus on asetettu hakemistoon, johon haluat historiatiedot elävän. Sinun on sitten suoritettava generatesimulatedpair. py. joka on skriptihakemiston alla. Se odottaa yhden komentorivin argumentin, joka tässä tapauksessa on valuuttaparin BBBQQQ-muodossa. Esimerkiksi: tässä vaiheessa komentosarja on koodattu yhden kuukauden tiedot tammikuun 2014 ajan. Näin näet CSVDATADIR: ssä yksittäiset tiedostot, jotka ovat muotoa BBBQQQYYYYMMDD. csv (esim. GBPUSD20140112.csv). että kuukausi. Jos haluat muuttaa tietolähteen kuukausittaista aikaa, muuta tiedostoa ja suorita uudelleen. 7) Nyt kun historiatiedot on tuotettu, on mahdollista suorittaa backtest. Itse backtest-tiedosto on tallennettu backtestbacktest. py. mutta tämä sisältää vain Backtest-luokan. Jotta testi suoritetaan oikein, sinun on kirjattava tämä luokka ja annettava sille tarvittavat moduulit. Paras tapa nähdä, miten tämä on tehty on tarkastella esimerkkiä Moving Average Crossover toteutusta examplemac. py-tiedostossa ja käytä tätä mallina. Tämä hyödyntää MovingAverageCrossStrategyin, joka löytyy strategystrategy. py. Tämä oletusarvoisesti kaupankäynnin sekä GBPUSD: n että EURUSD: n avulla osoittaa usean valuuttaparin käytön. Se käyttää CSVDATADIRissa löydettyjä tietoja. Jos haluat suorittaa esimerkin taustatestin, toimi seuraavasti: Tämä kestää jonkin aikaa. Omassa Ubuntu-työpöytäjärjestelmässäni kotona, generatilla simuloitujen parempien tietojen avulla tuotettujen historiallisten tietojen avulla. kestää noin 5-10 minuuttia. Suuri osa tästä laskelmasta tapahtuu todellisen takapotkun lopussa, kun laskutus lasketaan, joten muistakaa, ettei koodia ole ripustettu. Jätä se loppuun asti. 8) Jos haluat tarkastella backtestin suorituskykyä, voit vain käyttää output. py-ohjelmaa nähdäksesi omi - naiskäyrän, ajanjaksot (eli tick-to-tick returns) ja tasoituskäyrän: Ja thats it Tässä vaiheessa olet valmis Aloita omien takaiskujen luominen muuttamalla tai lisäämällä strategioita strategystrategy. py ja käyttämällä DukasCopyn (dukascopyswissenglishmarketwatchhistorical) kautta ladatut reaaliaikaiset tiedot. Jos sinulla on kysyttävää asennuksesta, ole hyvä ja lähetä minulle sähköpostia osoitteeseen mikequantstart. Jos sinulla on vikoja tai muita ongelmia, jotka luulet johtuvan erityisesti koodibusseista, voit vapaasti avata Github-ongelman täältä: githubmhallsmooreqsforexissues Copyright (c) 2015 Michael Halls-Moore Lupa myönnetään maksutta kaikille henkilöille hankkimalla kopio tästä ohjelmistosta ja siihen liittyvistä dokumentaatiotiedostoista (ohjelmisto), rajoittamatta Ohjelmistoa, mukaan lukien rajoituksetta käyttöoikeudet, kopioiminen, muuttaminen, yhdistäminen, julkaiseminen, jakelu, sublicensio tai myymällä Ohjelmiston kopioita, ja sallia henkilöille, joille ohjelmisto on toimitettu, seuraavin edellytyksin: Edellä mainittu tekijänoikeusilmoitus ja tämä käyttöilmoitus on sisällytettävä kaikkiin kopioihin tai olennaisiin osiin Ohjelmistosta. OHJELMISTO ON TOIMITETTAVA TAI SELLAISENAAN, ILMAN MINKÄÄNLAISIA, ILMAISIA TAI EPÄSUORISIA TAKUUTA, MUKAAN LUKIEN MUKAAN LUKIEN KAUPANKÄYNTIHINNYS, SOPIVUUTTA TIETTYYN TARKOITUKSEEN SOVELTUVUUDESTA JA RAJOITTAMISESTA. MITÄÄN AUTHORS TAI KÄYTTÖOPPALAISIMET OLE MISSÄÄN TAPAUKSESSA VASTUUSSA MISTÄÄN VAATIMUKSISTA, VAHINGOISTA TAI MUISTA VASTUUISTA, SOPIMUSTA SOPIMUKSESSA, RIKOSSA TAI MUUHIN SOPIVAT OHJELMISTON TAI KÄYTTÖÖN TAI MUIDEN KÄYTTÖOIKEUKSIEN KÄYTTÖÖN OHJELMISTO. Forex Trading Disclaimer Kaupankäynti valuuttakurssi marginaali kantaa suurta riskiä, ​​ja se ei ehkä sovellu kaikille sijoittajille. Aiempi tulos ei osoita tulevia tuloksia. Korkea vipuvaikutus voi toimia sekä sinua että sinua kohtaan. Ennen sijoittamista valuuttamarkkinoille kannattaa harkita huolellisesti investointitavoitteita, kokemustasoa ja riskinottohalukkuutta. Mahdollisuus on, että saatat menettää osan tai koko alkuperäisen sijoituksenne, joten sinun ei pitäisi sijoittaa rahaa, jolla ei ole varaa menettää. Sinun tulisi olla tietoinen kaikista valuuttakaupankäyntiin liittyvistä riskeistä ja kysy neuvoa itsenäiseltä talousneuvojalta, jos sinulla on epäilyksiä.

No comments:

Post a Comment