Comment j'ai gagné 30 $ grâce aux paris sportifs

Bonjour, Habr! Dans cet article, je vais vous expliquer comment j'ai gagné de l'argent grâce aux paris sportifs en utilisant Python et les mathématiques de base. Peu importe, bienvenue sous la coupe!



1



Fourchette Bookmaker



Il existe un tel terme dans les paris sportifs en tant que fourchette de bookmaker. Un surebet est une situation où la différence de cote entre deux ou plusieurs bookmakers vous permet de placer un pari sur chaque résultat mutuellement exclusif avec différents bookmakers et de conserver un profit pour n'importe quel résultat. Nous allons commencer à chercher ces surebets.



Comment ça fonctionne?



, 16.07 . . marathonbet:



2



plusminus:



3



: 1/K1 +1/K2 1, , , ,

K1 —

K2 — .

. marathonbet , plusminus , , 1/1.125+ 1/3.92 = 1.1439909297052153. , : 1/5.7 + 1/1.24 = 0.9818902093944539 , .



?



, , : ? :

summa_min = (K1 x summa_max)/K2, K1<K2;

summa_max — , ;

summa_min — , .

. , , 100$, summa_min = ( 1.24 x100)/5.7; summa_min = 21.75438596491228$. , 5.7 21.75438596491228$, 1.24 100$, 2.2456140350877263$. , 21.75438596491228$ , , .





, , , , . :



import requests
from bs4 import BeautifulSoup
from difflib import SequenceMatcher
from collections import defaultdict


html- :



def get_html(url):
    r = requests.get(url)
    return r.text


marathonbet:



def get_all_event_marathonbet(html):
    all_players = []
    all_K = []
    soup = BeautifulSoup(html, 'lxml')
    all_event = soup.find('div',
    class_ = "sport-category-content").find_all('div',
                                class_='bg coupon-row')
    for players in all_event:
        players = players['data-event-name'].\
            replace('- ', '.').split('.')
        player_1 = players[1].strip()
        player_2 = players[3].strip()
        all_players.append(player_1)
        all_players.append(player_2)

    for g in all_event:
        K1 = g.find('td',colspan="1").find('span',
        class_="selection-link active-selection").text
        K2 = g.find('td', colspan="1").find('span',
        class_="selection-link active-selection").\
            findNext('span').text
        all_K.append(K1)
        all_K.append(K2)

    return all_players, all_K


, github. , , :



def create_arr_couple(arr_players):
    arr_couple = []
    for i in range(0, len(arr_players), 2):
        arr_couple.append(arr_players[i] + ' V '
                          + arr_players[i + 1])
    return arr_couple


, : {' V ': ['1.24', '3.92']}. :



def create_dict(arr_couple, arr_key):
    cat = defaultdict(list)
    scet = 0
    try:
        for i in range(len(arr_couple)):
            cat[arr_couple[i]].append(arr_key[scet])
            cat[arr_couple[i]].append(arr_key[scet + 1])
            scet += 2
        return dict(cat)
    except IndexError:
        print('ERROR!')


4 , :

1) :



def similar(a, b):
    return SequenceMatcher(None, a, b).ratio()


0 1, , , -. , Sarmiento , .



2) 1/K1 +1/K2 :



def find_vilka(K1, K2):
    return 1/float(K1)+1/float(K2)


3) , :



def profit(K, summa_max,summa_min):
    print(" : "+
          str((float(K)*summa_max)-summa_min-summa_max))


4) , :



def raschet_vilki(K1,K2,summa_max = 100):

    if K1<K2:
        summa_min = (float(K1)*summa_max)/float(K2)
        print('  {}'.format(K1)+
              '  {} '.format(summa_max))
        print('  {}'.format(K2) + 
              '  {} '.format(summa_min))

        profit(K1, summa_max, summa_min)

    else:
        summa_min = (float(K2) * summa_max) / float(K1)
        print('  {}'.format(K1) + 
              '  {} '.format(summa_min))
        print('  {}'.format(K2) + 
              '  {} '.format(summa_max))

        profit(K2, summa_max, summa_min)




Ainsi, en un peu plus d'un mois, j'ai réussi à gagner 30 $ avec un investissement de 120 $. Oui, ce n'est pas grand-chose, étant donné que le programme a été écrit pour deux bookmakers, uniquement pour le tennis et que j'ai surveillé les cotes des matchs 3 à 5 fois par jour. En moyenne, j'ai réussi à trouver deux fourchettes par jour. Fondamentalement, il y avait des surebets de 0. 97 et plus, qui, respectivement, ne rapportaient que quelques pour cent du pari.




All Articles