Algoritmisk handel (även kallad automatisk handel, black-box-handel eller algo-handel) använder ett datorprogram som följer en definierad uppsättning instruktioner (en algoritm) för att placera en handel. I teorin kan handeln generera vinster med en hastighet och frekvens som är omöjlig för en mänsklig handlare.
De definierade instruktionsuppsättningarna är baserade på timing, pris, kvantitet eller någon matematisk modell. Bortsett från vinstmöjligheterna för näringsidkaren gör algo-handeln mer likvida och handeln mer systematisk genom att utesluta effekterna av mänskliga känslor på handelsverksamheten.
Algoritmisk handel i praktiken
Anta att en handlare följer dessa enkla handelskriterier:
- Köp 50 aktier på en aktie när dess 50-dagars glidande medelvärde går över 200-dagars glidande medelvärde. (Ett rörligt medelvärde är ett genomsnitt av tidigare datapunkter som jämnar ut de dagliga prisfluktuationerna och därigenom identifierar trender.) Sälj aktier i aktien när dess 50-dagars glidande medelvärde ligger under 200-dagars glidande medelvärde.
Med hjälp av dessa två enkla instruktioner övervakar ett datorprogram automatiskt aktiekursen (och indikatorerna för det rörliga genomsnittet) och placerar köp- och säljorder när de definierade villkoren är uppfyllda. Handlaren behöver inte längre övervaka livepriser och grafer eller lägga in beställningarna manuellt. Det algoritmiska handelssystemet gör detta automatiskt genom att korrekt identifiera handelsmöjligheten.
Grunderna i algoritmisk handel
Fördelarna med algoritmisk handel
Algo-handel ger följande fördelar:
- Handlar utförs till bästa möjliga priser. Handelsbeställning är omedelbar och exakt (det finns en stor chans att utföras vid önskade nivåer). Handlarna är korrekt inställda och omedelbart för att undvika betydande prisförändringar. Reducerade transaktionskostnader. Samtidigt automatiserade kontroller på flera marknadsförhållanden. Reducerad risk för manuella fel vid placering av handel.Algo-handel kan testas tillbaka med tillgängliga historiska och realtidsdata för att se om det är en livskraftig handelsstrategi. Minskade möjligheten till misstag från mänskliga handlare baserat på emotionella och psykologiska faktorer.
Den mest algo-handeln i dag är högfrekvent handel (HFT), som försöker utnyttja att placera ett stort antal order med snabba hastigheter över flera marknader och flera beslutsparametrar baserade på förprogrammerade instruktioner.
Algo-handel används i många former av handel och investeringsaktiviteter inklusive:
- Mid- till långsiktiga investerare eller köpande företag - pensionsfonder, fonder, försäkringsbolag - använder alghandel för att köpa aktier i stora kvantiteter när de inte vill påverka aktiekurserna med diskreta, stora volyminvesteringar. tillfälliga handlare och deltagare på säljesidan - marknadstillverkare (som mäklarehus), spekulanter och arbitrageurs - dra nytta av automatiserad handelsutförande; dessutom hjälper algo-handel att skapa tillräcklig likviditet för säljare på marknaden. Systematiska handlare - trendföljare, hedgefonder eller parhandlare (en marknadsneutral handelsstrategi som matchar en lång position med en kort position i ett par mycket korrelerade instrument som två aktier, börshandlade fonder (ETF) eller valutor) - hitta det mycket mer effektivt att programmera sina handelsregler och låta programmet handla automatiskt.
Algoritmisk handel ger ett mer systematiskt tillvägagångssätt för aktiv handel än metoder baserade på näringsidkares intuition eller instinkt.
Algoritmiska handelsstrategier
Alla strategier för algoritmisk handel kräver en identifierad möjlighet som är lönsam i termer av förbättrade intäkter eller kostnadsminskning. Följande är vanliga handelsstrategier som används i algo-handel:
Trendföljande strategier
De vanligaste algoritmiska handelsstrategierna följer trender i rörliga medelvärden, kanaluppdelningar, prisnivårörelser och relaterade tekniska indikatorer. Dessa är de enklaste och enklaste strategierna att implementera genom algoritmisk handel eftersom dessa strategier inte innebär att göra några förutsägelser eller prisprognoser. Handlar inleds baserat på förekomsten av önskvärda trender, som är enkla och enkla att genomföra genom algoritmer utan att komma in i komplexiteten i prediktiv analys. Att använda 50- och 200-dagars rörliga medelvärde är en populär trendföljande strategi.
Arbitrage möjligheter
Att köpa ett dubbelt noterat lager till ett lägre pris på en marknad och samtidigt sälja det till ett högre pris på en annan marknad erbjuder prisskillnaden som riskfri vinst eller arbitrage. Samma operation kan replikeras för aktier kontra futuresinstrument eftersom prisskillnader existerar då och då. Genomförande av en algoritm för att identifiera sådana prisskillnader och placera beställningarna effektivt möjliggör lönsamma möjligheter.
Indexfondsbalansering
Indexfonder har definierade perioder med rebalansering för att få sina innehav i nivå med sina respektive referensindex. Detta skapar lönsamma möjligheter för algoritmiska handlare som utnyttjar förväntade branscher som erbjuder 20 till 80 baspoängs vinster beroende på antalet aktier i indexfonden strax före indexfondsbalansering. Sådana affärer initieras via algoritmiska handelssystem för snabb exekvering och de bästa priserna.
Matematiska modellbaserade strategier
Bevisade matematiska modeller, som den delta-neutrala handelsstrategin, tillåter handel med en kombination av optioner och den underliggande säkerheten. (Delta neutral är en portföljstrategi som består av flera positioner med kompensering av positiva och negativa deltor - ett förhållande som jämför förändringen i priset på en tillgång, vanligtvis ett säljbart värdepapper, med motsvarande förändring i priset för dess derivat) så att det övergripande delta i tillgångarna i fråga är noll.)
Handelsområde (medelåtervändning)
Medelåterföringsstrategi bygger på konceptet att en högs och låga priser på en tillgång är ett tillfälligt fenomen som återgår till deras medelvärde (medelvärde) periodvis. Att identifiera och definiera ett prisintervall och implementera en algoritm baserad på det gör att handeln kan placeras automatiskt när priset på en tillgång bryter in och ut ur det definierade intervallet.
Volymviktat genomsnittligt pris (VWAP)
Volymvägd genomsnittsprisstrategi bryter upp en stor order och släpper dynamiskt bestämda mindre delar av beställningen till marknaden med hjälp av aktiespecifika historiska volymprofiler. Målet är att genomföra ordern nära det volymviktade genomsnittspriset (VWAP).
Tidsviktat genomsnittligt pris (TWAP)
Tidsviktad genomsnittsprisstrategi bryter upp en stor order och släpper dynamiskt bestämda mindre delar av beställningen till marknaden med jämnt uppdelade tidsluckor mellan en start- och sluttid. Målet är att genomföra ordern nära genomsnittspriset mellan start- och slutetiderna och därmed minimera marknadseffekten.
Procentandel av volym (POV)
Tills handeln är fullständig fortsätter denna algoritm att skicka delvis order enligt det definierade deltagandeförhållandet och enligt volymen som handlas på marknaderna. Den relaterade "stegstrategin" skickar order till en användardefinierad procentandel av marknadsvolymerna och ökar eller minskar denna deltagargrad när aktiekursen når användardefinierade nivåer.
Genomförande brist
Implementeringsbriststrategin syftar till att minimera exekveringskostnaderna för en order genom att handla utanför realtidsmarknaden och därigenom spara på kostnaden för ordern och dra nytta av möjlighetskostnaderna för försenad utförande. Strategin kommer att öka den riktade deltagandegraden när aktiekursen rör sig positivt och minska den när aktiekursen rör sig negativt.
Utöver de vanliga handelsalgoritmerna
Det finns några speciella klasser av algoritmer som försöker identifiera "händelser" på andra sidan. Dessa "snifta algoritmer" - som till exempel används av en försäljare på marknaden - har den inbyggda intelligensen för att identifiera förekomsten av eventuella algoritmer på köpssidan av en stor order. Sådan upptäckt genom algoritmer kommer att hjälpa marknadsaktören att identifiera stora ordermöjligheter och göra det möjligt för dem att dra nytta av att fylla beställningarna till ett högre pris. Detta identifieras ibland som högteknologisk front-running.
Tekniska krav för algoritmisk handel
Implementering av algoritmen med hjälp av ett datorprogram är den sista komponenten i algoritmisk handel, åtföljd av backtesting (testa algoritmen på historiska perioder med tidigare aktiemarknadsresultat för att se om det skulle ha varit lönsamt att använda den). Utmaningen är att förvandla den identifierade strategin till en integrerad datoriserad process som har tillgång till ett handelskonto för beställning. Följande är kraven för algoritmisk handel:
- Dataprogrammeringskunskap för att programmera erforderlig handelsstrategi, anlitade programmerare eller förlagd handelsprogramvara. Nätverksanslutning och åtkomst till handelsplattformar för att göra order. Möjligheten och infrastrukturen att backtesta systemet när det har byggts innan det går live på verkliga marknader.Tillgänglig historisk data för backtesting beroende på komplexiteten hos regler som implementeras i algoritmen.
Ett exempel på algoritmisk handel
Royal Dutch Shell (RDS) är noterat på Amsterdam Stock Exchange (AEX) och London Stock Exchange (LSE). Vi börjar med att bygga en algoritm för att identifiera arbitrage-möjligheter. Här är några intressanta observationer:
- AEX handlar i euro medan LSE handlar i brittiskt pund. I och med en timmars skillnad öppnar AEX en timme tidigare än LSE följt av båda börserna handel samtidigt under de närmaste timmarna och handlas sedan endast i LSE under den senaste timmen som AEX stängs.
Kan vi undersöka möjligheten till arbitragehandel på Royal Dutch Shell-aktien på dessa två marknader i två olika valutor?
Krav:
- Ett datorprogram som kan läsa aktuella marknadspriser. Prisflöden från både LSE och AEX.A forex (valutakurs) valutaflöde för GBP-EUR.Ordningsförmåga som kan leda ordern till rätt utbyte.Backtesting kapacitet på historiskt pris flöden.
Datorprogrammet ska utföra följande:
- Läs det inkommande prisflödet för RDS-aktier från båda börserna. Använd de tillgängliga valutakurserna och konvertera priset för den ena valutan till den andra. Om det finns ett tillräckligt stort prisavvikelse (diskontering av mäklarkostnaderna) som leder till en lönsam möjlighet, då programmet ska placera köporder på det lägre priset och sälja beställningen på det högre priset. Om ordern utförs efter önskemål följer arbitrage vinsten.
Enkelt och enkelt! Men praktiken med algoritmisk handel är inte så enkel att underhålla och utföra. Kom ihåg att om en investerare kan placera en algo-genererad handel, så kan andra marknadsaktörer också. Följaktligen varierar priserna i milli- och till och med mikrosekunder. Vad händer i exemplet ovan om en köphandel genomförs men säljhandeln beror inte på att försäljningspriserna ändras när ordern träffar marknaden? Handlaren kommer att ha en öppen position som gör arbitrage-strategin värdelös.
Det finns ytterligare risker och utmaningar som systemfelrisker, nätverksanslutningsfel, tidsfördröjningar mellan handelsorder och utförande och, viktigast av allt, ofullständiga algoritmer. Ju mer komplex en algoritm är, desto strängare backtesting behövs innan den tas i bruk.
