Sunday, 24 December 2017

Bygga a lager handel system


Handelssystem: Konstruera ett system 13 Hittills har vi diskuterat de grundläggande komponenterna i handelssystemen, de kriterier de måste mötas och några av de många empiriska beslut som en systemdesigner måste göra. I det här avsnittet kommer vi att undersöka processen för att bygga ett handelssystem, de överväganden som behöver göras och några viktiga punkter att komma ihåg. Six-Step System Construction 1. Inställning - För att börja bygga ett handelssystem behöver du flera saker: Data - Eftersom systemdesignern måste använda omfattande backtesting. Tidigare prishistoria är viktigt för att bygga ett handelssystem. Sådan data kan integreras i handelssystemutvecklingsprogram, eller som en separat dataflöde. Levnadsdata tillhandahålls ofta för månadsavgift, medan åldersdata kan erhållas gratis. Programvara - Även om det är möjligt att utveckla ett handelssystem utan programvara, är det mycket opraktiskt. Sedan slutet av 90-talet har mjukvara blivit en integrerad del av byggandet av handelssystem. Några vanliga funktioner gör det möjligt för näringsidkaren att göra följande: Placera handlar automatiskt - Detta kräver ofta tillstånd från mäklarens slut eftersom en konstant anslutning måste vara på plats mellan din programvara och mäklaren. Handlarna måste utföras omedelbart och till exakta priser för att säkerställa överensstämmelse. För att få din mjukvara att placera affärer för dig behöver du bara ange kontonummer och lösenord och allt annat görs automatiskt. Observera att den här funktionen är strikt frivillig. Kod ett handelssystem - Denna programvarufunktion implementerar ett proprietärt programmeringsspråk som låter dig enkelt bygga regler. MetaTrader använder till exempel MQL (MetaQuotes Language). Heres ett exempel på sin kod att sälja om fri marginal är mindre än 5000: Om FreeMargin lt 5000, avsluta Ofta Bara att läsa manualen och experimentera ska låta dig hämta grunderna för språket som din programvara använder. Backtest din strategi - Systemutveckling utan backtesting är som att spela tennis utan en racket. Systemutvecklingsprogramvara innehåller ofta en enkel backtesting-applikation som gör att du kan definiera en datakälla, inmatnings kontoinformation och backtest i vilken tid som helst med ett musklick. Här är ett exempel från MetaTrader: Efter att backtestet körs genereras en rapport som beskriver resultaten av resultaten. Den här rapporten innehåller vanligtvis vinst, antal misslyckade affärer, antal dagar i följd, antal branscher och många andra saker som kan vara till hjälp när du försöker bestämma hur du felsöker eller förbättrar systemet. Slutligen skapar mjukvaran vanligtvis en graf som visar investeringens tillväxt under hela testperioden. 2. Design - Designen är konceptet bakom ditt system, hur parametrarna används för att generera en vinst eller förlust. Du implementerar dessa regler och parametrar genom att programmera dem. Ibland kan denna programmering göras automatiskt via ett grafiskt användargränssnitt. Detta låter dig skapa regler utan att lära sig ett programmeringsspråk. Här är ett exempel på ett glidande medelvärdeöverföringssystem: Om SMA (20) CrossOver EMA (13) sedan anger Om SMA (20) CrossUnder EMA (13) avslutar Regler som de som läggs i kod tillåter programmet automatiskt generera inmatning och utgångar vid de punkter där reglerna är tillämpliga. Så här ser designgränssnittet ut på MetaTrader: Systemet skapas genom att bara skriva reglerna i fönstret och spara dem. Referenser för olika funktioner tillgängliga (till exempel oscillatorer och liknande) kan hittas genom att klicka på bokikonen. De flesta programvaror kommer att ha en liknande referens tillgänglig antingen inom själva programmet eller på dess hemsida. Efter att du skapat de önskade reglerna och kodar systemet, sparar du bara filen. Då kan du använda den genom att välja den på huvudskärmen. 3. Beslutsfattande - Det finns många beslut att göra vid denna tidpunkt: Vilken marknad vill jag byta i? 13 Vilken tidsperiod ska jag använda? 13 Vilka prisserier ska jag använda? 13 Vilken del av aktierna ska jag använda för testning? tänka på att handelssystemen konsekvent ska göra vinst på många marknader. Genom att anpassa tidsperioden och prisserierna för mycket kan du smita resultaten och ge uncharacteristic results.4. Övning - Backtesting och pappershandel är avgörande för en framgångsrik utveckling av ett handelssystem: Kör flera backtests på olika tidsperioder och se till att resultaten är konsekventa och tillfredsställande. Pappershandel systemet (använd imaginära pengar, men registrera affärer och resultat), och återigen leta efter konsekvent lönsamhet. Kontrollera noggrant om fel i programmet eller oavsiktliga affärer. Dessa kan vara ett resultat av felaktig programmering eller underlåtenhet att förutse vissa omständigheter som har oönskade följder. 5. Repetera - Repetition är nödvändig. Fortsätt arbeta med systemet tills du konsekvent kan göra vinst på de flesta marknader och villkor. Det finns alltid oförutsedda händelser som inträffar så snart ett system går live. Här är några faktorer som ofta orsakar snedställda resultat: Transaktionskostnader - Se till att du använder den verkliga kommissionen. och lite extra för att redogöra för felaktiga fyllningar (skillnad mellan bud och fråga). Med andra ord, undvik att glida (För att se vad det här är och hur det händer, se den föregående delen av denna handledning.) Varning - Undvik att förlora affärer hålla ett öga på alla affärer. Optimering - Inte över optimera systemet. Med andra ord, skräddarsy inte systemet till en mycket specifik marknadsmiljö, försök att vara lönsam i så stor miljö som möjligt. Risk - Aldrig ignorera eller glömma risk. Det är väldigt viktigt att få sätt att begränsa förluster (annars kallas stoppförluster) och sätt att låsa in vinster (ta vinst). 6. Handel - Prova det, men förvänta sig oavsiktliga resultat. Var säker på att använda icke-automatiserad handel tills du är säker på systemets prestanda och konsekvens. Det tar lång tid att utveckla ett framgångsrikt handelssystem, och innan du gör det kan du behöva uthärda några levande handelsförluster för att upptäcka glitches. Backtestning kan inte perfekt representera levande marknadsförhållanden och pappershandel kan vara felaktigt. Om ditt system förlorar pengar, gå tillbaka till ritbordet och se var det gick fel (se steg 5). Slutsats Dessa sex steg ger dig en överblick över hela processen med att bygga ett handelssystem. I nästa avsnitt bygger vi vidare på denna kunskap och tar en djupare titt på felsökning och modifiering. Bygg ett aktiehandelssystem för ditt liv Handel för ett levande är en spännande idé och aktiehandel kan ge dig livet du vill. Ett system är helt enkelt en uppsättning regler som definierar hur du kommer in och ut ur finansmarknaden för att tjäna pengar. Börshandeln fungerar eftersom de eliminerar känslor, skapar konsekvens och tar en kanten på marknaderna. Mostxa0new-handlare misslyckas och förlorar moneyxa0because de tar tips från andra, de gör vad som är populärt, de gör vad som låter bra på middagspartier, de gör vad som marknadsförs kraftigt av branschen, de använder någon annan aktiehandel systemxa0-de gör inte vad som är lönsam Jag tror att du kan lyckas där så många andra har misslyckats Du kan tjäna pengar handel, xa0YOU kan leva och arbeta var som helst i världen och du kan vara fri från företags slaveri. Bygg ditt eget handelssystem som uppfyller dina mål, passar din personlighet och ger dig det liv du vill ha är svaret. Jag kan visa dig i fyra enkla steg hur man bygger ett lönsamt system som kommer att fungera för dig oavsett om du vill handla börsen, terminsmarknaden eller valutamarknaden. Mitt mål är att hjälpa dig att lyckas genom att bygga ditt eget lönsamma börshandelssystem som uppfyller dina mål och ger dig det liv du vill ha. De flesta nya handlare misslyckas eftersom de inte har en guide för att hjälpa dem att bygga ett lönsamt system som passar dem. På egen hand är det här en svår resa - Låt mig hjälpa dig att bli en lönsam näringsidkare snabbt. Se till att du även kolla in min nya hemsida på Upplysad aktiehandel för att lära dig hur man utvecklar ett vinnande börshandelssystem som passar din personlighet, dina mål och din idealisk livsstil. Var börjar jag Det finns otaliga kurser, dyra abonnemangstjänster och system för försäljning i denna bransch. Inget av dessa är svaret isolerat. . Svaret är att designa ditt eget handelssystem med förståelse för dig själv. Någon som gillar åtgärd kommer att ha svårt att handla med en långsiktig vecka. Patienten anses vara svår att flytta till och från marknaderna flera gånger om dagen som daghandlare. Den som tycker om att vara rätt kommer att ha problem med en handelsstil som är fel 80 av tiden (även om de återstående 20na gör mycket pengar totalt) Personen som lär sig att handla samtidigt i ett heltidsarbete kommer att finna det enklaste att göra sin analys efter timmar så att jobbet inte gör det lider och kommer att behöva ett slut på dagen system som rymmer detta Frågan som de flesta nya handlare frågar: Hur gör du pengar handel är den felaktiga frågan Frågan varje näringsidkare borde fråga är: Hur kan jag tjäna pengar handel Alla är olika, soxa0you kan inte tjäna pengar konsekvent att ta tips från vänner, följa nyhetsbrev, prenumerera på deponeringstjänster, läsa nyhetsbrev, betala för dyra seminarier för att lära sig hemliga handelsmetoder. varför Eftersom dessa saker alla har en sak gemensamt - de misslyckas med att ta hänsyn till DIG Det finns många missuppfattningar om hur man gör konsekventa handelsvinster. Sanningen är att du kan bygga ekonomisk frihet genom handel. utan att vara tvungen att titta på marknaderna hela dagen utan daglig handel utan högfrekvent handel utan skalning utan inbyggd kunskap. Trots all hype är de bara ett stressande jobb som kedjar dig till datorskärmen. Du kan ha både fritid och pengar. Medel till långsiktiga handelsstrategier kan ge dig detta. Min 4 stegs strategi för aktiehandelssystem Den stora nyheten är att det bästa systemet inte är komplext eller svårt att designa. Oavsett om du handlar aktiemarknaden, terminsmarknaden, xa0forex eller alternativ eller något annat instrument är det bästa systemet en du bygger själv så att du förstår hur och varför det fungerar. Mitt tillvägagångssätt för att styra dig är en enkel och transparent process för att lyckas med handel. Genom den här webbplatsen och mina andra resurser hjälper jag dig: Steg 1: Ställ in dina handelssystemmål xa0 Steg 2: Välj den aktiehandelstrategi som bäst passar dig Steg 3: Bygg dina aktiehandelssystem på rätt sätt Steg 4: Dokumentera din handel plan När du går igenom dessa steg kommer du också att överväga att utveckla riskhanterings - och portföljhanteringsregler för att möta dina mål Välja din programvara för att säkerställa att det är upp till uppgiften att utveckla ett robust system Få de bästa handelsböckerna för att utöka din kunskap Eliminerande handelsfel Ixa0had värdefullt litet stöd på min egen resa till handelssucces. Det tog flera år att hitta ett tillvägagångssätt som gav den livsstil jag ville ha. Mitt mål var frihet genom handel, inte fulltidsarbete. Det fanns väldigt begränsat användbart stöd inom handelsbranschen, och det var svårt att hitta bra resurser. Jag utvecklade gradvis min förståelse för handelens psykologi och undersökte flera handelsstrategier och investeringsmetoder. Ixa0read otaliga böcker om handelssystem, designade och testade mina egna system, lärde mig mjukvaran och hittade min väg. Många misslyckas eftersom det här är en utmanande väg, men resultatet är väl värt resan. Jag hoppas att dela min resa ger dig framgång och genvägar din inlärningskurva för att lönsamma handla. Bygg ett aktiehandelssystem med maskininlärning Jag har nyligen spenderat mycket tid på hur man bygger och testar en aktiehandelstrategi med maskinlärande. I slutet av min forskning finner jag det ganska omöjligt, men det är mycket roligt i processen och ibland kan det till och med vara lönsamt. Jag kommer att täcka följande ämnen i denna bloggartikel: 1) Typer av marknadsanalys Jag ska börja med några nyckeltermer och analysmetoder när det handlar om finansiella marknader. Det finns många ekonomiska villkor som aktier, obligationer, fonder, ETF, valutor och så vidare. men jag kommer att fokusera på aktier och aktiemarknaden här. När du köper aktier och aktier äger du en del av bolaget rätt att rösta på bolagsstämmor. Varje aktie är en liten andel i ett företag och du kan köpa ett stort antal partier. Priset på ett lager förväntas öka när framtidsutsikterna för bolaget stiger och minskar eftersom dessa utsikter minskar. Investerare faller vanligen i ett av två läger. Det första lägret tror på grundläggande analys. Grundläggande analytiker häller genom företagsekonomi letar efter information som indikerar att på något sätt marknaden undervärderar ett företags aktier. Dessa investerare tittar på olika faktorer som intäkter, intäkter och kassaflöde. De undersöker också många förhållanden som hänför sig till dessa värden. Många gånger innebär det att man tittar på hur ett företags ekonomiska finanser jämför med another8217s. Det andra läget av investerare är de tekniska analytikerna. Tekniska analytiker tror att aktiekursen på ett lager redan återspeglar all tillgänglig offentlig information, och att det är i stort sett ett slöseri med att man tittar genom grunden. De tror att genom att titta på historiska priser kan diagrammen se områden där priserna sannolikt kommer att stiga, falla eller stagnera. I allmänhet känner de att dessa kartor visar ledtrådar till investorspsykologi. Vad båda grupperna har gemensamt är en underliggande tro på att rätt analys kan leda till vinst. Är detta sant, men 2) Forskning på aktiemarknaden Baserat på den effektiva marknadshypotesen (EMH), en av de mest inflytelserika teorierna på aktiemarknaden under de senaste 50 åren, finns det inte mycket hopp om att tjäna pengar genom att utnyttja mönster på aktiemarknaden. Lyckligtvis, medan marknaden fungerar på ett väldigt effektivt sätt i det hela taget, har tydliga ineffektivitetsfack upptäckts. De flesta av dessa tenderar att vara efemära, men vissa fortsätter. Eugene Fama är en av de mest pervasiveeven enligt 8216fadern i EMH8217, och är överträffa momentumstrategierna. Så, vad exakt är en momentumstrategi Det finns ett antal variationer på temat, men grundtanken är att lagren rankas från högsta till lägsta enligt deras avkastning under en viss tidigare period. Toppartisterna köps och hålls under en viss tid, och sedan upprepas processen efter en viss fast innehavstid. En typisk långsiktig dynamikstrategi kan innebära att man köper de 25 största företagen i SampP 500 under det senaste året, håller dem i ett år och sedan upprepar processen. Det kan låta som en absurd enkel strategi och det är. Det har emellertid konsekvent returnerat resultat som trotsar förväntan. Varför Som du kan föreställa dig, har mycket forskning undersökt denna effekt och hypotesen är att det finns något i sig, systematiskt förspänt om hur människor hanterar ny information. Forskning tyder på att de underreakterar nyheter på kort sikt och sedan överreagerar på nyheter på lång sikt. Kommer den här effekten att skiljas bort som mer handlare lär sig av det och staplar in. Det har visat sig några bevis på detta under senare år, men det är fortfarande oklart. Oavsett var effekten verklig och kvarstod mycket längre än vad som för närvarande kan redovisas av effektiva marknadshypotesen, så det finns hopp. Med denna lilla glimmer av hopp går let8217 nu vidare och ser hur vi kan gå om att hitta våra egna avvikelser. 3) Utveckla ett aktiehandel system Jag kommer att börja utveckla ett aktiehandel system i detta avsnitt. Jag använder Python med maskinlärning och följande vetenskapliga Python-paket. Om du är ny på Machine Learning och Python rekommenderar jag att du läser boken Python Machine Learning. pandas 8211 Python data analys bibliotek, inklusive strukturer som datafram. Detta ger oss tillgång till flera källor till lagerdata, inklusive Yahoo och Google. scikit-learn 8211 maskininlärningsalgoritmerna som används för dataanalys och datautvinningsuppgifter Don8217t gör dumma saker med informationen i det här avsnittet. Riskera inte pengar som du inte har råd att förlora. Om du bestämmer dig för att använda allt som du lärde dig här för att handla, är du själv. Detta bör inte betraktas som investeringsrådgivning av något slag, och jag tar inget ansvar för dina handlingar. Först måste jag installera datareaderpaketet. Sedan fortsätter vi att ange vår import, enligt följande: Nu får vi vår data för SPY ETF nu. Detta instrument representerar aktierna i SampP 500. We8217ll drar data från början av 2010 till och med början av mars 2016: Den föregående koden genererar följande utdata: Vi kan nu plotta våra data. We8217ll välj endast slutkursen enligt följande: Koden genererar följande resultat: I föregående figur ser vi prisdiagrammet för den dagliga slutkursen för SampP 500 för den period som vi valde. Let8217s kör lite analys för att se vad avkastningen över den här perioden kunde ha varit om vi hade investerat i denna ETF. Let8217s drar data för den första öppna först: Den föregående koden genererar följande utdata: Nästa, let8217s får slutkursen på sista dagen av perioden: Detta kommer att resultera i följande produktion: Och slutligen let8217s se ändringen över hela period: Här är resultatet: Så verkar det som om ett köp av 100 aktier i början av perioden skulle ha kostat oss cirka 11 237, och vid slutet av perioden hade samma 100 aktier värderats till cirka 19 811. Denna transaktion skulle ha gett oss en vinst på över 76 under perioden. Inte illa alls. Let8217 tar nu en titt på avkastningen under samma period för bara intradagvinsterna. Detta förutsätter att vi köper lagret varje dags öppning och säljer det vid slutet av samma dag: Detta kommer att ge oss förändringen från öppet till slutet varje dag. Let8217s ta en titt på detta: Den föregående koden genererar följande produktionen: Let8217s summerar nu dessa förändringar under perioden: Koden genererar följande utdata: Så som du kan se har vi gått från en vinst på över 85 poäng till en på drygt 41 poäng. Ouch Mer än hälften av marknaden8217s vinster kom från att hålla över natten under perioden. Den dagliga avkastningen var bättre än intradagavkastningen, men vad sägs om volatiliteten Avkastning bedöms alltid på en riskjusterad basis, så let8217s tar en titt på hur övernattningsverksamheten jämfört med intradaghandeln baserat på deras standardavvikelse. Vi kan använda NumPy för att beräkna detta för oss, enligt följande: Den föregående koden genererar följande utdata: Nu får let8217s standardavvikelsen. Koden genererar följande produktionen: Så hade vår över natten handel lägre volatilitet jämfört med intradaghandeln också. Men inte all volatilitet skapas lika. Let8217s jämför den genomsnittliga förändringen på nackdelen dagar kontra uppåtsdagar för båda strategierna. Först let8217s tittar på uppåtriktade dagar: Den föregående koden genererar följande utdata: Nu ser vi på nedsidans dagar: Den föregående koden genererar följande utdata: Återigen ser vi att den genomsnittliga nackdelen är mindre för vår övergripande handelsstrategi mot vår intradag handelsstrategi. Hittills tittade vi på allt i fråga om poäng, men let8217s flyttar nu för att se på avkastning. Detta kommer att hjälpa våra vinster och förluster i ett mer realistiskt sammanhang. Fortsatt med våra tre strategier, we8217ll konstruerar en pandaserie för varje scenario: Daglig avkastning (nära nära förändring), intradagavkastning (öppen för stängning), och över natten returnerar (nära att öppna) enligt följande: Vad vi har gjort är att använda pandorna. shift () - metoden för att subtrahera varje serie från den tidigare dagen8217-serien. Till exempel för den första serien i föregående kod subtraherade vi den närmaste dagen sedan från den aktuella stängningskursen för varje dag. En ny serie genereras som innehåller en mindre datapunkt på grund av skillnaden. Om du skriver ut den nya Serien kan du se följande: Den föregående koden genererar följande utdata: Let8217s nu titta på statistiken för alla tre strategierna. We8217ll skapa en funktion som kan ta i varje serie av avkastning, och kommer att skriva ut sammanfattningsresultaten. We8217 kommer att få statistik för vart och ett av våra vinnande, förlorande och breakeven-affärer, och något som heter Sharpe-förhållandet. Jag sa tidigare att avkastningen bedöms på en riskjusterad basis. Detta är precis vad Sharpe-förhållandet ger oss. Det är en metod att jämföra avkastningen genom att redovisa volatiliteten i dessa avkastningar. Här använder vi Sharpe-förhållandet med en justering för att årliggöra förhållandet: Let8217s kör nu varje strategi för att se statistiken. We8217ll börjar med köp och håll strategi (dagliga avkastning) och sedan flytta till de andra två, enligt följande: Den föregående koden genererar följande utdata: Den föregående koden genererar följande utdata: Den föregående koden genererar följande utdata: Som du kan se, köp och håll strategi har den högsta genomsnittliga avkastningen samt den högsta standardavvikelsen för de tre. Detta har också den största dagliga nedräkningen (förlust). Observera också att även om strategin över natten endast har samma genomsnittliga avkastning som intradagstrategin, har den betydligt mindre volatilitet. Detta ger i sin tur ett Sharpe-förhållande som är högre än intradagstrategin. Vid denna tidpunkt har vi en solid utgångspunkt för att jämföra våra framtida strategier. Nu ska jag berätta om en strategi som blåser alla tre av dessa strategier ur vattnet. Let8217s ta en titt på statistiken för den här nya mysteriestrategin: Med denna strategi har jag nästan tredubblat Sharpe-förhållandet över köp och håll, sänkt volatiliteten väsentligt, ökat maxvinsten och minskade maxförlusten med nästan hälften. Hur tänkte jag ut denna marknadsstrategi? Vänta på it8230. Jag gjorde detta genom att generera 1.000 försök av slumpmässiga över natten signaler (antingen att köpa eller inte) för testperioden och plockade sedan den bäst utövande en. Detta gav mig strategin med de bästa 1.000 slumpmässiga signalerna. Detta är uppenbarligen inte sättet att slå marknaden. Så då, varför gjorde jag det här jag gjorde för att visa att om du testar tillräckligt med strategier är faktumet att bara genom slumpmässig chans kommer du att stöta på några strategier som verkar vara fantastiska. Detta kallas data mining fallacy. och det är en verklig risk i handelsstrategins utveckling. Det är därför det är så viktigt att en strategi förankras i verklig beteendeuppförande som är systematiskt förspänd på grund av vissa verkliga hinder. Om du vill ha en handelskedja, handlar du inte om marknaderna, du handlar med de människor som handlar marknader. Vår kant kommer från omtänksamt att förstå hur människor kan reagera på vissa situationer. Utöka vår analysperiod Let8217s utökar nu vår analys. Först tar vi82 data till indexet från och med år 2000: Let8217s tittar på vårt diagram nu: Den föregående koden genererar följande resultat: Här ser vi prisåtgärden för SPY från början av 2000 till och med den 1 mars, 2016. Det har verkligen varit mycket rörelse under den perioden då marknaden har upplevt både mycket positiva och starkt negativa regimer. Let8217s får vår utgångspunkt för vår nya utvidgade period för våra tre basstrategier. Först satte let8217s våra variabler för var och en av dem, enligt följande: Nu, let8217s ser vad poängen totalt är för var och en av dem. Först nära att stänga: Den föregående koden genererar följande utmatning: Öppna sedan för att stänga: Den föregående koden genererar följande utmatning: Slutligen nära att öppna: Den föregående koden genererar följande utmatning: Nu let8217s tittar på statistiken för varje. Först får vi statistiken för nära att stänga: Den föregående koden genererar följande utmatning: Därefter hämtar vi dagars returstatistik: Den föregående koden genererar följande utdata: Slutligen får vi den dagliga returstatistiken: Den föregående koden genererar följande produktion: Vi kan se att skillnaderna mellan de tre är ännu mer uttalade under en längre period. Om vi ​​bara höll denna SampP ETF under dagen under de senaste 16 åren, skulle vi ha förlorat pengar. Om vi ​​bara höll ETF över natten, skulle vi ha förbättrat våra avkastningar med mer än 50. Det förutsätter givetvis inga handelskostnader och inga skatter tillsammans med perfekta fyllningar, men oavsett det här är ett anmärkningsvärt resultat. 4) Bygg och utvärdera maskininlärningsmodellen Jag ska bygga den första handelsstrategin med hjälp av en supportvektorregression och den andra handelsstrategin med dynamisk tidsspridning. Bygga vår modell med en stödvektorregression Nu när vi har en baslinje att jämföra med, let8217s bygger vår första regressionsmodell. We8217 kommer att börja med en mycket grundläggande modell med endast stock8217s tidigare stängningsvärden för att förutsäga nästa day8217s close. We8217 kommer att bygga denna modell med hjälp av en stödvektorregression. Med detta lade let8217s upp vår modell. Det första steget är att skapa ett DataFrame-objekt som innehåller prishistorik för varje dag. We8217 kommer att inkludera de senaste 20 stängningarna i vår modell, enligt följande: Den föregående koden genererar följande utdata: Denna kod ger oss varje dag8217s slutkurs tillsammans med tidigare 20 alla på samma rad. Detta kommer att ligga till grund för X-serien som vi kommer att mata vår modell. Men innan vi är redo för detta finns det några ytterligare steg. Först, we8217ll vända våra kolumner så att tiden går från vänster till höger, enligt följande: Den föregående koden genererar följande utdata: Nu importerar let8217s vår supportvektormaskin och ställer in våra tränings - och testmatriser och våra målsvektorer för var och en: Vi hade bara lite över 4000 datapunkter att arbeta med, och väljer att använda de sista 1000 för testning. Let8217s passar nu vår modell och använder den för att testa data utanför data, enligt följande: Nu när vi har våra förutsägelser jämför let8217s dem med våra faktiska data: Den föregående koden genererar följande utmatning: Utvärdering av vår modell8217s prestanda Let8217s nu titta på utförandet av vår modell. We8217 kommer att köpa nästa dag8217s öppna om stängningen beräknas vara högre än den öppna. We8217ll säljer sedan i slutet samma dag. We8217ll lägger till några extra datapunkter till vårt DataFrame-objekt för att beräkna våra resultat enligt följande: Den föregående koden genererar följande utdata: Här lägger vi8217ll följande kod för att få vår signal och vår vinst och förlust för signalen: Den föregående koden genererar följande produktion: Let8217s ser nu om vi lyckades förutsäga nästa dag8217s pris med bara prishistoriken. We8217ll börjar med att beräkna poäng som uppnåtts, enligt följande: Den föregående koden genererar följande utdata: Ouch Ser inte så varmt ut hittills. Men hur länge vi testade Vi utvärderade det aldrig i isolation. Hur många poäng skulle vår grundläggande intradagstrategi ha genererat under de senaste 1 000 dagarna: Den föregående koden genererar följande resultat: Så ser det ut som om vår strategi inte ens matchade den grundläggande intradagsköpstrategin. Let8217s får den fullständiga statistiken att jämföra de två. För det första är den grundläggande intradagstrategin för perioden följande: Den föregående koden genererar följande utdata: Nu är resultaten för vår modell följande: Den föregående koden genererar följande utdata: Det ser dåligt ut. Vad händer om vi ändrade vår handelsstrategi Vad händer om vi bara tog affärer som förväntades bli större med en punkt eller mer istället för att bara vara något större än det öppna. Skulle detta hjälpa Let8217s prova det. We8217ll re-run vår strategi med en modifierad signal, enligt följande: Den föregående koden genererar följande utdata: Nu är statistiken följande: Den föregående koden genererar följande produktion: Vi har gått från dåligt till sämre. Det verkar som om tidigare prishistoria föreslår bra saker att komma, kan man förvänta sig exakt motsatsen. Vi verkar ha utvecklat en contrarian indikator med vår modell. Vad händer om vi undersöker detta Let8217s ser hur våra vinster skulle se ut om vi vred vår modell så att vi inte handlar om starka vinster, men vi gör det på följande sätt: Den föregående koden genererar följande resultat: Let8217s får vår statistik : Detta kommer att resultera i följande produktion: Det verkar som om vi har en kontrarindikator här. När vår modell förutser starka nästa dags vinster, är marknaden betydligt underpresterande (åtminstone för vår testperiod). Skulle detta vara sant i de flesta scenarier? Inte troligt. Marknader tenderar att flipa från regimer av medelvärde reversion till regimer av trend persistens. Let8217s kör vår modell för en annan period för att testa det vidare: Den föregående koden genererar följande produktion: Så kan vi se att vår nya modell och testperiod återvände över 33 poäng. Let8217s jämför detta med intradagstrategin för samma tidsperiod: Detta resulterar i följande produktion: Så verkar det som om vår kontrarianmodell överträffade betydligt under vår nya testperiod också. Vid detta tillfälle finns det ett antal tillägg som vi kan göra för denna modell. Vi har även berört med att använda tekniska indikatorer eller grundläggande data i vår modell, och vi har begränsat våra affärer till en dag. Allt detta kan tweaked och förlängas på. Men nu vill jag introducera en annan modell som använder en helt annan algoritm. Denna algoritm kallas dynamisk tidsförvrängning. Vad det gör är att ge dig en metrisk som representerar likheten mellan två tidsserier. Modeling with Dynamic Time Warping För att komma igång måste we8217ll pip installera fastdtw biblioteket från kommandoraden med hjälp av pip install fastdtw. När detta är klart importerar we8217ll de ytterligare bibliotek som we8217ll behöver, enligt följande: Nästa, we8217ll skapar funktionen som kommer att ta i två serier och återge avståndet mellan dem: Nu splittrade we8217ll våra 16 års tidsseriedata i olika fem dagperioder. We8217ll parar samman varje period med ytterligare en punkt. Detta kommer att fungera för att skapa vår x - och y-data enligt följande: Vi kan titta på vår första serie för att få en uppfattning om hur data ser ut: Den föregående koden genererar följande utdata: Nu när vi har varje serie, vi kan köra dem genom vår algoritm för att få avståndet för varje serie mot varje andra serie: När vi har det här kan vi placera det i ett DataFrame-objekt. We8217ll släppserier som har nollavstånd eftersom de representerar samma serie. We8217ll sorterar också efter datumet för serien och ser bara på de där den första serien är kronologisk före den andra: Finally, we8217ll begränsar våra branscher till var avståndet är mindre än 1 och den första serien har en positiv avkastning: föregående kod genererar följande utdata: Let8217 ser vad ett av våra översta mönster ser ut när de plottas: Den föregående koden genererar följande utmatning: Nu, we8217ll plottar den andra: Den föregående koden kommer att generera följande utdata: Som vi kan se kurvor är nästan identiska, vilket är exakt vad vi vill ha. We8217 kommer att försöka hitta alla kurvor som har positiva nästa dagars vinster. Då, när vi har en kurva som mycket liknar en av dessa lönsamma kurvor, köper vi det i väntan på en annan vinst. Let8217s konstruerar nu en funktion för att utvärdera våra affärer. We8217ll köper liknande kurvor om de inte lyckas ge ett positivt resultat. Om detta händer, eliminerar vi8217ll dem: Nu när vi har alla avkastningar från våra affärer som lagras i returlistan, let8217s utvärderar resultaten: Den föregående koden genererar följande utdata: Dessa resultat är överlägset de bästa som vi har sett. Winloss-förhållandet och medelvärdet ligger långt över våra andra modeller. Det verkar som om vi kan vara på något med den här nya modellen, särskilt i jämförelse med de andra som vi sett. Vid denna tidpunkt, för att ytterligare veta vår modell, bör vi utforska sin robusthet genom att undersöka andra tidsperioder för våra matcher. Går förlängningen utöver de fyra dagarna att förbättra modellen Ska vi alltid utesluta de mönster som skapar en förlust. Det finns många fler frågor vi kan undersöka just nu, men I8217ll lämnar det som en övning för läsaren. Om du använder dessa tekniker vet du att vi bara har repat ytan, och det krävs så mycket mer testning över ytterligare fönster för att på lämpligt sätt testa dessa modeller. Bygga en handelsdator. kd2013 3 jun 2013, 3:31 AM Jag överväger att ha ett anpassat system byggt. Min dator dog och jag vet att när du bygger dig brukar du få en bättre affär än att köpa en tillverkad modell. När du bygger en dator, vilka är de viktigaste funktionerna som kommer att göra skillnad när du handlar aktier. Vilka typer av teknik använder de flesta nätverksmäklare nätverk, systemplatforms använder jag läste någonstans att thinkorswim har högsta gränser för ramanvändning. Jag vill inte spendera hundratals på funktioner som verkligen inte gör så mycket av en skillnad. I grund och botten några råd och åsikter om vad som verkligen är nödvändigt och vad som kommer att göra en drastisk skillnad i exekveringshastighet, mönsterigenkänning etc. i allmänhet, där börjar hastighet och minne verkligen skilja sig när det gäller standarduppgraderingar när dagens handel är det allmänna frågor som jag försöker att sortera ut någon hjälp uppskattas 1. CPU (processor) A. Does multi-core-bearbetning verkligen påskynda resultaten De flesta processorer har nu en dag någonstans mellan 2-8 kärnor, de 2 och 4 kärnkraftspecifikationerna verkar ganska populära. Så vissa processorer har samma GHz men flera kärnor är att något betydande, uppgifterna är spridda över flera kärnor vilket betyder att den högre kärnprocessorn i teorin borde vara mycket snabbare för att slutföra samma uppgift. B Gör skillnader i GHz-hastigheter märkbart bättre prestanda 2. ghz vs 3ghz vs 4ghz etc de flesta processorer faller i mitten av 3 till 4, kommer 3.5ghz verkligen vara allt som skiljer sig från 4.0ghz 2.Memory (ram). Jag vet att RAM är i grunden aktuellt taskmultitasking memory. So snabb tillförlitligt minne borde vara något att investera i och prisskillnaderna arent verkligen allt som betydande. Ger RAM-hastighet en stor skillnad DDR3-1600 vs DDR3-2800 Jag vet hur mycket användbar ram är avgörande, men hur mycket behövs verkligen, 4gb, 6gb, 8gb, 16gb Jag planerar bara att köra operativsystemet, plattformen, internet, antivirusprogram - inga bakgrundsprogram. Är det troligt med bara körkort och en mäklare online-plattform som jag någonsin kommer att träffa en vägg när jag använder 4-8g ram 3. lagring ssd-solid state-enhet är snabbare, Ive läser det säkert värt uppgraderingen jämfört med typiska sata hårda kör-vad sägs om hybirds (msata-jag tror msata är hybrid mellan de två). SSS är dyra om jag är lycklig Jag kan hämta en billig SSD till samma pris som en vanlig 1T 7200rpm hårddisk. Jag tänker 120gb ssd om inte en 250gb säljs 4.graphic-video-kort (er) - måste kunna köra flera skärmar. men kvaliteten på bilden av diagrammen är verkligen inte så hög prioritet, snabbare än så bra som bildskvalitet, så jag tror att du försöker få den högsta videorammen möjligt och få något kryssning eller sli kapabel om jag använder flera kort. 5.psu strömförsörjning och CPU-kylare-beror i grunden på vad din watt och användning är, självklart bör jag gå för kvalitet men inte överkill 6.same går för moderkort och fall går för kvalitet men specifika vad jag behöver kommer att baseras på allt ovan och verkligen vad systemet behöver - för mig är den svåraste delen att välja de specifikationer som CPU-processorn och grafikkortet jag vill ha. Jag behöver minium ett system som kan köra 3 skärmar och möjligen baserat på prisskillnad något som kan gå upp till 6. Jag tror att de flesta moderna processorer kommer att få jobbet bra och ett anständigt grafikkort med nödvändiga adaptrar som länge som de arbetar tillsammans och förlänger mitt skrivbord och inte lagrar. så jag tänker intel i3-serien cpu, kanske i5. Ge eller ta i3-serien är ungefär hälften av kostnaden för i5, är i5 och i7 2-4x snabbare eftersom priset ger eller tar 2x mer. Om jag inte skalarhandel med 10 tusen aktier och enorma delar kommer en uppgraderad processor att vara till nytta och värt den investering jag vet att jag kan få en mycket bättre AMD för liknande priser men datorerna Ive hade med AMD-processorer verkar verkligen sakta ner efter tiden och jag är ganska säker på att det hade mer att göra med processorns hållbarhet än rammen och hårddisken på mina tidigare datorer. Mina intel-datorer varade längre de blev också långsammare med åldern inte lika märkbart så. Jag budgetar om 100-150 per större del kommer att vara under 100 och kommer att kompensera för de lite dyrare delarna. Mitt hopp är att bygga ett anständigt system för 500-700 Jag är inte säker på hur realistiskt det målet är men jag känner att datorn troligtvis kommer att bli bättre än vad jag kunde köpa i det prisklasset - i grunden skulle byggnaden vs köpprisskillnaden för det mesta vara närvaron av grafikkort (er), ssd-lagring och ram mer andor snabbare ram. Vad du köper för 500-700 kommer förmodligen inte att kunna visa flera bildskärmar - kanske inte kan utöka RAM-minnet. Det kommer antagligen att ha lite långsammare ram samt långsammare lagringskrets. 1 svar Senaste svar 3 juni 2013 Mer om bygghandel dator

No comments:

Post a Comment