Bitfinex kunngjorde i dag starten på gruvedriftskontrakter som et handelsprodukt på plattformen. Totalt har 100 THS terahashes per sekund med en utløp på 3 måneder blitt gjort tilgjengelig for handel under navnet TH1BTC. Den 100 THS er en del av et større basseng på 3500 THS så flere gruvedriftskontrakter kan bli tilgjengelige i fremtiden. Interessant, dette markerer første gang det er mulig å kortlegge en gruvekontrakt. Ved å bryte en gruvekontrakt betyr det å motta et beløp av Bitcoin nå prisen vi selger den til og deretter betaler utbytte i Bitcoin i løpet av de neste 3 månedene til kontrakten utløper i midten av desember. Det gjøres fortjeneste dersom summen av alle utbetalte utbetalinger pluss renter vi har betalt for å kort kontrakten, er mindre enn hva vi mottok i begynnelsen da vi solgte kontrakt til noen andre selvsagt. Dette betyr at prisen på TH1BTC skal avhenge av 3 variabler i avtagende rekkefølge av betydning. Forandringen av gruveproblemet til 15. desember. ti Jeg gjenstår til 15. desember. Renteswappraten. Hvis vanskeligheter øker, blir utbyttet mindre fordi 1 THS representerer en mindre brøkdel av hele nettverks-hashingskraften. Derfor bør prisen på en kontrakt reduseres dersom vanskeligheter øker. Jo nærmere vi kommer til utløp feber Bitcoins kan være tankene med totalt 1 THS Derfor bør prisen på en kontrakt redusere jo nærmere vi kommer til utløpet og nå en pris på 0 ved utløpet. Jo høyere rentesats er jo mer kostbart det er å gå inn og holde kontrakten over Full lengde på 3 måneder Bitfinex tilbyr ikke 90 dager swaps, derfor inngår en kontrakt med målet om å holde det til slutten inneholder ganske mye renterisiko fordi på et tidspunkt må en ny bytte tas ut på et potensielt ugunstig rente Dette er mindre et problem når du går lenge Bitcoin-prisene er vanligvis lave enn når du går kort, det er bare maksimalt 100 kontrakter tilgjengelig totalt, ingen nake d shorting For å kompensere for risikoprisene bør øke når byttehastighetene øker. Den store ukjente er selvsagt endringen i gruveproblemet i løpet av de neste 90 dagene I følgende figur ser vi hvordan vanskeligheter endret seg i løpet av de foregående 6 månedene. Dataene er fra Tradeblock og det viser ikke bare en grafisk representasjon av tidligere endringer i vanskelighetsproblemene endres hver 14. dag, avhengig av tidligere hash rate. Mer informasjon finnes i wiki, men også noen grunnleggende oppsummeringsstatistikker. I gjennomsnitt har vanskelighetene økt 27 siste 30 dager og 77 i løpet av de siste 60 dagene. For å anslå den rimelige prisen på en TH1BTC vil vi anta at vanskeligheten vil øke i gjennomsnitt 15 per måned i løpet av de neste 3 månedene. For tiden er prisen på å kjøpe en kontrakt verdt 1 THS 2 BTC Bassenget Avgiften er 3 og vi vil ignorere renten. Fyll ut all informasjonen vi får følgende resultater. Hvis hvis vi går lang en kontrakt basert på våre forutsetninger, vil vi gi et tap på ca 0 39 Bitc er litt mer i virkeligheten siden vi vil starte gruvedrift i midten av september til midten av desember fordi forventet utbytte månedlig inntekt ikke kommer til å dekke våre innledende kostnader på 2 BTC før kontrakten utløper. På den annen side går kort til en pris på 2 Bitcoin ville ha generert en fortjeneste på ca 0 39 Bitcoin per kontrakt. Husk at vi ikke inkluderte swap kostnader som for tiden ligger rundt 1 per dag. Det er to måter å se på resultatene. Vi kan enten si prisene for TH1BTC er for tiden overvurdert og bør være nærmere rundt 1 5 BTC Hvis vi antar at vanskeligheten vil øke mer enn 15 per måned, bør prisene være enda lavere enn det Eller vi kan si at markedet er effektivt og prisene er riktige, noe som ville innebærer at markedet forventer vanskeligheter med å redusere i gjennomsnitt ca 2 per måned i løpet av de neste 90 dagene. Uansett vil resultatene bli kjent med sikkerhet i 90 dager. Struggling å gjenopprette fra den nyeste Bitcoin flash-krasj som oppsto på Bitfinex bare fire dager, gikk Bitcoin-prisene til et annet dykk i dag som marginalhandlere fikk sine posisjoner likviderte på BTC-e. Arrangementet startet klokken 366 UTC 1 da store salgsordrer begynte å dukke opp på den tredje største vestlige Bitcoin-utvekslingen BTC-e Nedadgående fart økte jevnt ettersom orderboken ble stadig tynn, krasjet prisene til en lav på USD 309 per bitcoin klokken 13 43. I de følgende minuttene gikk prisene raskt tilbake på tynnvolum tilbake til rundt USD 442 ettersom arbitragehandlere begynte å dra nytte av av rabatten i forhold til andre utvekslinger. BTC-e er en av de få store børsene som tilbyr marginhandel til sine kunder via MetaTrader-plattformen siden november 2013, men detaljene for hvem som utelukkende gir midler som er nødvendige for marginhandel, har vært uklare. form og spesielt timing av crash poeng mot margin handelsfolk blir likviderte eller stopp bestillinger blir utført, likt det som skjedde på Bitfinex et par da år siden Men i motsetning til Bitfinex som er gjennomsiktig om åpne bytteposisjoner, gir BTC-e ikke viktige data som ville være nødvendig for å gi en grundigere analyse, og derfor kan denne siste setningen bare betraktes som en god gjetning. I motsetning til Bitfinex, som er avhengig av en skjult algoritme i et forsøk på å kontrollere ordrestrømmen BTC-e ser ut til å ha ingen spesielle garantier for å redusere slike hendelser. Fallet under 400 skyldes hovedsakelig mangel på bud i orderboken og ikke fordi markedet trodde at den sanne Verdien var under 400, da tilbakegangen tilbake til over 440 bare minutter senere, viste seg i utgangspunktet. Derfor kunne stoppe handel under ekstremt nedadgående volatilitet lett ha avvist blodsutgjæringen blant marginhandlere ved å gi andre markedsdeltakere mer tid til å tykke orderboken. Oppdatert 4:00 UTC 1 BrCapoeira postet på Reddit en interessant graf basert på data fra Metatrader-plattformen. Denne grafen innebærer at en enkelt stor ordre var årsaken til denne hendelsen. Uansett om dette Ordre ble opprettet på grunn av en marginalanrop, en enkel feil, å manipulere markedet, eller å åpne en stor kort posisjon forblir uklar Sunn fornuft vil tyde på at det sannsynligvis var et resultat av en marginsamtale fra en eneste stor handelsmann. Mitt tidligere innlegg om dette emnet har blitt tatt opp under diskusjoner i etterkant av den nyeste Bitcoin flash-krasjen, var Coindesk en av de første til å plukke den opp, og siden da begynte ulike innlegg om gjennomsiktighet og mulighet for å utveksle for å styre ordreutførelsen aktivt. Som et resultat av disse hendelsene fortsatte Josh Rossi, Vice President for Business Development at Bitfinex, Reddit å åpenbart ta opp noen av problemene opp mot utvekslingen. Fakta som vi vet er sikkert at det var noen store salgsordrer like før krasj startet, for eksempel en 500 salgsordre på Bitstamp kl 9 49 UTC 1, ca 6 minutter før en stor salgsordre på Bitfinex utløste krasjen, men dataene forteller oss ikke w det var en insiderhandel, en form for markedsmanipulering eller en enkel feil. Faktum er at etter at Bitcoin-flash-krasjen har åpnet bytteposisjonene, redusert fra rundt 28m til 24m, noe som indikerer om lag 8400 marginelle stillinger ble stengt, antatt i gjennomsnitt 475 på en måte margin call eller en annen stoppordre hit Dataene forteller oss ikke hva forholdet er, men ifølge Josh bare ca 650 Bitcoins ble solgt som følge av margin calls. As korrekt påpekt av Jonathan Levin er faktum at det starter ca 24 timer før bitcoin flash-krasj til selve krasjet en ekstra 1000 bitcoins ble tatt ut i korte stillinger og om lag 2500 shorts ble deretter stengt under krasjet. Uansett om de shorts ble åpnet for å sikre eksisterende posisjoner, som et ondsinnet forsøk på å utløse et marginanrop eller en måte for å drive markedet med privat informasjon kan ikke bestemmes ut fra tilgjengelige data, ser det ut som det er merkelig mistenkelig. Hva var uventet? Personlig, inter Estimert poeng er ikke at Bitcoin flash krasjet. Plutselige prisfluktuasjoner skjedde tidligere og vil skje i fremtiden, spesielt i illikvide markeder som Bitcoin. Det interessante poenget er involvering av Bitfinex og hvordan de aktivt forvaltet rekkefølge uten å informere markedsdeltakere på forhånd . Bitfinex-matchingmotoren ble ikke stoppet under hele krasjen, men det var ikke så dårlig som den beryktede 70 minutters ordreforsinkelsen på den nå avsluttede MtGox-utvekslingen under krasj i 2012. Hva Bitfinex gjorde var de introduserte noe de nå referere til som hastighetskutt Det betyr at de i hovedsak flagger ordrer de anser som ugyldige eller potensielt farlige, og reduserer dem forsettlig. Ved første øyekast kan dette virke som en fin ide. Hvem vil ikke at et filter skal fjerne eller redusere ondsinnede ordrer Men så ofte med de slags ting djevelen er i detalj. Problemet er at Bitfinex ikke og muligens aldri vil gjøre p ublic hvor nøyaktig de kategoriserer en bestilling så dårlig og senk den ned Hvis en markedsdeltakende bestemmer seg for å sette opp en stor salgsordre mot en tynn ordrebok, så er det hans avgjørelse om handlingen hans var ment eller ikke, er ikke opp til bytte for å bestemme det kan være at denne markedsdeltageren bare var den første personen som reagerer på en større begivenhet, og er helt villig til å bære ekstra kostnader for den resulterende slippingen i påvente av en stor prisbevegelse. Det eksisterer ganske enkelt ikke en måte å nøyaktig klassifisere ordrer a priori så god eller dårlig siden det ville automatisk påta seg kunnskap om alle umiddelbare fremtidige hendelser. Hva kan forbedres. Feilfinger, algoritme som går ødeleggelse skje, marginer blir ringt og folk prøver å spille systemet på alle mulige måter Logisk må det være sikkerhetstiltak på plass for å beskytte markeder og dets deltakere Bitfinex var definitivt klar over potensiell toksisk ordningsflyt og forberedte motforanstaltninger Det eneste de glemte var å informere om eir klienter om de skjulte sikkerhetsfunksjonene. Å gi disse sikkerhetstiltakene fra offentligheten legger til usikkerhet til markedet, spesielt nå som vi vet at de eksisterer og noen ganger gjør noe og legger i det vesentlige hver handelsmenn tillit i hendene på Bitfinex. På dette punktet kan en handelsmann bare håpe at Bitfinex vil alltid handle i de beste hensikterne til sine kunder. Dette håpet kan være ubrukelig, selv om Bitfinex tjener penger fra handelsavgifter, uavhengig av om en handelsmann faktisk gjør noen penger. Man trenger ikke å tenke lenge for å realisere det skjulte potensialet for misbruk i et slikt system. Den viktigste grunnen oppsto av Josh hvorfor Bitfinex ikke har til hensikt å publisere sin algoritme, er å unngå å gi handelsmenn muligheten til å utnytte det er falsk og følgende viser hvorfor. Det er de offisielle markedsspenningsbrytere som benyttes av NASDAQ, postet online og helt gjennomsiktig for alle markedsdeltakere. Disse reglene er absolutt ikke perfekte, men de er enkle, gjennomsiktige og arbeider for en av de største aksjemarkedene i verden Nå har jeg stor respekt for de som jobber på Bitfinex-plattformen, men jeg tviler på at de klarte å komme med en algoritme som beskytter markedsdeltakere bedre enn de som brukes av en større børshandel mer enn 900 millioner aksjer per dag i gjennomsnitt. Og hvis de gjorde det, er det nå sjansen for Bitfinex å bevise det til verden og muligens skrive historie ved å lære de store guttene hvordan man skal skape en utveksling. Når det gjelder offentlig utveksling er gjennomsiktighet en Må ikke bare for Bitfinex, men for enhver utveksling Markedsdeltakere må vite nøyaktig hva som skjer når de legger en bestilling og under ingen omstendigheter må stole på god tro alene. Sikkerhet er viktig fordi ulykker skjer og markeder krasjer, men det er ikke opp til utvekslingen for å engasjere seg i hemmelig ordensdiskriminering Det finnes forskjellige måter å beskytte finansmarkedene på, og ingen av dem er perfekte. Å legge til kompleksitet øker vanligvis sjansen for uninte nded bivirkninger og derfor en enkel, gjennomsiktig tilnærming virker mer hensiktsmessig enn en skjult, kompleks en. To dager siden reduserte BitMEX sine handelsavgifter til 0 og feiret det ved å frigjøre en grunnleggende markedsbase på Github. BitMEX driver for tiden en handelsutfordring frem til 29. august 2014 for å markedsføre sin nye plattform Å frigjøre en markeringsmarkering er trolig en interessant og effektiv måte å øke API-trafikken og stresstest plattformen selvfølgelig. Jeg kunne selvfølgelig ikke motstå og hadde en titt. Markett-maker er en gaffel off Liquidbot som var originalt designet for å kjøre på den nå foreldede MtGox-utvekslingen. Det var noen mindre endringer, som er nye API-klasser, for å koble til BitMEX, noen ekstra utskrifter til konsoll, endringer for å tilpasse seg terminskontrakter og en stor og unødvendig utskrift til konsoll ved start opp, men ingen vesentlige endringer i handelslogikken. Algoritmen bruker REST og kontrollerer bare for endringer hvert 60 sekund. Dette diskvalificerer allerede boten da det er viktig for sakte å reagere på løpende endringer i bestillingsboken BitMEX begrenser forespørsler til REST API til 150 per 5 minutter, slik at du kan prøve å redusere 60 sekunder til noe som 3, men det vil ikke forandre det faktum at så snart markeder begynner å bevege deg, vil du treffe begrense og bli sittende fast med åpne posisjoner For å være rettferdig, gir BitMEX boten mer som markedsføringsstunt og uttrykker det eksplisitt at bytte til WebSocket vil være svært gunstig da det tillater oppdateringer i sanntid. Overordnet er algoritmen solid skriftlig, teknisk fungerer og er enkelt å sette opp, men det vil ikke gi deg noen penger i det lange løp Hvis noen seriøst vurderer å benytte denne boten, anbefaler jeg følgende små endringer for å gjøre koden mer brukbar.1 Bytt til Websocket.2 Avslutt posisjon på close.3 Bygg ordrer som starter fra midtpunktet. I tillegg vil jeg anbefale å måle volatiliteten på noen måte og tilpasse avstanden mellom ordrer dynamisk og størrelse. Under testingen min var API alltid responsiv og nøyaktig Volum på Utvekslingen er fortsatt lav, men grunnleggende av plattformen ser lovende ut. Denne boten er et morsomt verktøy for å introdusere brukere i verden av markedsfremstilling og algoritmisk handel, men det vinner ikke en sjanse mot etablerte algoritmer. Merk Hvis du vurderer å bruke denne algoritmen, behold Husk at markedsarbeid er en heltidsjobb. Alt mindre enn fullstendig engasjement, rask reaksjonstid og 100 oppetid vil føre til at du mister penger. Eitit Følg opp etterpåvirkningen her. I dag Bitcoin-prisene tok et dykk som marginhandlere på en av Den største børsen Bitfinex fikk sine ordrer likvidert For mange nærtstående observatører og mer sofistikerte handelsmenn, kom det ikke som en overraskelse. Faktisk har lange stillinger bygget opp kontinuerlig de siste par månedene i påvente av en ny boble i Bitcoin-priser og nådde så høyt som 30m i utestående bytteposisjoner på Bitfinex. Nå ville dette ikke være et problem helt i seg selv så lenge det er nok kapital som støtter lånet. Unfortunat ely, de fleste av disse lange stillingene ble skrevet inn rundt 600 640 USD BTC og sikkerheten ble for det meste levert i Bitcoins selv. Følgende diagram viser pent oppbyggingen av lange stillinger, toppet rundt 14. juli med nær 32m i swaps. Running litt rask mattebasert på vedlikeholdsmarginalen på Bitfinex på 13 og antar Bitcoin som sikkerhet, finner vi at marginanrop skal begynne rundt 520 540 USD BTC-merket I går kom prisene nærmere, og i dag hoppet de endelig over klippen. Problemet er at når marginanrop er satt inn du har en cascading effekt som rips gjennom bestillingsboken, noe som fører til at enda flere ordrer kommer til å ikke komme tilbake og øker det nedadgående momentet videre. Denne typen hendelser er ikke begrenset til Bitcoin-utvekslinger, men kan også forekomme ved store utvekslinger som under 2010 flash krasj i USA Årsaken til en slik flash krasj kan variere og går fra fettfinger feil til programmeringsfeil til cascading margin calls. It er interessant å se hvordan Utvekslingene omhandler disse hendelsene I USA har Nasdaq implementert markedsbrønnbrytere som vil føre til at handel stopper under slike ekstreme forhold. Bitcoin-markeder er ennå ikke så avanserte og pleier å fortsette å handle. Hvis vi ser på ordrehandlingen på Bitfinex i dag ser vi noe veldig merkelig. Det virker, og dette er bare et gjetning da det ikke er noen offisiell kommentar fra utvekslingen som om Bitfinex kjører en algoritme for å håndtere marginanropene. Algoritmen begynner å selge, men begrenser seg til 10 dråper i løpet av 1 minutt. Hvis prisene dråpe mer enn 10 om 1 minutt vil det slutte å selge og vente på kjøp bestillinger å komme inn. Når det igjen er en viss mengde bestillingsordre i ordreboken, begynner algoritmen å selge igjen til alle marginsamtaler er oppfylt. Rediger LeMogawai var den første til å peke dette ut i dette innlegget, og det samsvarer med min personlige observasjon på tidspunktet for arrangementet. Dette synes å være en interessant måte å håndtere cascading marginsamtaler, men kan også vurderes d som grensemarkedsmanipulering fra børssiden Ved å spre ut salgsordrer over tid reduseres nedadgående moment, men handelsmenn ender opp med å bytte mot utvekslingen selv og ikke markedet lenger. Utvekslingen har en informasjonsfordel på dette tidspunktet og er derfor mer sannsynligvis til profitt enn handelsmenn. Heldigvis holdt dette bare i ca 10 minutter, hvorefter kontrollen ble gitt tilbake til markedet. Andre utvekslinger som også tilbyr marginhandel som BTC-e og OKcoin, har nå en gunstig posisjon og kan lære fra dagens hendelser Gjennomføring av et system som ligner større brytere på store børser som Nasdaq, kan være et smart første trekk. Jeg jobber nå for å få min nye handelsplattform gått. Denne nye versjonen er basert på Python, bruker MySQL for å beholde en database over alle tidsserier av forskjellige virtuelle valutaer med automatisk tilbakestilling fra BitcoinCharts og integrerer de tre store børsene MtGox, BTC-E og Bitstamp Platformen wi Jeg vil bli brukt som måte å backtest noen strategier og engasjere seg i automatisk trading. I oppkjørselen bestemte jeg meg for å trekke noen data fra BTC mot USD fra BitcoinCharts og basert på ideene til et papir fra Hashem og Timmermann 1995 implementerte en enkel handelsstrategi Tanken er å prognostisere tegnet av t 1-periodens retur basert på en regresjon, som estimeres ved et automatisk utvalg av tekniske indikatorer i løpet av den siste n perioden frem til t. Etter at t 1 har skjedd, oppdaterer vi modellen og prøv å forutse t 2 ved å bruke alle tilgjengelige data fra de siste n periodene til t 1 og så videre. For min bacheloroppgave undersøkte jeg fire ulike tekniske handelsregler i Forex-markeder. Det bruker MCS og SPA-test for å søke etter gyldige modeller mellom forskjellige parametere som ikke er gjenstand for data snooping Med hensyn til realistiske transaksjonskostnader finner vi ikke noe bevis for meravkastning, noe som er i samsvar med markedseffektivitet. Med denne koden bør du kunne se etter Bitcoin arbitrage muligheter innen BTC-e Den bruker ideen om en pris og bruker triangulær arbitrage, med tanke på kostnader og spredning Grunnen til at jeg legger inn dette her er til tross for at den fungerer, sjansen er at du blir for treg til å konkurrere med andre investorer som gjør det samme . Mulige forbedringer vil være å ta hensyn til bestillingsbokdybden og splitte handlingene dynamisk og prøve å underby andre handelsfolk å gjøre det samme. Også å sette alt opp på en dedikert server nær den fysiske plasseringen av BTC-e-søkemotoren bør drastisk redusere lag og gi deg en potensiell kant. Post navigasjon. Proceedings av den internasjonale konferansen om beregningsmetoder i vitenskap og teknologi 2004.Improving tekniske handelssystemer ved å bruke en ny MATLAB-basert genetisk algoritme prosedyre. Stephanos Papadamou a. George Stephanides ba Institutt for Økonomi, Universitetet i Thessaly, Argonauton og Filelinon, Volos, Greece. b Institutt for anvendt informatikk, Makedonske universitet Økonomisk og samfunnsvitenskap, Egnatias 156, Thessaloniki 54006, Hellas. Mottatt 18. mai 2006 Godkalt 15. desember 2006 Tilgjengelig på nettet 24. januar 2007. Nyere studier på finansmarkedene tyder på at teknisk analyse kan være et svært nyttig verktøy for å forutsi utviklingen. Handelssystemer er mye brukt for markedsanalyse har parameteroptimalisering av disse systemene imidlertid tiltrukket liten interesse. I dette papiret, for å utforske den potensielle kraften i digital handel, presenterer vi et nytt MATLAB-verktøy basert på genetiske algoritmer verktøyet spesialiserer seg på parameteroptimalisering av tekniske regler. Det bruker kraften av genetiske algoritmer for å generere raske og effektive løsninger i reelle handelsvilkår Vårt verktøy ble testet grundig på historiske data fra et UBS-fond som investerer i nye aksjemarkeder gjennom vårt spesifikke tekniske system. Resultatene viser at vår foreslåtte GATradeTool overgår vanlige, ikke-adaptive programvare verktøy med hensyn til stabilitet av retur og tidsbesparelse over hele prøven periode Men vi ga bevis på en mulig befolkningsstørrelse effekt i kvaliteten på løsninger. Finansielle markeder. Genetiske algoritmer. Tekniske regler.1 Innledning. Tidens sjefer og investeringsanalytikere krever raske og effektive verktøy i et hensynsløst finansmarked. Kampene i handel er nå hovedsakelig utført ved datahastighet Utviklingen av ny programvareteknologi og utseendet til nye programvaremiljøer, for eksempel MATLAB, gir grunnlag for å løse vanskelige økonomiske problemer i sanntid MATLABs store innebygde matematiske og finansielle funksjonalitet, det faktum at det både er en tolket og kompilert programmeringsspråk og plattform uavhengighet gjør det godt egnet for økonomisk applikasjonsutvikling. Forventet avkastning opptjent av tekniske regler, inkludert momentumstrategier, for eksempel 14 15 16 16 25 og 20, glidende gjennomsnittsregler og andre handelssystemer 6 2 9 og 24 kan støtte betydningen av teknisk analyse. De fleste av disse studiene har imidlertid ignorert spørsmålet om parameteroptimalisering, slik at de er åpne for kritikk av dataoppslag og muligheten for overlevelsesforstyrrelser 7 17 og 8 Tradisjonelt brukte forskere ad hoc-spesifikasjon av handelsregler. De bruker en standard populær konfigurasjon eller tilfeldig utprøver noen forskjellige parametere og velger best med kriterier basert på tilbakeføring hovedsakelig. Papadamou og Stephanides 23 implementerte en ny MATLAB-basert verktøykasse for datamaskinstøttet teknisk handel som har inkludert en prosedyre for parameteroptimaliseringsproblemer. Det svake punktet i optimaliseringsprosedyren er imidlertid tiden objektivfunksjonen, f. eks. fortjeneste ta enkel kvadratfeilfunksjon, men komplisert hver optimaliserings iterasjon går gjennom dataene, genererer handelssignaler, beregner fortjeneste, osv. Når datasettene er store og du vil gjerne gjenoptimere systemet ditt ofte, og du trenger en løsning så snart som mulig, så prøver alle mulige løsninger for å få det beste, det vil være en veldig kjedelig oppgave. Genet IC-algoritmer GAs er bedre egnet ettersom de utfører tilfeldige søk på en strukturert måte og konvergerer veldig raskt på populasjoner av næroptimale løsninger. GA vil gi deg en sett befolkning av gode løsninger. Analytikere er interessert i å få noen gode løsninger så fort som mulig snarere enn den globalt beste løsningen Den globalt beste løsningen eksisterer, men det er svært lite sannsynlig at den vil fortsette å være den beste. Målet med denne studien er å vise hvordan genetiske algoritmer, en klasse av algoritmer i evolusjonær beregning, kan benyttes for å forbedre ytelsen og effektiviteten til datastyrte handelssystemer Det er ikke hensikten her å gi teoretisk eller empirisk begrunnelse for den tekniske analysen Vi demonstrerer vår tilnærming i en bestemt prognostiseringsoppgave basert på nye aksjemarkeder. Dette papiret er organisert som følger Tidligere arbeid presenteres i del 2 Datasettet og metodikken er beskrevet i avsnitt 3. De empiriske resultatene er diskusjoner Seksjon 4 Konklusjoner følger Seksjon 5.2 Tidligere arbeid. Det er en stor gruppe GA-arbeid innen datavitenskap og ingeniørfelt, men lite arbeid har blitt gjort om forretningsområder. Senere har det vært en økende interesse for GA-bruk i finansøkonomi , men hittil har det vært lite forskning om automatisert handel. For vår kunnskap var den første publiserte papirbindende genetiske algoritmen til investeringer fra Bauer og Liepins 4 Bauer 5 i sin bok Genetiske algoritmer og investeringsstrategier tilbudt praktisk veiledning om hvordan GA kan brukes å utvikle attraktive handelsstrategier basert på grunnleggende informasjon Disse teknikkene kan enkelt utvides til å inkludere andre typer informasjon som teknisk og makroøkonomisk data samt tidligere priser. Ifølge Allen og Karjalainen er 1 genetisk algoritme en hensiktsmessig metode for å oppdage tekniske handelsregler Fernndez-Rodrguez et al 11 ved å vedta genetisk algoritmer optimalisering i na simple trading rule gir bevis for vellykket bruk av GA fra Madrid Børs Noen andre interesserte studier er de av Mahfoud og Mani 18 som presenterte et nytt genetisk-algoritme-basert system og brukte det til oppgaven å forutsi fremtidens forestillinger av individuelle aksjer av Neely et al. 21 og av Oussaidene et al. 22 som brukte genetisk programmering til prognoser for utenlandsk valuta og rapporterte noen suksess. En av komplikasjonene i GA-optimalisering er at brukeren må definere et sett med parametere som overkryssingshastigheten, befolkningsstørrelse og mutasjonsrate Ifølge De Jong 10 som studerte genetiske algoritmer i funksjonsoptimalisering, krever god GA-ytelse høy overgangssannsynlighet i forhold til befolkningsstørrelse og en moderat befolkningsstørrelse Goldberg 12 og Markellos 19 antyder at et sett med parametere som fungerer godt over mange problemer er en crossover-parameter 0 6, populasjonsstørrelse 30 og mutasjonsparameter 0 0333 Bauer 4 utførte en ser simulering av økonomiske optimeringsproblemer og bekreftet gyldigheten av Goldbergs forslag I den nåværende studien vil vi utføre en begrenset simuleringsstudie ved å teste ulike parameterkonfigurasjoner for det valgte handelssystemet. Vi vil også gi bevis for GA foreslått ved å sammenligne vårt verktøy med andre software tools.3 Methodology. Our metodikk er gjennomført i flere trinn Først må vi implementere vårt handelssystem basert på teknisk analyse Ved å utvikle et handelssystem, må du avgjøre når du skal gå inn og når du skal gå ut av markedet Hvis handelsmannen er i markedet er den binære variabelen lik en ellers er null Som posisjon handelsfolk baserer vi flertallet av våre inn - og utgangsbeslutninger på daglige diagrammer ved å bygge en trend som følger indikator Dimbeta Denne indikatoren beregner avviket av nåværende priser fra det glidende gjennomsnittet av lengden Indikatorene som brukes i vårt handelssystem kan formaliseres som nedenfor. Hvor er fondets sluttkurs på tidspunktet og funksjonen beregner MovAv det enkle glidende gjennomsnittet for variabelen Lukk med tidslengde. Vårt handelssystem består av to indikatorer, Dimbeta-indikatoren og Moving Average of Dimbeta gitt av følgende ligning. Hvis du krysser oppover, kommer du så langt inn i marked, dvs. kjøpesignal Hvis du krysser nedover, lukker du den lange posisjonen i markedet, dvs. selgesignal. Andre må vi optimalisere vår handelsstrategi. Det er velkjent at maksimering av objektive funksjoner som fortjeneste eller formue kan optimalisere handelssystemer. Den mest naturlige målfunksjonen for en risikofølende næringsdrivende er fortjeneste I vårt programvareverktøy anser vi multiplikative profitt. Multiplikativ fortjeneste er hensiktsmessig når en fast brøkdel av akkumulert formue er investert i hver lang handel. I programvaren vår er det ikke mulig å selge kortsiktige frikoblingsfaktorer, Verdien til tiden er gitt ved følgende formel. Hvor er avkastningen realisert for perioden som slutter til tider, er transaksjonen på kostnader og er den binære dummy-variabelen som indikerer en lang stilling eller ikke, dvs. 1 eller 0 Profitten er gitt ved å trekke fra den endelige formuen den opprinnelige riket. Optimalisering av et system innebærer å utføre flere tester mens det varierer en eller flere parametere, innenfor handelsreglene Antall tester kan raskt vokse enorm Metastock har maksimalt 32 000 tester I FinTradeTool 23 er det ingen grense på tidsprosessen avhengig av datasystemet som brukes. I dette papiret undersøker vi muligheten for å løse optimaliseringsproblemet ved å ved hjelp av genetiske algoritmer. Genetiske algoritmer GA som ble utviklet av Holland 13 utgjør en klasse av søknings-, tilpasnings - og optimaliseringsteknikker basert på prinsippene om naturlig evolusjon. Genetiske algoritmer gir seg godt til optimaliseringsproblemer siden de er kjent for å vise robusthet og kan tilby betydelige fordeler i løsningsmetodikk og optimaliseringsprestasjon GA er forskjellig fra andre optimaliseringer og sjø rch prosedyrer på noen måter Først jobber de med en koding av parametersettet, ikke parameterne selv. Derfor kan GAs enkelt håndtere de binære variablene. For det andre, GAs søke fra en populasjon av poeng, ikke et enkelt punkt. Derfor kan GAs gi et sett med globalt optimale løsninger Endelig bruker GAs bare objektive funksjonsinformasjon, ikke derivater eller annen hjelpekunnskap. Derfor kan GAs håndtere de ikke-kontinuerlige og ikke-differensierbare funksjonene som faktisk eksisterte i et praktisk optimaliseringsproblem.4 Foreslått GATradeTool. In GATradeTool en genetisk Algoritmen opererer på en populasjon av kandidatløsninger kodet. Hver avgjørelsesvariabel i parametersettet er kodet som en binær streng og alle sammenkobles for å danne et kromosom. Kromosomrepresentasjon er en toelementvektor som inneholder parametere i bunary genetisk koding. Precisionen av binær representasjon er åtte biter per parameter dvs. 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1 1 Det begynner med et tilfeldig sam nstructed population of initial guesses Disse løsningskandidatene evalueres i forhold til vår objektive funksjon Eq 4 For å oppnå optimalitet, utveksler hver kromosom informasjon ved hjelp av operatører, dvs. aritmetisk crossover 1 lånt fra naturlig genetikk for å gi en bedre løsning. Målfunksjonen Eq 4 er brukes til å måle hvordan enkeltpersoner har utført i problemdomenet. I vårt tilfelle vil de mest tilpassede individer ha den høyeste numeriske verdien av den tilhørende objektivfunksjonen. Treningsfunksjonen forvandler de objektive målverdiene til ikke-negative verdier for hver enkelt. tool supports the offsetting and scaling method of Goldberg 12 and the linear-ranking algorithm of Baker 3.Our selection technique employs a roulette wheel mechanism to probabilistically select individuals based on their performance A real-valued interval Sum is determined as the sum of the row fitness values over all the individuals in the current population Ind ividuals are then mapped one to one into contiguous intervals in the range 0, Sum The size of each individual interval corresponds to the fitness value of the associated individual To select an individual a random number is generated in the interval 0, Sum and the individual whose segment spans the random number is selected This process is repeated until the desired number of individuals has been selected 26 These candidates were allowed to participate in an arithmetic crossover, the procedure that recombines promising candidates in order to create the next generation These steps were repeated until a well-defined criterion is satisfied Because the GA is a stochastic search method, it is difficult to formally specify convergence criteria As the fitness of population may remain static for a number of generations before a superior individual is found, the application of conventional termination criteria becomes problematic As a result we proposed the achievement of a specific number of i terations as the termination criterion Our genetic algorithm can be presented in the following frame.5 Empirical results. In this section, we apply our methodology in a UBS mutual fund investing in emerging stock markets 2 The data analyzed consists of 2800 observations on daily closing prices of that fund for the period 1 5 98 25 6 04 The optimization period is defined between 1 5 98 to 25 6 03 The optimized system was evaluated through the extended period 25 6 03 25 6 04.The optimization problem is set as to determine the optimal lengths of Dimbeta indicator and its moving average for the simple Dimbeta model that will maximize profits Firstly, the effect of different GA parameter configurations will be studied More specifically we are interested to measure the effect of the population size and the crossover parameter in the performance of the genetic algorithm based optimization procedure Based on Goldberg s 12 and Bauer s 4 recommendations, the population size should be equal to 30 and the crossover rate should be 0 6 default values The number of iterations was set to 300 for all simulations Second, we compared the solutions of optimization problem conducted by different software tools in order to measure the validity of the GATradeTool proposed. Table 1 provides the GA optimization results for different sizes of populations The first row of the table shows the best parameters for the Dimbeta indicator and the moving average of Dimbeta In order to measure the effect of population size in the best solution we examine a series of different statistics The solution with the maximum and minimum return, the average return, the standard deviation of these solutions, the time needed for convergence of the algorithm, and an efficiency index calculated by dividing max return solution by the standard deviation of solutions. Table 1 Population size effect. By looking in Table 1 we can say that as long as you increase the population size the best and the average solutions are hi gher However, after a population size of 30 the performance decreased In order to take into consideration the computational costs involved since increase in population size, we calculate the time needed for solving the problem Low population size leads to low performance and low completion time According to the efficiency index the best solution is that given by the population size 20.In order to establish a base performance of the algorithm, 30 trials of the GA were performed, with a different random starting population for each trial Fig 1a shows how performance improved over time by plotting average maximum fitness as percentage of the optimal value versus the generation number We first captured the maximum fitness value for each of the 30 trials this is done for every generation and every trial We then averaged the maximum fitness values and divided that number by the optimal fitness value, which was obtained by enumerative search FinTrade tool, 23 this gave us the average maximum fitness as a percentage of the optimum value per generation. Fig 1a Base parameter settings percentage of optimal. As can be seen in Fig 1a the average maximum fitness of the first generation is about 74 of the optimal value However, by the fiftieth generation, the algorithm has usually found at least one solution that was within 90 of the optimal value After the fiftieth generation, the solution could reach 98 of the optimal value. With performance measures from our base settings as a reference point, we examined the possible variations in the basic procedure We studied the effect of changes in population size and crossover rate For each different parameter setting, we performed 30 trials of the algorithm and then compared the graphs of average maximum fitness with those obtained for the base setting. First, we tried crossover rates 0 4 and 0 8 The results are shown in Fig 1b and Fig 1c which are similar to Fig 1a As a result crossover parameters do not affect the optimal solution to a c ritical degree However, the results are different when we alter the population size According to Fig 1d and Fig 1e with a small population size we had poorer results than with a large population When we selected 80 as population size we achieved high returns in early generations. Fig 1b Crossover 0 40 percent of optimal. Fig 1c Crossover 0 80 percent of optimal. Fig 1d Population 80 percent of optimal. Fig 1e Population 20 percent of optimal. By looking at Table 2 you can compare the results of optimization of our trading system by using three different software tools The first row gives the result for the GATradeTool against the Metastock and the FinTradeTool 23 Our proposed software tool GATradeToo l can solve the optimization problem very fast without any specific restrictions about the number of total tests The maximum number of tests that can be performed in Metastock software is 32 000 The FinTradeTool needs much more time in order to find the optimal solution The solution provided by the GATradeTool is close to the optimal solution of the FinTradeTool. Table 2 Comparison of three different software tools. Optimized parameters Dimbeta MovAv DimBeta. The trading systems with the optimum parameters that have been found in period 1 5 98 25 6 03 were tested in the evaluation period 25 6 03 25 6 04 The performance of our trading system has been increased in all software tools However, the cost of time has to be considered very seriously column 4.Fig 2 depicts the evolution of the maximum, minimum and average return across the 300 generations for the Dimbeta trading system population size 80, crossover rate 0 6 It can be observed that the maximum return has a positive trend It appears to be relatively stable after 150 generations and moves in the range between 1 2 and 1 i e 120 100 return For the minimum fitness no pattern seems to exist For the average population return a clear upward trend can be found in the first 180 generations, this is an indication that the overall f itness of the population improves over time Concerning the volatility of the solutions, standard deviation of solutions after an increase in the first generations stabilizes in a range between 0 3 and 0 6 providing evidence of a stable and efficient set of solutions. Fig 2 Evolution of several statistics over 300 generations. Fig 3 provides a three dimensional plot of the optimum solutions given by the GATradeTool In axes and we have the parameters , for the dimbeta indicator and its moving average Axis 2 shows the return of the Dimbeta trading system for the selected optimum parameters As can be easily understood our tool provides an area of optimum solutions in contrast with the FinTradeTool that provides only the best solution. Fig 3 A 3-D plot of the optimum area.6 Conclusions. While technical analysis is widely used as an investment approach among practitioners or academics, they are rarely focused on the issue of parameter optimization It is not our role to defend technical analysis here, although our results show that there is some predictability in the UBS mutual fund investing in emerging stock markets based on historical data alone Our main objective in this paper is to illustrate that the new technology of MATLAB can be used in order to implement a genetic algorithm tool that can improve optimization of technical trading systems. Our experimental results show that GATradeTool can improve digital trading by providing quickly a set of near optimum solutions Concerning the effect of different GA parameter configurations, we found that an increase in population size can improve performance of the system The parameter of crossover rate does not affect seriously the quality of the solution. By comparing the solutions of the optimization problem conducted by different software tools, we found that the GATradeTool can perform better, by providing very fast a set of optimum solutions that present a consistency throughout the evaluation period. Finally, it would be intere sting for further research to test a series of different systems in order to see the correlation between a genetic algorithm and system performances At a time of frequent changes in financial markets, researchers and traders can easily test their specific systems in GATradeTool by changing only the function that produces the trading signals. This research paper was part of the postdoctoral research of Dr S Papadamou that has been funded by IKY Greek State Scholarships Foundation. F Allen R Karjalainen. Using genetic algorithms to find technical trading rules. Journal of Financial Economic Volume 51 1999 pp 245 271.H L Allen M P Taylor. The use of technical analysis in the foreign exchange market. Journal of International Money and Finance Volume 11 1992 pp 303 314.J E Baker, Adaptive selection methods for genetic algorithms, in Proceedings of the first International Conference on Genetic Algorithms, 1985, pp 101 111.R J Bauer G E Liepins. Genetic algorithms and computerized trading strategies. Expert Systems in Finance D E O Leary P R Watkins 1992 Elsevier Science Publishers, Amsterdam, The Netherlands. Genetic Algorithms and Investment Strategies.1994 John Wiley Sons, Inc, New York. W Brock J Lakonishok B LeBaron. Simple technical trading rules and the stochastic properties of stock returns. Journal of Finance Volume 47 1992 pp 1731 1764.S Brown W Goetzmann R Ibbotson S Ross. Survivorship bias in performance studies. Review of Financial Studies Volume 5 1992 pp 553 580.S Brown W Goetzmann S Ross. Journal of Finance Volume 50 1995 pp 853 873.Y W Cheung C Y P Wong. The performance of trading rules on four asian currency exchange rates. Multinational Finance Journal Volume 1 1997 pp 1 22.K De Jong, An analysis of the behavior of a class of genetic adaptive systems, Ph D Diss University of Michigan, University Microfilms No 76-9381, 1975.F Fernndez-Rodrguez, C Gonzlez-Martel, S Sosvilla-Rivero, Optimisation of Technical Rules by Genetic Algorithms Evidence from the Madrid Stock Market, Working Papers 2001-14, FEDEA, 2001.D E Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning.1989 Addison-Wesley. Adaptation in Natural and Artificial System.1975 University of Michigan Press. N Jegadeesh S Titman. Returns to buying winners and selling losers Implications for stock market efficiency. Journal of Finance Volume 48 Issue 1 1993 pp 65 91.The New Commodity Trading Systems and Methods.1987 John Wiley Sons. Fad, martingales, and market efficiency. Quarterly Journal of Economics Volume 105 1990 pp 1 28.A W Lo A C MacKinlay. When are contrarian profits due to stock market overreaction. Review of Financial Studies Volume 3 1990 pp 175 206.S Mahfoud G Mani. Financial forecasting using genetic algorithms. Journal of Applied Artificial Intelligence Volume 10 Issue 6 1996 pp 543 565.R N Markellos. Backtesting trading systems. Journal of Computational Intelligence in Finance Volume 5 Issue 6 1997 pp 5 10.L Menkhoff M Schlumberger. Persistent profitability of technical analysi s on foreign exchange markets. BNL Quarterly Review Volume 193 1995 pp 189 216.C Neely, P Weller, R Ditmar, Is technical analysis in the foreign exchange market profitable A genetic programming approach, in C Dunis, B Rustem, Eds , Proceedings, Forecasting Financial Markets Advances for Exchange Rates, Interest Rates and Asset Management, London, 1997.M Oussaidene B Chopard O Pictet M Tomassini. Practical aspects and experiences Parallel genetic programming and its application to trading model induction. Journal of Parallel Computing Volume 23 Issue 8 1997 pp 1183 1198.S Papadamou G Stephanides. A new matlab-based toolbox for computer aided dynamic technical trading. Financial Engineering News Issue 31 2003.S Papadamou S Tsopoglou. Investigating the profitability of technical analysis systems on foreign exchange markets. Managerial Finance Volume 27 Issue 8 2001 pp 63 78.F M Werner D Bondt R Thaler. Further evidence on investor overreaction and stock market seasonality. Journal of Finance Volum e 42 Issue 3 1987 pp 557 581.D Whitley, The Genitor algorithm and selection pressure Why rank-based allocations of reproductive trials are best, in Proceedings of the Third International Conference on Genetic Algorithms, 1989, pp 116 121.Arithmetic single-point crossover, involves randomly cutting two strings at the same randomly determined string position and then swapping the tail portions Crossover extends the search for new solutions in far-reaching directions. The structure of this fund and its major position at 25 6 2004 are depicted in the following figure. Copyright 2007 Elsevier Ltd All rights reserved. Automated Trading System Development with MATLAB. Stuart Kozola, MathWorks. Want to learn how to create an automated trading system that can handle multiple trading accounts, multiple asset classes, and trade across multiple trading venues Simultaneously. In this webinar we will present an example workflow for researching, implementing, testing and deploying an automated trading str ategy providing maximum flexibility in what and who you trade with You will learn how MATLAB products can be used for data gathering, data analysis and visualization, model development and calibration, backtesting, walk forward testing, integration with existing systems and ultimately deployment for real-time trading We look at each of the parts in this process and see how MATLAB provides a single platform that allows the efficient solution of all parts of this problem. Specific topics include. Data gathering options, including daily historic, intraday, and real-time data. Model building and prototyping in MATLAB. Backtesting and calibrating a model. Walk forward testing and model validation. Interacting with existing libraries and software for trade execution. Deployment of the final application in a number of environments, including JAVA, and Excel. Tools for high frequency trading, including parallel computing, GPUs, and C code generation from MATLAB. Product Focus. Select Your Country.
Comments
Post a Comment