Skocz do zawartości
×
×
  • Dodaj nową pozycję...

Lorem Ipsum is simply dummy text

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Test Test

Lorem Ipsum is simply dummy text

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Test Test

Lorem Ipsum is simply dummy text

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Test Test

Lorem Ipsum is simply dummy text

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Test Test

AlgoNBA

  • wpisów
    97
  • komentarzy
    9
  • wyświetleń
    10324

1.03 + krótkie podsumowanie


Backrus

2225 wyświetleń

Po 401 betach zysk wynosi +7.78pts, yield 6‰.

PHX.gif+12.5 @ 1.934

CHI.gif+5.5 @ 2.020

NYK.gif+5.5 @ 1.909

ORL.gif+5.5 @ 1.925

ATL.gif+10 @ 1.884

BKN.gif+2 @ 1.943

TOTAL P/L GRAPH:

2902.thumb.png.108bee433a3ebcd815310ee16

4 komentarze


Promowane komentarze

 

Killka pytań i przemyśleń:

1. Ty chyba tego nie grasz na betfair z tego co widzę po kursach? Pinnacle tak?

2. Nieszczególnie do tej pory interesowałem się tym topiciem, ale z tego co pobierzeni przejrzałem nigdzie nie opisałeś swojego algorytmu. Czy chcesz go po prostu chronić przed innymi traderami czy zamierzasz go jeszcze opisać kiedyś?

3. Chciałem podpowiedzieć, że główną przyczyną tego że dane historyczne często dają dobre rezultaty a w rzeczywistości jest gorzej może być płynność, tzn jak dużo kasy Ci się przyjmie na najwyższym kursie przedmeczowym, ale nie wiem czy w tym wypadku o ile to nie jest betfair też tak jest.

Odnośnik do komentarza
7 godzin temu, adam82 napisał:

 

Killka pytań i przemyśleń:

1. Ty chyba tego nie grasz na betfair z tego co widzę po kursach? Pinnacle tak?

2. Nieszczególnie do tej pory interesowałem się tym topiciem, ale z tego co pobierzeni przejrzałem nigdzie nie opisałeś swojego algorytmu. Czy chcesz go po prostu chronić przed innymi traderami czy zamierzasz go jeszcze opisać kiedyś?

3. Chciałem podpowiedzieć, że główną przyczyną tego że dane historyczne często dają dobre rezultaty a w rzeczywistości jest gorzej może być płynność, tzn jak dużo kasy Ci się przyjmie na najwyższym kursie przedmeczowym, ale nie wiem czy w tym wypadku o ile to nie jest betfair też tak jest.

1. Tak. Głównie dlatego że:

  • na bf na rynkach spread nie ma pieniędzy,
  • prowizja i pc zabiłaby system małej skuteczności (51.28% przy średnim kursie 1.95 daje break-even), odrobinę wyższe kursy by tego nie zrekompensowały

2. Podobną sytuację miałem ostatnio podczas rozmowy o pracę. Mogę opisać metodykę, założenia, wyniki, ale "bebechów" nie - o dziwo wszyscy byli bardzo wyrozumiali w tej kwestii. Stworzenie profitowego algorytmu nie jest łatwe, a jego ochrona wydawała się dobrym pomysłem (przynajmniej do 24. lutego, kiedy osiągnęliśmy blisko 50% zysku od banku startowego). Teraz już nie jestem pewny, bo dopadała nas dość mało prawdopodobna "czarna seria" i w ciągu tygodnia wylądowaliśmy pod kreską.

Po sezonie planowałem zrobić większe podsumowanie i pokazać krok po kroku (raczej w odcinkach, razem z gotowymi kodami), jak można samemu zabrać się za analizę i tworzenie systemów decyzyjnych (czy to w pinku, czy na bf).

Druga sprawa - założyłem, że mało kogo interesuje matematyka stojąca za machine learningiem, która ma znaczenie tak naprawdę tylko w badaniach naukowych.

3. Zmienna płynność to kolejny powód, dla którego zdecydowałem się na pinnacle (wyszedłem z założenia, że system będzie profitowy, w perspektywie kilku sezonów trzeba będzie przeskalować stawki, a na bf może nie być kasy). Druga sprawa, że dużo łatwiej wyciągnąć historyczne linie z pinka niż bf (prosty skrypt łapiący dane z covers, zmiany linii live http://www.covers.com/odds/linehistory.aspx?eventId=897246&sport=NBA i linie otwierające http://www.covers.com/pageLoader/pageLoader.aspx?page=/data/nba/teams/pastresults/2015-2016/team404013.html).

Co do budowania i testowania algo, wyglądało to tak: bierzemy dane z sezonów 03/04-07/08, feature selection, trening, testy na sezonie 08/09, zapisanie wyników, trening na tych samych współczynnikach na sezonach 03/04-08/09, test na sezonie 09/10 itd. Po takiej jednej iteracji następowała zmiana współczynników, reset i dalsze testy. Na końcu zestawienie i analiza wyników, po czym powrót do feature selection i testy następnych kombinacji danych wejściowych. Po jakimś czasie wybrałem najbardziej obiecujące algorytmy i zaczęły się pojedynki "h2h", dalsze tweakowanie, aż powstało coś, czego typy wrzucam na forum.

Takie podejście ma jedną zasadniczą wadę - nie ma gwarancji, że algorytm będzie przynosił zyski, bo w każdym kolejnym sezonie jest to zasadniczo inny "stworek" (choć oparty na tych samych założeniach). Dlatego training set zaczyna się od sezonu, w którym dość diametralnie zmieniono zasady gry (hand-checking). Ten sezon też jest dość unikatowy, bo oprócz historycznie dominującej drużyny, mamy około 10 zespołów, którym kompletnie nie zależy na wygrywaniu, przez co algorytm się gubi (np cały czas typuje handi w stronę Nets, Philly, Suns czy Knicks, bo nie wierzy, że można być aż tak słabym).

Ostatnio bawię się sieciami neuronowymi na wyścigach konnych i tu jak najbardziej uwzględniam przehandlowane pieniądze, jak również to, co leży w danym momencie na rynku, głównie dla marketDepth do 5 (i kilka innych rzeczy, ale o nich innym razem). Mały przykład jak wyglądają wykresy, na których trenują sieci:

Jeżeli wyjdzie z tego coś sensownego, to opiszę to dokładnie od strony technicznej, ale nie będzie to wcześniej niż w maju z uwagi na małą ilość wyścigów (raptem 158 od 25.02).

Odnośnik do komentarza

Podepnę się tutaj z pytaniami :)

1. Piszesz: dopadała nas dość mało prawdopodobna "czarna seria". Znasz dokładną wartość prawdopodobieństwa tej serii ?

2. Do NBA użyłeś Machine Learning. Pytanie: Jaką zastosowałeś tutaj metodę uczącą ? Np. drzewa decyzyjne, boyesa itd ?

3. Do koni używasz sieci neuronowych. Podobne pytanie jak do ML. Jaki typ sieci neuronowej ? Jeśli przypadkiem jest to Convolutional Neural Networks miło by było usłyszeć dokładną strukturę, warstwy :)

4. Do obliczeń stosujesz własnoręcznie napisane API czy stosujesz zewnętrzne biblioteki ? Jakie ?

5. Czy do obliczeń stosujesz jakąś formę parallel computing np. CUDA ?

Jeśli te pytanie zbyt mocno wchodzą w obszar "bebechów", Twojej przewagi, i chcesz to zachować dla siebie to oczywiście rozumie to, nie odpowiadaj.

Edytowane przez markm
Odnośnik do komentarza
9 godzin temu, markm napisał:

Podepnę się tutaj z pytaniami :)

1. Piszesz: dopadała nas dość mało prawdopodobna "czarna seria". Znasz dokładną wartość prawdopodobieństwa tej serii ?

2. Do NBA użyłeś Machine Learning. Pytanie: Jaką zastosowałeś tutaj metodę uczącą ? Np. drzewa decyzyjne, boyesa itd ?

3. Do koni używasz sieci neuronowych. Podobne pytanie jak do ML. Jaki typ sieci neuronowej ? Jeśli przypadkiem jest to Convolutional Neural Networks miło by było usłyszeć dokładną strukturę, warstwy :)

4. Do obliczeń stosujesz własnoręcznie napisane API czy stosujesz zewnętrzne biblioteki ? Jakie ?

5. Czy do obliczeń stosujesz jakąś formę parallel computing np. CUDA ?

Jeśli te pytanie zbyt mocno wchodzą w obszar "bebechów", Twojej przewagi, i chcesz to zachować dla siebie to oczywiście rozumie to, nie odpowiadaj.

Po ostatnich "rewelacjach" nie widzę żadnej przewagi :D Najważniejsze jest to, co wchodzi do algorytmu - powiedzmy, że zastosowałem unikalne podejście (z perspektywy zawodnika, hazardzisty, tradera i analityka) do tematu i jeżeli jest jakiś edge, to siedzi w inpucie. Nie znalazłem w sieci żadnej publikacji naukowej, w której "mądrym głowom" udałoby się stworzyć algorytm przynoszący zyski w prawdziwej grze (ale oczywiście wszyscy chwalą się wynikami cross-validation, które nie ma praktycznego znaczenia). Może będę pierwszy? ;)

1. Na szybko: jakie jest pstwo wycięcia połowy banku startowego w ciągu tygodnia? Niech zdarzeniem elementarnym będzie bet (gdzie "wejście" zakładu ma pstwo 0.52, delikatny edge algorytmu). Pstwo tak dużego drawdownu w tak krótkim czasie (nasze zdarzenie losowe) wynosi ~0.002, czyli 1 do 500, czyli raz na ~21500 betów, czyli raz na ~29 sezonów (liczonych od stycznia do połowy kwietnia). Jeżeli matematyka nie kłamie, to następnej takiej "niespodzianki" powinniśmy spodziewać się koło 2040 roku.
2. Mix (ensemble methods), ale sercem wszystkiego jest knn.
3. Używam modelu hybrydowego (arima-rnn), czyli sieci rekurencyjnej (cnn jest typu feedforward). Jak będzie wyglądała ostateczna wersja, sam jeszcze nie wiem.
4. Korzystam raczej z "naukowego standardu" - pandas, numpy, scikit-learn, theano oraz z jupytera i matplotliba/plotly do wizualizacji. Jeżeli potrzebuję czegoś dużo bardziej zaawansowanego, to w pierwszej kolejności szukam gotowych modułów z dobrą dokumentacją, jeśli takich nie ma, to próbuję przerobić "gotowce" pod potrzebną implementację, jeśli i to nie wychodzi, to konsultuję się ze znajomymi matematykami.
5. Niestety, nie umiem programować procesorów graficznych, a implementacja na nich czegokolwiek dość mocno odbiega od standardowego kodowania. Na szczęście, nie są to aż tak skomplikowane obliczenia, żeby potrzebne było do nich gpu, choć speedup byłby miły.

Odnośnik do komentarza
Gość
Dodaj komentarz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Maksymalnie dozwolone są tylko 75 emotikony.

×   Odnośnik został osadzony automatycznie.   Wyświetlaj jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie