Trading system mål funktion


Securities and Exchange Board of India - SEBI Vad är Securities and Exchange Board of India? SEBI Securities and Exchange Board of India (SEBI) är utsetts tillsynsorgan för finans - och investeringsmarknaden i Indien. Styrelsen spelar en viktig roll för att upprätthålla stabila och effektiva finans - och investeringsmarknader genom att skapa och genomdriva effektiv reglering på Indiens finansiella marknad. Indias SEBI liknar US Securities and Exchange Commission (SEC). SÄKERHETEN Securities and Exchange Board Of India - SEBI SEBI grundades 1988 men fick endast lagstiftningsbefogenheter den 12 april 1992 genom Securities and Exchange Board of India Act 1992. Det spelar en nyckelroll för att säkerställa stabiliteten i finansmarknaderna i Indien, genom att locka utländska investerare och skydda indiska investerare. SEBI byggdes av indiens regering. Huvudkontoret ligger i affärsområdet Bandra Kurla Complex som finns i Mumbai. Det har också norra, östra, södra och västra regionala kontor. SEBIs ledning består av egna medlemmar. Ledningsgruppen består av en ordförande som nominerats av Indiens unionsregering, två ledamöter som är tjänstemän från unionens finansministerium, en ledamot från Indiens reservbank och fem andra ledamöter som också nomineras av unionsregeringen i Indien. Funktioner och ansvar SEBIs preamble beskriver i detalj styrelsens funktioner och befogenheter. I sin preambel anges att SEBI måste skydda investerarnas intressen i värdepapper och att främja utvecklingen av, och att reglera värdepappersmarknaden och för frågor som är knutna till eller därtill hörande därtill. I detta ljus måste SEBI, som styrelse, vara lyhörd och proaktiv mot behoven och intresset för de grupper som utgör Indias finans - och investeringsmarknader: investerare, marknadsförmedlare och värdepappersutfärdare. SEBI har rätt att godkänna stadgarnas stadgar. Det är dess jobb att kräva att börsen följer sina stadgar. SEBI inspekterar också bokföringen av finansiella intermediärer och begär regelbundna avkastningar från erkända börser. SEBIs roll omfattar tvingande särskilda företag att lista sina aktier i börser. Utöver dessa är SEBI uppgift att hantera registreringen av mäklare. I slutändan har styrelsen tre befogenheter: kvasi-rättslig, kvasi-lagstiftande och kvasi-verkställande. SEBI har rätt att utarbeta föreskrifter enligt sin lagstiftande kapacitet, utreda undersökningar och vidta åtgärder inom ramen för sin verkställande funktion och överlåta nya regler och order inom ramen för sin rättsliga kapacitet. Trots dessa befogenheter måste resultaten från SEBI: s funktioner fortfarande gå igenom Securities Appellate Tribunal och Indiens högsta domstolen. Kvantitativ handel Vad är kvantitativ handel Kvantitativ handel består av handelsstrategier baserade på kvantitativ analys. som är beroende av matematiska beräkningar och nummerkrypning för att identifiera handelsmöjligheter. Eftersom kvantitativ handel i allmänhet används av finansinstitut och hedgefonder. Transaktionerna är vanligtvis stora och kan innebära köp och försäljning av hundratusentals aktier och andra värdepapper. Den kvantitativa handeln blir emellertid vanligare av enskilda investerare. BREAKING DOWN Kvantitativ handel Pris och volym är två av de vanligaste dataingångarna som används i kvantitativ analys som huvudinsatser till matematiska modeller. Kvantitativa handelsmetoder inkluderar högfrekvenshandel. algoritmisk handel och statistisk arbitrage. Dessa tekniker är snabbbränder och har typiskt kortfristiga investeringshorisonter. Många kvantitativa näringsidkare är mer bekanta med kvantitativa verktyg, som rörliga medelvärden och oscillatorer. Förstå kvantitativ handel Kvantitativa handlare tar nytta av modern teknik, matematik och tillgången till omfattande databaser för att göra rationella handelsbeslut. Kvantitativa handlare tar en handelsteknik och skapar en modell av den med matematik och utvecklar sedan ett datorprogram som tillämpar modellen på historiska marknadsdata. Modellen backas sedan och optimeras. Om gynnsamma resultat uppnås, implementeras systemet i realtidsmarknader med reell kapital. Det sätt på vilket kvantitativa handelsmodeller fungerar kan bäst beskrivas med hjälp av en analogi. Tänk på en väderleksrapport där meteorologen förutser en 90 risk för regn medan solen skiner. Meteorologen härleder denna motstridiga slutsats genom att samla och analysera klimatdata från sensorer i hela området. En datoriserad kvantitativ analys avslöjar specifika mönster i data. När dessa mönster jämförs med samma mönster som avslöjas i historiska klimatdata (backtesting) och 90 av 100 gånger är resultatet regnigt, då meteorologen kan dra slutsatsen med förtroende, därav 90-prognosen. Kvantitativa handlare tillämpar samma process på finansmarknaden för att fatta handelsbeslut. Fördelar och nackdelar med kvantitativ handel Syftet med handel är att beräkna den optimala sannolikheten för att genomföra en lönsam handel. En typisk näringsidkare kan effektivt övervaka, analysera och fatta handelsbeslut på ett begränsat antal värdepapper innan mängden inkommande data överväger beslutsprocessen. Användningen av kvantitativa handelsmetoder belyser denna gräns genom att använda datorer för att automatisera övervaknings-, analys - och handelsbesluten. Att övervinna känslor är ett av de mest genomgripande problemen med handel. Var det rädsla eller girighet, när handel handlar känslor bara för att kväva rationellt tänkande, vilket vanligtvis leder till förluster. Datorer och matematik har inte känslor, så kvantitativ handel eliminerar detta problem. Kvantitativ handel har sina problem. Finansmarknaderna är några av de mest dynamiska enheterna som finns. Därför måste kvantitativa handelsmodeller vara lika dynamiska för att bli konsekvent framgångsrik. Många kvantitativa näringsidkare utvecklar modeller som är tillfälligt lönsamma för det marknadstillstånd som de utvecklades för, men de misslyckas slutligen när marknadsförhållandena förändras. Bakprovning av dina handelsideer En av de mest användbara sakerna som du kan göra i analysfönstret är att back-test din handelsstrategi på historiska data. Detta kan ge dig värdefull inblick i styrkor och svaga punkter i ditt system innan du investerar riktiga pengar. Denna enda AmiBroker-funktionen kan spara mycket pengar för dig. Skriva dina handelsregler Först måste du ha objektiva (eller mekaniska) regler för att komma in och ut ur marknaden. Detta steg är basen för din strategi och du måste tänka på det själv eftersom systemet måste matcha din risk tolerans, portföljstorlek, pengarhanteringsteknik och många andra individuella faktorer. När du har egna regler för handel bör du skriva dem som köp och sälj regler i AmiBroker Formula Lanugage (plus kort och omslag om du vill testa även kort handel). I detta kapitel kommer vi att överväga ett mycket grundläggande glidande medelvärdeöverföringssystem. Systemet skulle köpa stockscontracts när nära pris stiger över 45-dagars exponentiell glidande medelvärde och kommer att sälja stockscontracts när nära pris faller under 45-dagars exponentiell glidande medelvärde. Det exponentiella glidande medlet kan beräknas i AFL med hjälp av den inbyggda funktionen EMA. Allt du behöver göra är att ange inmatnings array och medelvärde, så det 45-dagars exponentiella glidande genomsnittet av slutkurserna kan erhållas med följande uttalande: Den nära identifieraren hänvisar till inbyggd array hållande slutkurs för nu analyserad symbol . För att testa om det närmsta priset passerar över exponentiell glidande medelvärde, använder vi inbyggd korsfunktion: köp kors (nära, ema (nära 45)) Ovanstående uttalande definierar en regel för köphandel. Det ger quot1quot eller quottruequot när nära pris korsar över ema (nära, 45). Då kan vi skriva försäljningsregeln som skulle ge quot1quot när motsatt situation händer - nära priskors under ema (nära 45): sälja kors (ema (nära, 45), stäng) Observera att vi använder samma korsfunktion men den motsatta ordningen av argument. Så komplett formel för långa affärer ser så här ut: köp kors (nära, ema (nära 45)) sälj kors (ema (nära 45), stäng) OBS! För att skapa ny formel, vänligen öppna Formelredigeraren med hjälp av Analysis-gtFormula Editor meny, skriv formeln och välj Verktyg-gtSänd till Analys-menyn i Formel-redigeraren För att back-test ditt system klickar du bara på knappen Tillbaka test i fönstret Automatiskt analys. Se till att du har skrivit in den formel som innehåller minst köpa och sälja handelsregler (som visas ovan). När formeln är korrekt börjar AmiBroker analysera dina symboler enligt dina handelsregler och genererar en lista över simulerade affärer. Hela processen är väldigt snabb - du kan tillbaka testa tusentals symboler inom några minuter. Progressfönstret visar uppskattad slutförd tid. Om du vill stoppa processen kan du bara klicka på Avbryt-knappen i fönstret. När processen är klar visas listan över simulerade affärer i den nedre delen av det automatiska analysfönstret. (resultatpanelen). Du kan undersöka när köp och sälj signaler inträffade genom att dubbelklicka på handeln i resultatfönstret. Detta ger dig raka eller ofiltrerade signaler för varje stapel när köp och säljvillkor är uppfyllda. Om du bara vill se enstaka piltangenter (öppnande och stängning av aktuell handel) bör du dubbelklicka på raden medan du håller ned SHIFT-tangenten nedtryckt. Alternativt kan du välja typ av bildskärm genom att välja lämpligt objekt från den snabbmeny som visas när du klickar på resultatrutan med höger musknapp. Förutom resultatlistan kan du få mycket detaljerad statistik över systemets prestanda genom att klicka på knappen Rapport. För mer information om rapportstatistik, kolla in beskrivningsfönsterbeskrivningen. Ändra dina inställningar för bakåtprövning Backtestmotorn i AmiBroker använder vissa fördefinierade värden för att utföra uppgiften, inklusive portföljstorlek, periodicitet (dagligen varje vecka), provisionsbelopp, ränta, maximala förlust - och vinstmålstopp, typ av affärer, prisfält och så på. Alla dessa inställningar kan ändras av användaren med hjälp av inställningsfönstret. Efter att ha ändrat inställningarna, kom ihåg att köra din backtest igen om du vill att resultaten ska synkroniseras med inställningarna. Till exempel, för att backa test på veckobar istället för dagligen klickar du bara på Inställningar-knappen välj Weekly from Periodicity combo box och klicka på OK. Kör sedan din analys genom att klicka på Back test. Reserverade variabla namn I följande tabell visas namnen på reserverade variabler som används av Automatic Analyzer. Betydelsen och exemplen på att använda dem ges senare i detta kapitel. Tillåter kontrollen dollar belopp eller andel av portfölj som investeras i handeln (se förklaringar nedan) Automatisk analys (ny i 3.9) Hittills diskuterade vi ganska enkelt användning av backtestaren. AmiBroker stöder dock mycket mer sofistikerade metoder och begrepp som kommer att diskuteras senare i detta kapitel. Observera att nybörjaren först bör spela lite med de enklare ämnen som beskrivs ovan innan du fortsätter. Så, när du är redo, ta en titt på följande nyligen introducerade funktioner hos back-testeren: a) AFL-script värd för avancerade formelskribenter b) förbättrat stöd för korta affärer c) sättet att styra orderexekveringspriset från script d) olika typer av stopp i back tester e) positionering f) runda parti storlek och tick storlek g) marginal konto h) backtesting futures AFL scripting värd är ett avancerat ämne som är täckt i ett separat dokument tillgängligt här och jag vill inte diskutera det i det här dokumentet. Återstående funktioner är mycket lättare att förstå. I de tidigare versionerna av AmiBroker kunde du bara simulera stop-and-reverse-strategin om du vill back-test-systemet med både långa och korta affärer. När lång position stängdes öppnades en ny kort position omedelbart. Det berodde på att köp och sälja reserverade variabler användes för båda typerna av handel. Nu (med version 3.59 eller högre) finns det separata reserverade variabler för att öppna och stänga långa och korta affärer: buy - quottruequot eller 1 värde öppnas lång handelsförsäljning - quottruequot eller 1 värde stänger lång handel kort - quottruequot eller 1 värde öppnar kort handel - quottruequot eller 1 värde stänger kort handel Som för att back-test korta affärer måste du tilldela korta och täckande variabler. Om du använder stop-and-reverse-system (alltid på marknaden), tilldela du bara sälja till kort och köpa för att täcka kortförsäljningsinköp. Detta simulerar hur pre-3.59-versioner fungerade. Men nu gör AmiBroker dig möjlighet att ha separata handelsregler för att gå länge och för korta som visas i det här enkla exemplet: långa transaktioner inmatnings - och utträdesregler: köp kors (cci (), 100) sälj kors (100, cci) handlar inmatnings - och utträdesregler: kort kors (-100, cci ()) kors (cci (), -100) Observera att i det här exemplet om CCI är mellan -100 och 100 är du ute av marknaden. Kontroller handelspriset AmiBroker erbjuder nu 4 nya reserverade variabler för att specificera det pris som köp, sälja, kort och orderingång utförs. Dessa arrays har följande namn: buyprice, sellprice, shortprice och coverprice. Huvudanvändningen av dessa variabler är att reglera handelspriset: BuyPrice IIF (dayofweek () 1, HIGH, CLOSE) på måndags köp på högt, annars köp på nära sätt Så du kan skriva följande för att simulera verkliga stopporder: BuyStop. Formeln för köpstoppnivå SellStop. Formeln för försäljningsstoppsnivå om köpoptionen (helst vid köpstopp eller lågt av det som är högre), när som helst under dagskurserna ökar över buystop-nivå (highgtbuystop), köper Cross (High, BuyStop) om som helst under dagens priser faller under försäljningsprisnivå Försäljningspriset (Säljpris, Säljstopp) Köppris max (Köpstopp, Låg) Se till att köppriset inte är lägre än Low SellPrice min (SellStop, High) se till att Försäljningspriset är inte högre än Högt Observera att AmiBroker förinställer köppris, försäljningspris, kortpris och täckprissatsvariabler med de värden som definieras i fönstret för systemtestinställningar (visas nedan), så du kan men behöver inte definiera dem i din formel. Om du inte definierar dem fungerar AmiBroker som i de gamla versionerna. Under back-testing kommer AmiBroker att kontrollera om de värden du tilldelade till köpcentret, försäljningspriset, kortpriset, täckpriset passar in i ett högt lågt utbud av given stapel. Om inte, kommer AmiBroker att justera det till högt pris (om prismatrisvärdet är högre än högt) eller till det låga priset (om prismatrisvärdet är lägre än lågt) Resultatmål stannar Som du kan se i bilden ovan, nya inställningar för vinstmålstopp är tillgängliga i fönstret för systemtestinställningar. Resultatmålstopp görs när högpriset för en given dag överstiger stoppnivån som kan ges som procentuell eller punktvis ökning från köpeskillingen. Som standard görs stoppen till det pris du definierar som försäljningsprismatris (för långa transaktioner) eller täckningsprismatris (för korta transaktioner). Detta beteende kan ändras genom att använda quotExit vid stopquot-funktionen. quotExit vid stopquot-funktionen Om du markerar quotExit vid stopquot-rutan i inställningarna stoppas exekveringen vid exakt stoppnivå, dvs om du definierar resultatmål stopp vid 10 ditt stopp och köpeskillingen var 50 stopporder kommer att utföras vid 55 även om Din försäljningsprismatris innehåller olika värde (till exempel stängningskurs på 56). Maximal förlust slutar fungera på ett liknande sätt - de utförs när det låga priset för en given dag sjunker under stoppnivån som kan ges som en procentandel eller punktökning från köpeskillingen. Denna typ av stopp används för att skydda vinsten som den spårar din handel så varje gång ett positionsvärde når en ny hög är bakstoppet placerat på en högre nivå. När vinsten sjunker under den bakre stoppnivån stängs positionen. Denna mekanism illustreras i bilden nedan (10 efterföljande stopp visas): Ett prov på låg nivå implementering av Profit-mål stopp i AFL: Köp Cross (MACD (), Signal ()) för (i 0 I lt BarCount i) if (priceatbuy 0 Köp i) priceatbuy BuyPrice i if (priceatbuy gt 0 Säljpriset 1.1 priceatbuy) Sälj i 1 SäljPris i 1.1 priceatbuy priceatbuy 0 annars Sälj i 0 Detta är en ny funktion i version 3.9. Positionsstorlek i backtester implementeras med hjälp av ny reserverad variabel PositionSize ltsize arraygt Nu kan du styra dollarbelopp eller procentandel av portfölj som investeras i handelspositivt antal definiera (dollar) belopp som investeras i handeln till exempel: PositionSize 1000 investera 1000 i varje handel negativt tal -100 ..- 1 definiera procentandel: -100 ger 100 av nuvarande portföljstorlek, -33 ger 33 av tillgängligt eget kapital till exempel: PositionSize -50 investerar alltid bara hälften av det aktuella kapitalet dynamiskt limeringsexempel: PositionSize - 100 RSI () eftersom RSI varierar från 0..100 det här kommer att resultera i position beroende på RSI-värden - gt låga värden på RSI kommer att resultera i högre andel investerad Om mindre än 100 av tillgängliga pengar investeras så tjänar det återstående beloppet räntan som definieras i inställningarna. Det finns också en ny kryssruta i AA-inställningsfönstret: quotAllow position size shrinkingquot - detta styr hur backtester hanterar situationen när den begärda positionsstorleken (via PositionSize-variabel) överstiger tillgängliga kontanter: när denna flagg är markerad placeras positionen med storlek shinked till tillgänglig kontant om den är avmarkerad är inte positionen inmatad. För att se aktuella positionsstorlekar använd ett nytt rapportläge i AA-inställningsfönstret: quotTrade lista med priser och pos. sizequot För slutet, här är ett exempel på Tharps ATR-baserad positionsstorleksteknik kodad i AFL: Köp ltyour buy formula heregt Sälj 0 säljer bara genom stopp TrailStopAmount 2 ATR (20) Capital 100000 VIKTIGT: Ställ det också i Inställningarna: Initial Equity Risk 0,01Capital PositionSize (RiskTrailStopAmount) BuyPrice ApplyStop (2, TrailStopAmount, 1) Tekniken kan sammanfattas enligt följande: Det totala kapitalet per symbol är 100 000. Vi fastställde risknivån till 1 av totalt eget kapital. Risknivån definieras enligt följande: Om ett eftersläpande stopp på ett 50 lager är till exempel 45 (värdet av två ATR mot positionen) är 5 förlusterna uppdelad i 1000-risken för att ge 200 aktier att köpa. Så är förlustrisken 1000 men fördelningsrisken är 200 aktier x 50share eller 10 000. Så vi tilldelar 10 av kapitalet till inköpet men riskerar bara 1000. (Redigerat utdrag från AmiBroker-postlistan) Rund lotstorlek och kryssstorlek Olika instrument handlas med olika quottrading unitsquot eller quotblocksquot. Till exempel kan du köpa bråkdel av andelar i fond, men du kan inte köpa bruttoantal aktier. Ibland måste du köpa i 10s eller 100s mycket. AmiBroker låter dig nu ange blockstorlek på global och per-symbolnivå. Du kan definiera rundstorlek per symbol på sidan Symbol-gtInformation (bild 3). Värdet på noll betyder att symbolen inte har någon speciell rundstorlek och kommer att använda quotDefault round lot sizequot (global inställning) från sidan Automatiska inställningar (bild 1). Om standardstorleken är inställd till noll betyder det att fraktionerat antal aktierkontrakt är tillåtna. Du kan också styra rundstorlek direkt från din AFL-formel med hjälp av RoundLotSize-reserverad variabel, till exempel: Den här inställningen styr lägsta prisrörelsen för den angivna symbolen. Du kan definiera den på global och per-symbolnivå. Precis som med rundstorlek kan du definiera fältstorlek per symbol på sidan Symbol-gtInformation (bild 3). Värdet på noll instruerar AmiBroker att använda quotdefault tick sizequot definierad på inställningssidan (bild 1) i Automatic Analysis-fönstret. Om standardflikstorlek också sätts till noll betyder det att det inte finns någon minimiprisrörelse. Du kan också ställa in och hämta kryssstorleken även från AFL-formel med hjälp av TickSize reserverad variabel, till exempel: Observera att inställningen för kryssstorlek påverkar ENDAST trades som lämnas av inbyggda stopp och ordet ApplyStop (). Backtestern förutsätter att prisdata följer fältstorlekskrav och det ändrar inte prisuppsättningar som tillhandahålls av användaren. Så att ange fältstorlek är endast meningsfullt om du använder inbyggda stopp så att utgångspunkter genereras till quotallowedquot prisnivåer istället för beräknade. Till exempel i Japan - du kan inte ha fraktionerad delar av yen så att du bör definiera global ticksize till 1, så inbyggd slutar avsluta handel på heltal. Konto marginal inställning definierar procentuell marginal krav för hela kontot. Standardvärdet för Kontantmarginal är 100. Det innebär att du måste tillhandahålla 100 pengar för att komma in i handeln, och det här är hur backtester fungerade i tidigare versioner. Men nu kan du simulera ett marginalkonto. När du köper på marginal lånar du helt enkelt pengar från din mäklare för att köpa aktier. Med gällande regler kan du lägga upp 50 av inköpspriset på det lager du vill köpa och låna den andra hälften från din mäklare. För att simulera detta anger du bara 50 i fältet Kontantmarginal (se bild 1). Om ditt initiala eget kapital är satt till 10000 kommer din köpkraft att vara 20000 och du kommer att kunna gå in i större positioner. Observera att dessa inställningar anger marginen för hela kontot och det är INTE relaterat till futureshandel alls. Med andra ord kan du handla aktier på marginalkonto. quotReverse inmatningssignalen tvingar exitquot-kryssrutan till Backtester-inställningarna. När den är PÅ (standardinställningen) - fungerar backtester som i tidigare versioner och stänger redan öppen positon om ny inmatningssignal i omvänd riktning stöter på. Om denna strömbrytare är AV - även om omvänd signal inträffar håller backtestern nuvarande öppen handel och stänger inte positon tills den vanliga utgången (sälja eller täcka) genereras. Med andra ord när denna brytare är OFF backtester ignorerar korta signaler under långa affärer och ignorerar köpsignaler under korta affärer. quotAllow same bar exit (single bar trade) citationstext till inställningarna När den är PÅ (standardinställningarna) - inmatning och utträde i samma bar är tillåten (som i tidigare versioner) om den är AV - utgången kan hända från och med nästa stapel (det gäller för vanliga signaler, det finns en separat inställning för ApplyStop-genererade utgångar). Om du växlar till OFF kan du reproducera uppförandet av MS-backtester som inte kan hantera samma dagutgångar. quotActivate stannar immediatelyquotThis setting löser problemet med testsystem som går in i handeln på marknaden öppen. I versioner före 4,09 backtester antog du att du kom in i affärer på marknaden nära så inbyggda stopp var aktiverade från nästa dag. Problemet var när du faktiskt definierade öppet pris som handelsinträdespriset - då samma prisutveckling inte utlöst stopparna samma dag. Det fanns några publicerade lösningar baserade på AFL-kod men nu behöver du inte använda dem. Om du bara handlar öppet bör du markera quotActivate stops immediatelyquot (bild 1). Du kanske frågar varför du inte bara kontrollerar buyprice eller shortprice array om den är lika med öppet pris. Olyckligtvis kommer det inte att fungera. Varför helt enkelt för att det finns doji dagar när öppet pris är lika nära och då kommer backtester aldrig att veta om handeln ingicks på marknaden öppen eller nära. Så vi behöver verkligen en separat inställning. QUOTE QuickAFLquotQuickAFL (tm) är en funktion som möjliggör snabbare AFL-beräkning under vissa förutsättningar. Ursprungligen (sedan 2003) var den endast tillgänglig för indikatorer, från version 5.14 är den också tillgänglig i automatisk analys. Ursprungligen var tanken att tillåta snabbare diagramrapporteringar genom att endast beräkna AFL-formel för den delen som syns på diagrammet. På samma sätt kan det automatiska analysfönstret använda delmängden av tillgängliga citat för att beräkna AFL, om vald parameter 8220range8221 är mindre än 8220All citationsquot. Detaljerade förklaringar om hur QuickAFL fungerar och hur man kontrollerar det finns i den här Knowledge Base-artikeln: amibrokerkb20080703quickafl Observera att det här alternativet inte bara fungerar i backtester utan även i optimeringar, utforskningar och skanningar.

Comments