Koneoppiminen ja algoritmit treidauksen tukena

Kaikki tietää Blumman terminaalit. Nyt on ilmeisesti tullut Open Source version: https://openbb.co/

ping @Verneri_Pulkkinen - säästäkää penninne.

4 tykkäystä

Blummassahan ei ole sovelluksena ihan hirveästi mitään erityistä. Kaikki ne pricerit ja muut työkalut saa myös opensource toteutuksena esimerkiksi quantlibin kautta. Blommassa (ja Eikonissa) maksaa se data jota ei oikein muualta saa sen halvemmalla ja se kaikki on yhdessä paikassa. Bloombergin koko bisnesmalli on se että myyvät dataa jota ei helposti saa mistään muualta ja Blommalla se on vielä valmiiksi pureskeltua ja siivottua. Tuossakin näyttää olevan lähinnä kryptodataa nopealla selailulla joka on muutenkin normaalia markkinadataa helpommin saatavilla. Tuskimpa edes murto-osaa siitä mitä blommalta löytyy.

1 tykkäys

Ketjun lukeneena nyt on vähän sellainen olo että tulen mopolla radalle missä muut ajavat kiihdytysautoilla mutta onko kenelläkään kokemuksia Capitalise.ai koodausvapaasta treidirobotista?

Tuolla kirjoitellaan siis ihan sanoilla mitä halutaan robotin tekevän ja on mahdollisuus ajallisesti rajalliseen back testaukseen (max 3kk). Robon voi laittaa toki myös simuloimaan reaaliajassa ja lopulta tekemään kauppaa oikealla rahalla.

Aika uusi palvelu joten vielä hieman kehitysvaiheessa mutta vaikuttaa lupaavalta ainakin sellaisille henkilöille jotka ei osaa koodata. Tiettyjä puutteita siis löytyy ja toiminnallisuudet osin rajallisia mutta homma kehittyy pikkuhiljaa, ja puutteita pystyy kätevästi kiertämään Tradingview kautta webhookeilla. Minkä tahansa alertin TV:stä voi heittää capitalise.ai palveluun triggeriksi. Asiakaspalvelukin vastaa eri foorumeiden kautta aika nopsaan ja auttaa ongelmissa.

Palvelu on ainakin IBKR kautta ilmainen, joten jos vähääkään kiinnostaa niin helppo kokeilla. Mielenkiintoisena seikkana mm. se, että pystyy käyttämään myös uutisia ja/tai kaikenlaisia yhtiötiedotteita triggereinä, esim. tällainen sanallinen entry on mahdollista tehdä: “If the Unemployment Claims (US) figures are below forecast and the SPX daily change crosses below -1% sell 10K SPDV”

3 tykkäystä

Tässä langassa ei ole hetkeen ollut pöhinää ja nautin itse ainakin tämän lukemisesta, joten ehkä voisin itse jotain kontribuoida niin josko elämä palaisi lankaan.

Olen pelaillut viimeaikoina jonkin verran Copuloiden kanssa. Copulahan on siis moniulotteinen jakaumafunktio, jonka marginaaliset distribuutiot ovat tasajakautuneita. Sellaisenaan ei kuulosta kovin mielenmiintoiselta, mutta nk. Sklarin teoreema osoittaa että minkä tahansa moniulotteisen jakauman voi esittää copula-funktion ja jakauman marginaalien avulla. Mikä tekee tästä erittäin hyödyllistä on se, että copulat mahdollistavat täten sen että moniuloitteisia ilmiöitä voidaan mallintaa monesti helpommin copulan kautta sillä se mahdollistaa marginaalien ja riippuvuusrakenteen erillisen mallintamisen.

Jos katsotaan vaikka Nasdaq ja SP500 indeksien yhteisjakaumaa esimerkkinä.


Kuten voi olettaa, korrelaatio on vahvaa. Tässä kuvassa on siis logaritmiset tuot plotattuna päivätasolla. Tätä moniulotteista jakaumaa voidaan lähteä mallintamaan muuntamalla ensiksi Copulamuotoon käyttämällä empiiristä distribuutiofunktiota. Saadaan seuraavanlainen kuva

Nyt marginaalijakaumat ovat tasajakautuneita ja jäljelle jää tavallaan vain copula muodossa näiden kahden välinen riippuvuus johon voidaan sovittaa jokin parametrinen copula. Tällaisia on esimerksi finanssikriisissä ryvettynyt Gaussinen copula, T-copula jne. Sen jälkeen pitäisi vielä mallintaa erikseen marginaaliset jakaumat.

Copulalla on siis helppo mallintaa esimerkiksi juuri monen assetin arvon yhteisjakaumaa, tai assettien riippuvuussuhdetta. Monesti riippuvuutta yritetään mallintaa korrelaatiolla, mutta on helppo nähdä missä tämä menee pieleen.
image
Kuvassa mustalla on taas SP500 ja Nasdaq indeksit ja punaisella on vastaavalla 0.95 korrelaatiolla simuloitu Gaussinen copula Gaussisilla marginaleilla. Korrelaatiot ovat samat, mutta riippuvuusrakenne ei selkeästi ole. Indeksien aikasarjoissa on selkeää häntäriippuvuutta jota ei Gaussisen copulan riippuvuusrakenne pysty nappaamaan. Nämä ei välttämättä ole kaikista paras esimerkki sillä riippuvuus on äärimmäisen positiivinen kuten olettaa voi kahden indeksin välillä, mutta tuottavat helposti koodattavan esimerkin.
Tässä vielä esimerkin vuoksi FANG datalle samanlaista viritelmää.



Näissä on hyvin monimutkainen riippuvuusrakenne jo. Mallintaminen tässä on paljon helpompaa jos saa sovittaa riippuvuusrakenteen ja marginaalit erikseen.

5 tykkäystä

Tiedä sitten mikä tämänkin viestin kontribuutio oli.

Mutta vastataan nyt kunnolla silti. Selittämälläni tasolla ei kovin hienoa tietenkään. Viestini tarkoitus oli lähinnä selostaa jotain hyödyllisestä työkalusta joka ei välttämättä ole ihmisille tuttu ja samalla nostaa ketjua pinnalle taas sillä tätä on ollut mukava lukea ja sääli että keskustelu loppunut. Niinkuin alussa sanoinkin, toivon langan uudelleen heräämistä kun sitä välillä vähän nostaa :slight_smile:

Jos kommenttisi taas oli että mitä merkitystä Copuloilla on ylipäätään, niin se kertoo sitten enemmän sinusta. Copulat ovat käytännössä modernin kvantitatiivisen rahoituksen kulmakivi. Ne löytyy käytöstä aina BIS:n vakavaraisuuskaavoista CDSien ja muiden strukturoitujen sijoitustuotteiden hinnoitteluun. Relevantimmin itse langan aiheeseen, Copulat ovat myös kvantitatiivisten sijoitus strategioiden kulmakivi, ja monesti statistista arbitaasia harjoittavat kvanttirahastot perustavat strategiansa juurikin Copuloihin.

Tässä muutamia artikkeleita.

Cointegraation mallinnusta
https://journals.sagepub.com/doi/full/10.1177/0008068319838146

Volatiliteetti riippuvuuden mallinnuksesta

StatArb sovellus (tosin julkaistut parametrit tuskin tosielämässä toimii mutta selostaa hyvin prosessia)
https://www.tandfonline.com/doi/full/10.1080/14697688.2018.1438642

Pair tradingia (sama huomatus julkaistusta mallista pätee tähän)

Lisäksi sanon myös anekdoottina, että eräs tuttuni on töissä eurooppalaisessa kvanttirahastossa ja keskustelumme perusteella heillä on käytössä copuloihin pohjautuva strategia.

11 tykkäystä

Alkaa taas olemaan opiskelujen jälkeen enemmän aikaa keskityä sijoittamiseen. Aika paljon tullut väännettyä viime aikoina Lineaarisen ohjelmoinnin kanssa ja miksipä sitä ei koittaisi soveltaa myös sijoittamiseen. Kokeilen tässä ensin pientä Excel ratkaisua niin pääsee vähän kärryille. Tässä optimoidaan portfolion tuottoa, kun 2 osakkeeen tuotot on estimoitu seuraavalle yhdeksälle päivälle. Molempien osakkeiden tuotot on nyt samat ja vuopäivinä tuotot on +5% ja -2%. Osakkeen maksimipaino on 75% ja ostoon kohdistuu ensimmäisessä ratkaisussa 1% kulu. Tuoton ja ostoajankohdat pienemmässä taulukossa. Isommassa taulukossa itse malli, jonka yläreunassa osakkeiden tuotot ja kulut kaupankäynnistä. Riveiltä 7-35 löytyy rajoitteet päiväkohtaisesti, jossa portfolion koko on 100 ja maksimipaino 75. Kahdessa pienemmässä alueessa määritelty kaupankäyntiin liittyvän kulun toteutuminen. Alareunassa päätösmuuttujat kertoo sijoituksen päivittäisen osuuden portfoliosta.

Ratkaisimen parametrin määritetty näin

Ensimmäisessä ratkaisussa ostot toteutuisi joka toinen päivä.

Toisessa ratkaisussa kaupankäynnin kulut on -3%, jolloin ratkaisu muuttuu. Nyt kannattaa ottaa mieluummin markkinoilta -2% ja tehdä vähän kauppaa. Osakkeet ostetaan toisena päivänä ja myydään yhdeksäntenä päivänä.

1 tykkäys

Jatkoa edelliseen viestiin todellisemmalla tilanteella. Toteutus Pythonilla ja viimeistely Excelissä. Otin joulukuun viimisen päivän ennusteet ja optimoin salkun niiden ja 0,2% kaupankäyntikuluilla. Maksimipaino yksittäiselle osakkeelle on 10%, eli käytännössä tarkoittaa tasahajautusta.

Ei sitte kannata tän perusteella sijoitella :slight_smile:

Yllättävän hyvin osunut noi tammikuun yhtiövalinnat tähän mennessä. Vasemman reunan tuotot päivittäiselle ylituotolle ja oikeanpuoleinen kumulatiiviselle ylituotolle.