Rss

  • linkedin

Archives for : kesäkuu2016

Vakioanalytiikkaa – näin tehdään miljardeja

Vieraskynä: Tämän postauksen on poikkeuksellisesti kirjoittanut kollega, vedonlyöntikonkari Johannes Ärje (Twitter: @JJArje)

Vakioveikkaus on Veikkaus Oy:n vanhin peli. Sen pelaaminen aloitettiin jo vuonna 1940, mutta tässä blogipostauksessa keskitytään vuoteen 2016. Mitä mahdollisuuksia kehittynyt tietotekniikka ja data-analytiikka tuo pelaamiseen?

Voittava vedonlyönti

Voittava vedonlyönti on helpompi määritellä kuin toteuttaa. Kaikki ne vedot, jotka odotusarvoisesti eli keskimäärin palauttavat enemmän kuin panos oli, ovat teoreettisesti voitollisia vetoja. Jos noppaa heitettäessä saisit kertoimen 6.5 silmäluvulle 6, olisi veto voitollinen, vaikka se ei juuri sillä kertaa toteutuisikaan. Suurin haaste voittavaan urheiluvedonlyöntiin on siinä että odotusarvon laskemiseen tarvittava vedon osumisen todennäköisyys joudutaan aina arvioimaan. Samasta syystä johtuen on vaikea arvioida, onko vedonlyönti kokonaisuudessaan voitollista, vaikka vetoja olisi takana satoja tai Vakion tapauksessa satojatuhansia. Vakion kaltaisissa totalisaattoripeleissä (voitto-osuudet määrittyvät sen mukaan mitä rivejä muut pelaajat pelaavat) toinen suuri haaste on ennakoida muiden vedonlyöjien pelaamista loppuhetkellä. Onneksi pelaamishetkellä on informaatiota sen hetken tilanteesta.

Todennäköisyydet

soccer_ballVakion kohteet vaihtelevat laidasta (ampumahiihto) laitaan (jalkapallo) ja tuskin kukaan pystyy / ehtii jokaiseen kohteeseen arvioimaan todennäköisyyksiä omassa päässä luotettavasti. Vailla parempaa tietoa voi turvautua vedonlyöntimarkkinan informaatioon eli muodostaa vaikkapa suuria panoksia ottavan firman kertoimista todennäköisyydet. Useimmissa lajeissa / sarjoissa viime hetken kertoimista voidaan poimia suhteellisen luotettavat arviot eri tulosten todennäköisyyksille. Toki vedonlyöjä, joka pystyy arvioimaan markkinaa paremmin todennäköisyyksiä, saa valtavaa etua Vakion kaltaisessa pelissä, jos pelin muut puolet ovat hallussa. Henkilökohtaisesti turvaudun eri lajeissa eri informaatiolähteisiin.

API

Veikkaus tarjoaa yhtenä harvoista vedonlyöntiyhtiöistä ohjelmointirajapintaa (API, application programming interface), jonka avulla voidaan tietokoneohjelman kautta hakea tietoa kertoimista, voitto-osuuksista ja peleistä sekä myös suorittaa itse vedonlyönti. Näin ollen koko pelaaminen alusta loppuun on mahdollista automatisoida jopa niin, että vedonlyöjä voi lähteä viikoksi Karibian risteilylle netin ulottumattomiin ja kone hoitaa kaiken likaisen työn.

Algoritmi:

– tutki onko tänään Vakiossa sopivia kohteita

– vähän ennen kohteen sulkeutumista:

  1. hae / arvioi yksittäisten kohteiden todennäköisyydet
  2. hae infoa pelatuista vakioriveistä
  3. lyö odotusarvoltaan positiivisiksi arvioidut rivit sisään, mutta jätä koko kierros välistä, jos jokin epäilyttää

– analysoi lopullisilla tiedoilla vetokokonaisuuden odotusarvoa

Rivien hakeminen

Veikkauksen API:sta voidaan tosiaan hakea tietoa jokaisen rivin voitto-osuudesta ja pelatusta rivimäärästä. Niinpä se on mahdollista tehdä kaikille riveille, joita 12 kohteen Vakiossa on 531441 kappaletta. Harmi, että tarjolla ei ole mitään yhtä tiedostoa, josta nämä määrät löytyisivät. Tai no, hyvähän se on niille, jotka pystyvät hakemaan silti rivit. Moniajot siis käyntiin, mutta Veikkauksen sääntöjä noudattaen rajoitetaan prosessit maksimissaan viiteen.

(https://github.com/VeikkausOy/sport-games-robot)

Voitto-osuudet

Tällä hetkellä 8 kohteen Vakiossa on vain yksi voittoluokka, joten kyseisen pelin matemaattinen puoli on lastenleikkiä (Verrataan rivin todennäköisyyttä odotettuun voitto-osuuteen). 18 kohteen Vakio Grand Prix:ssa puolestaan rivitiedot eivät ole haettavissa, joten sen pelin allekirjoittanut on kokonaan skipannut. Keskitytään tässä 12 kohteen Vakioon, joka on hieman yksinkertaisempi kuin perinteinen 13 kohteen Vakio.

12 kohteen Vakiossa on kolme voitto-osuusluokkaa (12, 11 ja 10 oikein), joten jokaisen rivin odotusarvo muodostuu 1 + 24 + 264 = 289:stä eri osasta, jotka summataan yhteen. Yksittäisellä rivillä voi siis saada osumaan 24 eri tavalla 11 oikeaa tulosta. Lisähaasteena kaikkien luokkien voitto-osuudet muuttuvat vielä sen mukaan, jos jossakin voitto-osuusluokassa joko voitto-osuus jäisi alle 2 euron tai siinä ei ole yhtään riviä. Kun tällainen laskenta tehdään pelin kaikille riveille, niin laskutoimenpiteitä tulee suoritettua lähes puoli miljardia. En muuten suosittele tämän koodaamiseen for-silmukkaa.

Ennustaminen

Konepelaajat kilpailevat erityisesti toisiaan vastaan. Usein muut pelaajat / peliporukat löytävät viime hetkellä ison osan samoja rivejä. Niinpä pelatessa on syytä myös ennustaa muualta tulevaa peliä. Eipä siinä siis muu auta kuin luoda sopiva ennustemalli aiempien kierrosten datojen perusteella. Alustavan arvioni perusteella viikonpäivistä perjantai on paras eli silloin on kilpailua vähiten. Liekö joku muu robotti eksynyt silloin baariin?

Toki myös omat lähellä toisiaan olevat rivit vaikuttavat odotusarvoihin, joten on syytä tehdä uusi ennustetuilla rivimäärillä toteutettu voitto-osuuslaskentaruljanssi ja karsia vielä huonoksi tippuneita rivejä pois.

Rivit sisään

Lopulta kun on saatu aikaan arvio hyvistä riveistä, pitää vedot saada lyötyä vielä sisään niin nopeasti kuin mahdollista. Joko peliaika on päättymässä tai Veikkaus on päivittämässä tietojaan (10 minuutin välein). Jälkimmäisessä tapauksessa on tärkeä määritellä reviiriään muille pelaajille, sillä jokainen veto tiettyyn riviin vähentää sen kannattavuutta muille. Rivejä on mahdollista myös yhdistellä järjestelmiksi ja usein 5000 rivin kokonaisuus tiivistyykin alle puoleen ja samoin käy syöttöön tarvittavalle ajalle.

Kuinka sitten kävikään

Kuinka hyvänä rivikokonaisuuden odotusarvo lopulta säilyikään muiden pelaajien tulituksessa? Olennaisin tekijä tähän on aika, jolloin kertoimia päivitetään viimeisen kerran. Itselleni täydellinen päivitysaika on kuusi minuuttia ennen kohteen sulkeutumista, jolloin ehdin vielä tämän kaiken tehdä, mikäli pelattava rivimäärä ei ole poikkeuksellisen korkea. Lopullisten tietojen päivityttyä on syytä vielä tarkastaa lopullinen odotusarvo, mutta itse otteluiden katsominen saa jäädä muiden henkilöiden vastuulle.

Kannattaako tehdä Vakiorobotti?

  • Ei, koska edut ovat pieniä.
  • Ei. Jos joku pelaisi samat rivit kuin itse pelaan, niin molempien odotusarvo painuisi pakkasen puolelle.
  • Ei, koska liikaa vaivaa.

Vastauksia usein esitettyihin kysymyksiin:

  • Koneeni on Suomen paras (loppupelin analytiikan perusteella)
  • Jäin tappiolle Karibian risteilyn aikana
  • Kaikki tämä on tehty R:llä (http://www.r-project.org)
  • En kertonut lähellekään kaikkea
  • Tarjoan kerrointa 6.5, että Kimblessä tulee valitsemani numero, jos saan itse suorittaa painalluksen

Mitä tykkäsit blogipostauksesta ”Vakioanalytiikkaa – näin tehdään miljardeja laskutoimituksia”?

– Johannes Ärje

Facebooktwittergoogle_plusredditpinterestlinkedinmail