Citat:
Har du funderat på att använda ML (tensorflow eller dylikt) för att förutsäga kurs på fond X och eventuellt använda detta som ytterligare en parameter vid beslut för sälj / köp? Framtiden är ju dock lustig att "förutse" så frågan är hur mycket hjälp ett sånt verktyg ger. Gäller att modellen den utgår ifrån och tränar blir helt korrekt, men det borde man lätt kunna verifiera med backtesting bara. Jag misstänker att det inte räcker för att att "spå" vad kurserna kommer vara om låt oss säga några dagar.
Jag har fått upp ett litet intresse att försöka ge mig på det. Men först så skulle jag vilja implementera ett backtestning verktyg av strategier jag själv sätter upp efter mina önskemål. https://gekko.wizb.it/ känns som en rätt bra inspirationskälla, bortsett från att krypto inte är det jag är intresserad av.
Har du kodat ditt backtestning verktyg från scratch eller finns det något färdigt du kan rekommendera? Jag misstänker att jag vill koda min egen just för att få total kontroll och även kunna testa lite mer udda strategier / tweaka hur jag vill. Problemet är som vanligt tiden.. När man programmerar 40h i veckan så är det svårt att hitta både motivation och tid.
Men min grundtanke är något liknande detta: Ladda hem kursdata för de fonder strategin kräver, implementera mina strategier i kod och kör backtestningen mot hämtad data. SQL tippar jag på känns lämpligt för att lagra kursdata. Jag misstänker att high, low, date, closning price är det intressanta att lagra per fond.
Det hade dock varit kul att ge sig ut i något man inte är van med. Jag ser mig själv som rätt vass på C# / SQL. Man kanske ska försöka ge sig på pyton iom tensorflow, inlärningskurvan verkar inte särskilt stor heller för pyton när man öst en den JS under sina dagar (tensorflow däremot, det verkar inte helt lätt).
Men om jag ska köra det i C# så tänker jag mig ett IStrategy interface (kanske borde vara en abstract klass, nå väl för mycket detaljer i detta stadiet) som förutsätter vissa implementationer, misstänker att denna kan bli rätt komplex om man ska lägga in den uppsjö av andra indikatorer som kan vara av intresse och hur de ska förhålla sig till varandra per strategi jag implementerar. Förslagsvis måste den abstrakta klassen ta emot något form av inställningsobjekt som berättar hur den ska exekvera saker. Notera att detta verkligen enbart är i tankestadiet, men är väldigt intresserad att höra din input på det hela.
Strategin puttas sedan in i nån form av huvudmetod som beräknar utefter hur den abstrakta klassen / interfacet är implementerat. Då borde jag även kunna jämföra olika strategier side by side rätt lätt. Tror du jag är ute på rätt spår?
Fallgropar jag kommer på är att det kan ta X dagar att sälja en fond, detta måste givetvis implementeras. Även eventuell avgift per fond och hur denna dras.
I ett senare läge borde man kunna koppla på det direkt på avanza via deras API så den sköter köp och sälj automatiskt.
För övrigt. Kodos till dig som skapat denna tråd och lägger ner den tid du gör
.
Lyckas jag hitta tid och motivation så jag faktiskt slutställer detta så delar jag givetvis med mig, får bli open source.
Jag ber om ursäkt för wall of text och eventuellt osammanhängde resonemang. Har inte sovit på över 24h.
Jag har fått upp ett litet intresse att försöka ge mig på det. Men först så skulle jag vilja implementera ett backtestning verktyg av strategier jag själv sätter upp efter mina önskemål. https://gekko.wizb.it/ känns som en rätt bra inspirationskälla, bortsett från att krypto inte är det jag är intresserad av.
Har du kodat ditt backtestning verktyg från scratch eller finns det något färdigt du kan rekommendera? Jag misstänker att jag vill koda min egen just för att få total kontroll och även kunna testa lite mer udda strategier / tweaka hur jag vill. Problemet är som vanligt tiden.. När man programmerar 40h i veckan så är det svårt att hitta både motivation och tid.
Men min grundtanke är något liknande detta: Ladda hem kursdata för de fonder strategin kräver, implementera mina strategier i kod och kör backtestningen mot hämtad data. SQL tippar jag på känns lämpligt för att lagra kursdata. Jag misstänker att high, low, date, closning price är det intressanta att lagra per fond.
Det hade dock varit kul att ge sig ut i något man inte är van med. Jag ser mig själv som rätt vass på C# / SQL. Man kanske ska försöka ge sig på pyton iom tensorflow, inlärningskurvan verkar inte särskilt stor heller för pyton när man öst en den JS under sina dagar (tensorflow däremot, det verkar inte helt lätt).
Men om jag ska köra det i C# så tänker jag mig ett IStrategy interface (kanske borde vara en abstract klass, nå väl för mycket detaljer i detta stadiet) som förutsätter vissa implementationer, misstänker att denna kan bli rätt komplex om man ska lägga in den uppsjö av andra indikatorer som kan vara av intresse och hur de ska förhålla sig till varandra per strategi jag implementerar. Förslagsvis måste den abstrakta klassen ta emot något form av inställningsobjekt som berättar hur den ska exekvera saker. Notera att detta verkligen enbart är i tankestadiet, men är väldigt intresserad att höra din input på det hela.
Strategin puttas sedan in i nån form av huvudmetod som beräknar utefter hur den abstrakta klassen / interfacet är implementerat. Då borde jag även kunna jämföra olika strategier side by side rätt lätt. Tror du jag är ute på rätt spår?
Fallgropar jag kommer på är att det kan ta X dagar att sälja en fond, detta måste givetvis implementeras. Även eventuell avgift per fond och hur denna dras.
I ett senare läge borde man kunna koppla på det direkt på avanza via deras API så den sköter köp och sälj automatiskt.
För övrigt. Kodos till dig som skapat denna tråd och lägger ner den tid du gör
.Lyckas jag hitta tid och motivation så jag faktiskt slutställer detta så delar jag givetvis med mig, får bli open source.
Jag ber om ursäkt för wall of text och eventuellt osammanhängde resonemang. Har inte sovit på över 24h.
Nej, ingen ML (Machine Learning för övriga i tråden).
Nej, inte kodat något verktyg för backtestning. Alla backtester hittils kommer från PV (PortfolioVisualizer). Koden för alla backtester på den sajten är i sin tur skriven i R.
Gekko vore ett bedrövligt ex att använda då Gekko inte har stöd för multipla tillgångar i en typ av universum osv. Däremot är strategier för det ganska enkelt att skriva då det är vanlig JS trots allt. https://www.portfoliovisualizer.com är annars betydligt bättre som inspiration.
Beror dock också helt på vad man tänkt sig testa givetvis.
Men du bör titta på PV och sedan återkomma.
Svagheter som PV för närvarande har är dessa:
1. Det finns ingen inställning för att ett byte från A till B tar X tid
När man handlar med fonder är minst tid ett byte tar 24 timmar. Gör man ett byte måndag 12:00 så kommer detta att vara klart ca tisdag 13:00 förutsatt att båda tillgångar (fonder) har "samma dag" på hur lång tid köp/sälj tar. Detta är en viktig parameter då detta innebär att man är utanför marknaden under en vis tid. Att vara utanför marknaden är i regel negativt och påverkar resultat.
2. Man kan inte använda överordnade värden, makro-indikatorer som t ex UNRATE@MA12 > SMA på/av.
3. Ett backtest är ett backtest och visar ett scenario. I regel är det inte särskilt intressant vad ett enskilt backtest visar utan det är mer intressant med snitt över variationer av samma test.
--
Avgifter är annars inga problem då alla kurser för fonder i Sverige är inkl. avgift. Dvs man behöver inte skriva en massa kod för att ta höjd för att fond A har X% avgift medan fond B har Y%. Det skulle annars bli något av ett problem.
Ett problem är dock att fonder i Sverige har kort historik. Man måste alltså hela tiden välja fonder som man annars inte skulle välja, t ex "Swedbank Robur Sverigefond" som har en betydligt högre avgift än alla indexfonder. Det viktigaste där är mest hur något korrelerar med typiska indexfonder, något som är ganska enkelt att kontrollera.
Bäst vore om man hade index för allt (och sedan applicerade pseudo-avgifter för olika klasser), men det går inte att hitta index med 20+ år data för något som starkt korrelerar med t ex en svensk läkemedelsfond. Detta gör att index är mer intressant i teorin men inte praktiskt om man vill ha ordentliga tester som inte bara rör de senaste åren (och då helt exkluderar saker som lågkonjunkturen i början av 2000-talet).
När du pratar om AZ:s API och automatisk köp/sälj låter det också som att du pratar om handel med något högre frekvens. Tänk på att det här är fondforumet, ingen handlar här med sådan frekvens att det är relevant med att automatisera köp/sälj-ordrar.

---
Annars när det kommer till grundtanke så ja; det du säger låter vettigt.
PV fungerar redan på ett snarlikt sätt men där är config-objektet en simpel POST > webserver > R-controller etc. Det är ganska enkelt att se hur det fungerar (om man är van vid att skriva kod vill säga).