Maskininlärning och algoritmer som stöd för trading

Jag tänkte att eftersom en sådan här sak saknas här, så startar jag en. Jag började själv segla in i maskininlärningens och algoritmernas värld av eget intresse (och lite på grund av mitt yrke). Så kort sagt: Jag har länge varit (och kommer att fortsätta vara) en anhängare av teknisk analys, men man märker inte alltid allt med egna ögon, och jag ser det som viktigt att utnyttja maskininlärning och algoritmer för att få data och visualisera den.

I algostrategierna använder jag huvudsakligen sköldpaddsstrategin, som syftar på trendhandel som gjordes känd av sin tids superstjärna Richard Dennis. Som stöd för detta använder jag ABCD-strategin.

Jag litar inte helt på algoritmer och baserar fortfarande mina egna handlingar på teknisk analys, så genom att analysera data från olika perspektiv, såsom avkastning, volatilitet, sentiment, känslor, genomsnittligt momentum, cykliskhet, trend, säsong, linjär analys, sannolikhetsberäkning med mera, tror jag att man kan skingra den framtida dimridån för handel. Jag använder Jupyter Notebook som plattform på grund av dess grafiska egenskaper och kodsegmentering.

Maskininlärningen har utvecklats i snabb takt under de senaste åren, men är fortfarande i sin linda, så påståenden jag gör i denna tråd bör fortfarande granskas relativt kritiskt och resultaten ifrågasättas.

Data har hämtats från Yahoo Finance med daglig precision och den huvudsakliga tidsramen som använts är fem år. Detta innebär alltså att maskinen i vissa fall inte har lärt sig vad en kris betyder (2008). Data kan naturligtvis hämtas från andra ställen och med bättre tidsramar också, men på andra ställen är problemet att man oftast inte hittar den finska börsen. Hittills är det trevligaste API:et jag har stött på för att till exempel undersöka amerikanska börser Alphavantage.

För TA som jag använder som hjälp finns det redan en egen tråd här, så jag rekommenderar att ni ställer TA-relaterade frågor här.

Jag avslöjar inte alla hemligheter bakom metoderna, men om det uppstår frågor, önskemål eller förfrågningar, hjälper jag gärna till.

16 gillningar

Som en liten demonstration av vad denna tråd handlar om, för dem som inte orkar läsa inlägget utan hellre tittar på bilder, kommer jag att ge två exempel. Det första exemplet handlar om portföljer. I portföljer är det viktigt att investeringarna är väl diversifierade och att volatiliteten per aktie är på en acceptabel nivå för den egna risknivån. Genom att använda resultat (+/-), kursutveckling, medelvärde och volatilitet kan aktier jämföras från ett tekniskt perspektiv.

I exemplet valde jag en handfull finska företag, börsnamnen i bilderna:

Uppenbarligen är Orion, Kone, Renkaat, Sampo, Elisa med flera lågvolatila aktier, medan Vaisala, Valmet, Metsä Board med flera är mer högvolatila individer i jämförelsegruppen. Maskinen ger alltså ovanstående rekommendationer baserat på avkastning i en riktning och volatilitet i en annan riktning, separerade av en delare. Datan är femårig.

Om man inte skulle vara på köpsidan, utan ville göra en riskbedömning av sin egen portfölj (alla aktier i exemplet tillsammans), skulle man kunna visualisera den med samma data enligt följande:


Diversifieringen är alltså relativt mångsidigt genomförd.

Om man istället skulle vara på köpsidan och hypotetiskt fokusera på företag i “Köp”-området, skulle riskbedömningen se ut så här:

Jag kommer att posta ytterligare ett exempel på en aktiespecifik analys senare ikväll, med hjälp av metoderna från trådens introduktionsinlägg för att demonstrera hur man får en bred teknisk översikt över en aktie.

18 gillningar

Det här är intressant. Visa gärna maskinanalysen för Nokia också.

2 gillningar

Jag tänkte först göra exemplet med Metsä Board, men här är en snabbt hopkommen Nokia för presentation. En påminnelse om att detta inte alls har tagit hänsyn till sociala medier, fonder eller andra externa faktorer utanför priset.

Jag matade in Nokias kursdata för de senaste 4 åren (<18.7.2019) i maskinerna. För att få en uppfattning om var Nokia skulle vara i förhållande till andra företag, körde jag först en prisjämförelse för Nokia. I ett optimalt scenario skulle detta göras i förhållande till konkurrenterna, men jag körde det nu med andra slumpmässiga företag vars kursdata jag redan hade samlat in. Jag färgade Nokia rött för att det skulle synas bättre.

När man ungefär vet aktiens position i förhållande till andra aktier, kan man börja analysera den via synlig data. Det enklaste sättet att bedöma prestationen är att jämföra åren med varandra för att hitta starka och svaga perioder. Nedan är de senaste 4 åren i en enda bild.

Separerade från varandra ser åren ut så här:


Årsskiftet har alltså ofta fungerat som en vändpunkt i priset. Denna information är bra att ha i åtanke, men det är bara en observation som vi i slutändan inte gör något mer med här.

Det som intresserar oss är aktiens prisprofil. Profilen erhålls genom att beräkna den vanligaste prisnivån för aktien:


Uppenbarligen ligger Nokias vanligaste nivå runt femman. En förfining av detta får man från 4-års medelvärdet genom att beräkna CloseMean, dvs. medelvärdet för stängningspriset.

Om vi även lägger till det linjära medelvärdet i bilden märker vi att Nokia i genomsnitt har varit i nedgång de senaste 4 åren.

Med hjälp av det linjära medelvärdet kan vi också illustrera hur kursen ser ut i förhållande till den genomsnittliga nedgången:
6hinnankuvausgraafi
Från denna beräkning kan man vid behov också konstruera en indikator för att övervaka priser.

Genom att lägga till MA12 på kartan får vi följande bild, vars resultat vi kommer att använda i framtiden:

Och den framtiden kommer här. Med hjälp av MA12 och stängningspriserna kan vi beräkna och visualisera medelvärdet för kursens riktning samt medelvärdet för kursavvikelser (finesser i det finska språket). Tekniskt sett ser du alltså svart som standard, samt blått som stängningspris och orange som MA12. Mollstämningen syns.

Vad betyder detta alltså för själva aktien? Kan detta göras mer begripligt för gemene man? Tack vare datum, priser och algoritmer kan vi även rensa bort säsongsbetonade prisförändringar från datan:


Det tydligaste mönstret är troligen en nedåtgående trend, och det mest intressanta är troligen den säsongsbetonade avvikelsen. Enligt grafen är vi tydligen på väg mot tillfälliga bottennoteringar igen om ett par dagar.

Men! Betyder detta att man borde köpa?

Det är en personlig fråga för alla och beror på personen själv. Jag väntar gärna tills alla stjärnor står i linje om ett köpbeslut ska fattas. Att konstatera överreaktion i kursen är i vissa fall användbart:


Den föregående överreaktionen inträffade alltså på våren när priset nådde 4,23. Detta hade varit ett bra tillfälle att kasta ut metkroken.

Hur beter sig aktien sedan vid olika prisnivåer? Volatiliteten/spridningen i priset kan beskrivas på följande sätt:
11scatter-vola
Priset är stabilast mellan 4,2 och 5,8 euro.

Omvandlat till en 3D-bild:

Hur skulle algoritmen identifiera köptillfällen?

Detta beror på vilken algoritm som används. Om algoritmen bygger på prisavvikelser och strävar mot en normal nivå, det vill säga identifierar extremvärden i priset och säljer baserat på detta, skulle utdata kunna se ut så här:

Detta omvandlat till ett stapeldiagram visar de mest fördelaktiga köp- och säljtillfällena under en 4-årsperiod:


Det vill säga, ju mindre rött, desto lugnare och mindre riskfyllt har rörelsen varit. De röda punkterna representerar punkterna i bilden ovan och den blå representerar prisnivån.

För att kartlägga resultaten kan man också använda Monte Carlo-simuleringsmetoden, som så vitt jag vet används bland annat i väderprognoser. Man kan läsa mer om metoden på Wikipedia.
Kort sagt, simuleringen bygger ett givet antal slumpmässiga prognoser som kan filtreras bort efter sannolikhet. I denna analys använder jag inte metoden annat än i demonstrationssyfte. Nedan demonstreras de 100 mest sannolika kursvägarna baserat på 4 års data.

Detta är också mycket lättare att läsa från ett stapeldiagram:

Inte direkt en investeringsstrategi, men ger en bra bild av vad man kan förvänta sig av framtiden genom att kombinera detta med all annan data som har gåtts igenom ovan.

Men men! När tittar vi på algoritmens resultat?
Låt oss titta på dem nu då.

Jag använder gärna en kombination av två olika algoritmer. Den ena bygger på Richard Denniss läror, legenden själv (se Turtle strategy), det vill säga förändringar i trenden, och den andra på ABCD-mönstret på börsen.

Nedan nämns den förstnämnda. Regler: Max köp: 200, Max sälj: 1000:
day 314: buy 200 units at price 887.600000, total balance 9112.400000 (INV 200 )
day 324: buy 200 units at price 864.800000, total balance 8247.600000 (INV 400 )
day 325: buy 200 units at price 830.000000, total balance 7417.600000 (INV 600 )
day 326: buy 200 units at price 813.600000, total balance 6604.000000 (INV 800 )
day 327: buy 200 units at price 794.400000, total balance 5809.600000 (INV 1000 )
day 329: buy 200 units at price 787.200000, total balance 5022.400000 (INV 1200 )
day 330: buy 200 units at price 771.600000, total balance 4250.800000 (INV 1400 )
day 337: buy 200 units at price 762.000000, total balance 3488.800000 (INV 1600 )
day 451, sell 1000 units at price 5370.000000, investment 40.944882 %, total balance 8858.800000, (INV 600 )
day 452, sell 600 units at price 3231.000000, investment 41.338583 %, total balance 12089.800000, (INV 0 )
day 453: cannot sell anything, inventory 0
day 454: cannot sell anything, inventory 0
day 455: cannot sell anything, inventory 0
day 456: cannot sell anything, inventory 0
day 466: cannot sell anything, inventory 0
day 603: buy 200 units at price 802.800000, total balance 11287.000000 (INV 200 )
day 605: buy 200 units at price 784.000000, total balance 10503.000000 (INV 400 )
day 607: buy 200 units at price 780.000000, total balance 9723.000000 (INV 600 )
day 608: buy 200 units at price 774.000000, total balance 8949.000000 (INV 800 )
day 886, sell 800 units at price 4344.000000, investment 40.310078 %, total balance 13293.000000, (INV 0 )
day 887: cannot sell anything, inventory 0
day 958: buy 200 units at price 872.800000, total balance 12420.200000 (INV 200 )
day 959: buy 200 units at price 868.400000, total balance 11551.800000 (INV 400 )
day 960: buy 200 units at price 854.200000, total balance 10697.600000 (INV 600 )
day 961: buy 200 units at price 853.700000, total balance 9843.900000 (INV 800 )
day 962: buy 200 units at price 846.500000, total balance 8997.400000 (INV 1000 )

Och nedan en bild av ABCD-resultaten på kartan:


Samt i indikatorform:
Skillnaden mellan dessa två är, som de mest uppmärksamma redan har noterat, att den första är lämplig för långa tidsramar och den andra för medellånga tidsramar. I den första använder jag 4 års data och i ABCD 1 års data.

Jag kommer att slänga in den där skogs-b här någonstans också.

Och för all del, om ni kommer på bra strategier och observationer så hojta till.

18 gillningar

Jag hittade inget direkt i din beskrivning som jag inte kan hitta i TA själv. TA kan inte direkt förutsäga, utan baseras på optimal timing av köp- och säljtidpunkter. Dessa beror då också på positionens tidsram. Men jag såg inte hur framtida förutsägelser görs och hur mycket data det finns om det (framgången med förutsägelserna).
Eftersom du själv är insatt i TA, kan du förklara lite hur detta skiljer sig från det (jämfört med de TA-metoder du själv har tillämpat). Beräkningar/algoritmer måste fungera i realtid för att vara till nytta, till exempel vid handel.

2 gillningar

Du har delvis rätt i det. Jag ska dela upp det lite. Om man vill gå direkt till enbart algohandel och dra sig tillbaka själv, kräver det tillgång till livedata via ett API-gränssnitt som matas från en börs, som till exempel Alpha Vantage. Tyvärr har jag inte hittat något API-gränssnitt från vilket man direkt kan dra livedata från de finska börserna jag själv handlar med, så jag har varit tvungen att nöja mig med att mata in så kallad statisk data via en CSV-fil. Detta utesluter naturligtvis livehandel med algoritmer och tvingar mig till dags- och veckohandel. Om du är intresserad av att handla med tyska DAX, så finns DAX på Alpha Vantage som den börs som ligger närmast Finland. AV:s API är gratis.

Om du är intresserad av att bygga en helt automatisk algoritm som utför affärer åt dig med sekunders reaktionstid, är det bästa sättet att börja med detta just nu att antingen helt fokusera på kryptovalutor, eftersom många börser delar sina API:er genom vilka du kan få både livedata och utföra order, och API:erna är ofta helt gratis. I börsvärlden är full automation mer utmanande och fokuserar främst på stora aktörer. På kryptosidan finns ett bra bibliotek för att sätta upp en algoritm här.

Nordnet här är förmodligen en pionjär som erbjuder sitt eget API-gränssnitt, men tydligen inte helt gratis. Dessutom är den senaste nyheten fyra år gammal, så det finns inga garantier för dess funktion. :confused:

För att svara på din fråga om skillnaderna mellan TA och maskinell dagshandel, kan man lära algoritmer de råd och strategier som lärts från TA genom djupinlärning. Processen är i ett nötskal att du kodar en massa indikatorer och regler, lär modellen genom iterationer i vilka situationer det lönar sig att göra vad. När modellen är färdig kan du antingen behålla den eller ändra träningsdata och inställningar. En lämplig modell bör sparas och tas i bruk. Tack vare många iterationer i samband med träningsdata lär sig modellerna att identifiera rätt köp- och säljtidpunkter mycket mer tillförlitligt än människor, vilket i livehandel är viktigt just på grund av reaktionstiden. Populära modeller att lära ut är olika varianter som använder ARIMA, CNN och LSTM separat eller tillsammans. Det viktigaste för modellens funktion är sannolikhetsberäkning och värdering av olika möjligheter, så det finns ingen “perfekt modell”.

Visuellt exempel på hur modellen “ser” de givna reglerna, till exempel vid MA-korsningar:


Ovan har maskinen fått data med olika typer av Moving Averages. Nedan är data om vad modellen förväntar sig ska hända i olika korsningssituationer.

Om man vill gå in på framtidsförutsägelser är det inte lika tillförlitlig information som baserad på indikatorer. Här talar man ofta inte längre om algoritmer, utan om ren maskininlärning som precis har nått tonåren. Jag skulle inte lita för mycket på modeller som är 100% gjorda med ML, men ett exempel på “framtidsförutsägelse” visas nedan. Tekniken som används är JavaScript-versionen av TensorFlow.


Förklaring av bilden:
Linjerna är plottade MA:er och den ljusgröna är TensorFlows förutsägelse av prisutvecklingen med ett års träningsdata som har gått igenom 50 gånger under träningen. Dessutom den förutsagda volymen. Om man vill ha lite mer tillförlitliga resultat än den ovanstående demoplottningen av Metsä Boards kurs, rekommenderas tusentals iterationer/epoker.
Grafen nere till vänster visar modellens förutsägelser och det faktiska priset i träningsdata sida vid sida, i det nedre högra hörnet syns antalet träningsperioder och hur väl inlärningen har gått varje gång, det vill säga ju lägre loss i datan, desto bättre. Jag kan inte nog betona att om man enbart förlitar sig på ML för att förutsäga framtiden, måste datan vara från lång tid tillbaka och iterationerna måste vara många.

I den optimala modellen får AI:n verktyg som den tränas att använda. Med maskininlärning lär man modellen ett visst börskursbeteende samt vissa “särskilda egenskaper” om sådana finns i träningsdata. För framtidsförutsägelser bör en variation av Monte Carlo-modellen kopplas in, där man med maskininlärning och AI, med hjälp av indikatorer, kan välja de mest sannolika resultaten. Dessutom bör modellen ha en NLP-processor ansluten som kan analysera nyhetsdata. Den enklaste NLP-modellen att implementera är en Twitter-sentimentanalysator, till exempel med hjälp av Tweepy och TextBlob, men i bästa fall bör data även kunna erhållas direkt från ämnets nyhetskällor, förmodligen med en webscraper som BeautifulSoup4.

Jag är inte direkt lärarmaterial (har aldrig varit), men jag hoppas att denna uppdelning av svaret gav dig några svar på dina frågor :slight_smile:

11 gillningar

Tack, ditt svar överensstämde ganska väl med min uppfattning om vad du har beskrivit. Därför är nyttan med boten/algoritmen (historikdataberäkning baserat på den valda modellen) för aktuell trading inte så okomplicerad, om man behärskar TA väl. Människans hjärna är en kraftfull processor, och utöver att analysera mönster/indikatorer hinner människan bearbeta mycket annat relaterat (t.ex. nyheter, chattdiskussioner osv.).

Att behandla och utnyttja online-data är för närvarande endast möjligt om du har råd att betala för datan (vilket t.ex. på amerikanska börser är väldigt dyrt). Därför är kryptobörserna ganska starkt bemannade med botar. När det knappt finns någon fundamental analys att tillgå ännu, följer och manipulerar botarna starkt TA:s olika indikatorers modeller, som även TA-traders följer. Men eftersom botarna är snabba, förlorar människan i denna kamp, vilket ofta tvingar tradingen att ske på en något större tidsram. För några år sedan handlade jag mycket enligt 1-minutersflödet.

Jag skulle själv komma på många saker som skulle vara till nytta i min egen trading. Jag skulle inte vilja ha någon automatisk bot som utför trades, utan snarare ny beräkningshjälp för att tolka situationer när man letar efter ingångs-/utgångspunkter. Men så att den data som används är aktuell, kombinerad med historisk data. Jag har en lång bakgrund som programmerare, så botarnas logik/algoritmtänkande är ganska lätt att förstå ur den synvinkeln.

Men att bara bearbeta historisk data och utvinna något nytt ur den är kanske inte till nytta om man kan TA. Jag kan naturligtvis ha fel, men detta är den bild som hittills har bildats för mig. Ett verkligen intressant ämne dock. Fortsätt gärna att beskriva saken. Det kom också upp i tankarna att programmeraren själv naturligtvis bestämmer vad boten gör. Det vill säga, även om dessa MA/EMA-crossover – hur mycket vikt man överhuvudtaget lägger vid dem.

9 gillningar

Japp. Den största fördelen med detta skulle vara om man kunde komma in på börsen och direkt hämta livedata. Det hindrar dock inte att man kan utnyttja maskininlärning för analyssidan med stora dags-/veckotidsramar – särskilt när modellen är gjord och det räcker att ge den ett par CSV-filer och man inte behöver tänka på något annat när modellen redan spottar ut resultaten.

På grund av analyssidan funderade jag på om jag skulle starta en ny tråd eller fortsätta under TA, men det blev den här :slight_smile:

edit. Skillnader och likheter kan ses här

Riktigt intressanta saker!

Hur realtidsdata behöver du? Skulle en fördröjning på några sekunder vara ett problem? Jag har själv byggt olika datainsamlingsmetoder för min masteruppsats data, där min idé är att kombinera olika okonventionella datakällor med maskininlärning för att fatta investeringsbeslut. I detta sammanhang har jag också utvecklat en bot som hämtar realtidskurser från en handelsplats. I mina egna beräkningar har jag preliminärt bedömt att jag ger algoritmen cirka 30 sekunder för att tolerera fördröjningar som inte beror på den och för att utföra beräkningar.

5 gillningar

{“content”:“Acceptabel fördröjning i intradagdata beror sannolikt på volalitet och volym vid handel. Som utgångspunkt, om man vill outsourca intradagshandel till en algo, väljs de aktier med högst volatilitet och volym som handelsmål. Det är helt enkelt svårt att bedriva aktiv handel med lågvolatilitets- och lågvolymmål.\n\nAktier med hög volatilitet och volym inkluderar ofta andra algoer som man konkurrerar med i samma liga. Förutsatt att algos använder samma strategi, är den största konkurrensfördelen i denna state-of-the-art algohandel för de algos som har den färskaste datan.\n\nMed tanke på att till exempel Outokumpu och Stora Enso algo-handlas mycket, undrar jag vilken källa dessa anonyma aktörer använder?\n\ne. Den känslan när svenska finns på AV men inte finska :neutral_face:”}

Betydelsen av att parsning av olika nyhetskällor växer hela tiden. Nyhetskällor kan också köpas, det vill säga de stora aktörerna köper nyheter med en skillnad på några millisekunder jämfört med andra (jag vet inte prissättningen, men det är säkert inte billigt). Sedan finns det Twitter, nyhetsvideosändningar osv. Det börjar finnas många olika typer av källor. Det är en betydande utveckling att få parsningen att fungera utan fel, men jag vet att robotar redan gör detta idag.

3 gillningar

Sant. Vissa strategier och algoritmer (kanske de mindre framgångsrika) fokuserar direkt på prisutvecklingen och bortser från nyheter. Alltför ofta hörs goda eller dåliga nyheter som inte har någon inverkan (se de amerikanska börserna).

Jag började testa en evolutionsmodell, alltså utifrån principen “survival of the fittest” för att se hur en sådan modell skulle passa för att hantera siffror.

Målet är OMXH25 på dagsdiagrammet (om jag skulle börja hantera index). Dataframe från början av året, med 2000 iterationer.


+5.929870 %

Jag funderade på om det var för många iterationer i träningen, så jag körde med en lättare batch på 500.


+5.168139 %

Det var inte mycket skillnad i resultatet. Tydligen har iterationerna i dessa evolutionsmodeller, där några “individer” spawnas och endast den “bäst lämpade” får överleva och föröka sig till nästa omgång, något större betydelse än i andra AI-modeller.

Just denna AI-modell skulle kunna undersökas lite mer, även om den fortfarande inte slår grundläggande strategier.

1 gillning

Hej. . Det är ganska fantastiskt, du är verkligen ett geni. TA har jag också under kontroll, åtminstone delvis. Men jag ser detta som en utmärkt möjlighet att ta saker till nästa nivå.

  1. Hur bildas överköpta och översålda gränser i bilden?
  2. Skulle köpplatserna (försäljning) kunna skapas från tre dagars (eller två veckors) data, helt enkelt pris och makrodata. Jag skulle vilja prova?
  3. Skulle du kunna skapa köp- och säljsignaler, vilken typ av prisdata behöver du, i vilket format?
  4. Jag känner till “maskininlärning” där man matar in 4000 företags kvartalsrapporter och maskinen ger köp- och säljförslag på något sätt är det bara gammaldags. Kvartalsrapporterna har matats in under 20 år.(?)
  5. Jag skulle gärna köpa dessa API:er, eller de används redan med en fördröjning på några millisekunder.
  6. Finska fungerar som övning, men målet är den amerikanska marknaden.
1 gillning

Den överköpta/översålda indikatorn i ett annat inlägg i den här tråden beräknades med matplotlib och matades med volym, tid och prisförändringar (öppen, hög, låg, stäng). Detta användes för att skapa en jämn graf med gröna och röda horisontella linjer plottade ovanpå med numpy:s percentilfunktion. Den illustrerar ganska bra marknadens överreaktioner i olika situationer. Om det ovanstående låter som grekiska, kan du tänka på det som en aktiemarknadens jordbävningsmätare.

Köp- och säljplatser kan skapas från vilken data som helst så länge det finns tillräckligt. Till exempel kan en dags data ge mycket under träningsfasen om den delas upp i 1- eller 3-minuters tidsramar. Alltså, att dela upp ett stort bröd i mindre bitar. Jag har provat det ett par gånger, men det är ganska tråkigt om man alltid måste hämta data till en CSV-fil. För träning är det dock bäst att ha så mycket data som möjligt. Intradagshandel fungerar bäst om du kan mata in tillräckligt bra data direkt från en API till en dataram som uppdateras live.

Om det handlar om en evolutionsmodell och fokus ligger direkt på en funktionell modell, baseras beslutsfattandet i denna modell i stort sett på att förutsäga trenden utifrån prisrörelser. I det tidigare evolutionsexemplet användes i båda fallen ett fönster på 30 dagar för träningen, vilket innebär att i en träning gick datan igenom 2000 gånger och i den andra 500 gånger i 30-dagars perioder. I evolutionen används en morotsmodell, det vill säga den bäst överlevande modellen belönas och får en virtuell klapp på huvudet innan den kastas in i nästa gladiatorkamparena och samma sak upprepas. I exemplet belönas den modell som bäst förutsäger trenden och som (på något sätt) kan förutsäga en korrekt trendvändning och förhoppningsvis sälja eller köpa vid rätt tidpunkt.

Ett exempel på hur modellen kan förbättras och justeras efter din egen risktolerans är att lägga till regler för handel, t.ex. även om modellen har tränats att handla enligt sina egna köp- och säljbedömningar, gör den inga affärer förrän den får en bekräftelse från en annan beräkning. Till exempel skulle det kunna se ut som nedan (fantastiska paint-kopiera-klistra-in-färdigheter, jag vet) där evolutionsmodellen och turtle-strategin har lagts ovanpå varandra. Ser du var signalerna är samstämmiga för båda?


Detta innebär att AI ser den kommande förändringen (osäker, men säkrare än en vanlig Mats Svenssons gissning) och får bekräftelse från en mycket försiktigare indikator.

Jag har inte övervägt några kvartalsrapporter eller liknande ännu. Jag håller mest på med detta för mitt eget nöjes skull under semestern. Under vintern kommer jag förmodligen att ha mer bråttom i mitt privatliv igen.

Om du behöver hjälp och tips, fråga bara.

4 gillningar

God morgon!

Några frågor:

Går det att göra en tradingbot för ett aktiesparkonto, eller är det bara möjligt för ett värdeandelskonto (AO-konto)?

Finns det erfarenhet av att göra en bot för Nordnets/Nordeas konto? Eller är det överhuvudtaget möjligt att göra en bot för dessa plattformar?

Jag drömmer om att göra min egen bot med antingen C# eller Python. Målet med projektet är att utveckla mina kodningsfärdigheter kring ett intressant tema. Om det finns några pro-tips att dela med sig av är de förstås välkomna! Hälsningar, Användarnamn

Att skapa en bot skulle kräva ett API. För närvarande erbjuder Nordnet endast ett test-API, som dessutom verkar vara relativt gammalt. Jag har inte lyckats få dessa “lek”-order att fungera via det API:et; alla order fastnar någonstans i ett limbo. I övrigt fungerar API:et enligt instruktionerna.

Jag skickade en fråga till Nordnets kundtjänst om de eventuellt utvecklade ett API. Svaret var bara att det inte finns, och inte ens är planerat att implementera ett fungerande sådant.

1 gillning

Tack för svaret. Kanske blir det projektet bara en dröm. Har ni några andra idéer för hur man kan kombinera kodning och investering?

Jag brukade länka från Google Finance till mina egna sidor, det finns en öppen API med 15 minuters fördröjda kurser. Detta var inte egentligen kodning utan snarare insamling av information till mina egna sidor där kursdata kombinerades med den senaste balansräkningen och annan information för att beräkna nyckeltal.

Google Finances funktion var dock lite konstig/opålitlig i WordPress så jag avslutade projektet.

3 gillningar

Intressant. Jag funderar på att till exempel skapa en egen webbsida, där jag med hjälp av en bot samlar nyheter relaterade till mina egna investeringar.

Jag ifrågasätter kanske trejdrobotarna som presenterats i tråden en aning, i den meningen att vi inte kan vara säkra på att roboten inte har överanpassats genom träning för att svara korrekt på data. Jag kan inte säga att jag vet särskilt mycket om artificiell intelligens utöver ett par underhållande Youtube-videor, men i allmänhet bör man inte träna AI med den data som används för att testa dess funktion. Och till exempel en linjär regression för Nokia-aktien är förstås lätt att göra i efterhand. Men kommer aktien att följa samma trend i framtiden?

Det fanns dock intressanta observationer. Till exempel prisernas säsongsvariation. Dessa skulle kunna användas väl i trading.

Om API:et: Jag har sett att Nordnet har ganska fina API:er bakom användargränssnittet, även om det inte finns någon officiell dokumentation för dem. Det skulle inte vara särskilt svårt att bygga något ovanpå dem. Det bryter förmodligen mot Nordnets användarvillkor, men det är inte så noga.

Ibland har jag funderat på att göra ett terminalgränssnitt till Nordnet så att man snabbt kunde göra ett par trades och kolla portföljstatus från kommandoraden :smiley:. Det är dock inte så att ett textbaserat användargränssnitt skulle fungera särskilt bra för aktier där grafik är ganska central. Men det skulle kunna ge lite retrokänsla – trading med stil.

Vissa små saker skulle också kunna automatiseras. Till exempel idag gjorde jag många par-trades mot index (aktie long, index short) så jag hade kunnat låta en bot ta en short-position i portföljen så att nettoaktievikten hölls under gränsvärdet.

Ett annat ställe för automatisering vore stop loss för certifikat och andra hävstångsprodukter.

4 gillningar