Giter Club home page Giter Club logo

gtao-betting's Introduction

[WIP] GTA 5 Online Betting Strategy

Testing strategies of betting on horse races in GTA Online. Calculating adjusted advantage compared to the odds and using Kelly Criterion to determine bet size, then simulating games.

Also automates betting in the game using python. Game is expected to run in Windowed mode with 1280x1024 resolution and English language.

Both are working, but still work in progress.

Getting Started

  1. git clone https://github.com/Maxim-Mazurok/gtao-betting
  2. cd gtao-betting

Simulation

  1. nvm i - optional
  2. npm ci
  3. npm test

Automation

  1. cd automation
  2. pip install -r requirements.txt
  3. python main.py

See also my personal spreadsheet: https://docs.google.com/spreadsheets/d/1z27GEyrFVnBBZcCJ-w2QDZS9LKDiZfK2wvD02UxifzE/edit?usp=sharing

Credits & Prior Art

gtao-betting's People

Contributors

maxim-mazurok avatar

Stargazers

 avatar

Watchers

 avatar  avatar

gtao-betting's Issues

What is the best bet when Kelly says not to bet at all?

Sometimes there are situations when the house wins in any case, there's no edge. What is the best strategy in this case?

  • Just stop playing? Probably not, missing out on all those cases when a player has an advantage. Actually does player has advantage on average?
  • Just bet minimum bet on the bet with the highest probability? But then we also giving out the most advantage in %...
  • Bet the minimum bet on the highest Kelly option? This should probably give the best results, if we're betting on option that has the highest expected rate of payout over the long run. But I'm not sure. From my simulations it looks a bit weird...

What should I bet if Kelly says to bet more than maximum allowed bet?

Let's say I have 150k and so Kelly says to bet 16k, but the maximum bet is 10k. What should I do?

  • Just do max allowed bet? But then I'll be betting the same for different expected returns, doesn't make much sense...
  • Do I lower my bankroll so that Kelly's bets don't exceed the maximum bet? This seems to make sense, but might not provide that great grow rate... I had to find it experimentally, but there must be a formula for this.

Randomness check for Apollo on FiveM

In here https://docs.google.com/spreadsheets/d/1z27GEyrFVnBBZcCJ-w2QDZS9LKDiZfK2wvD02UxifzE/edit#gid=1587400911
I was checking how randomness works in custom implementation of inside track in FiveM on Apollo server.
I was recording winning odds in each race, and they using chi square to evaluate chances of those wins being in line with declared horse chances. Basically I wanted to check if it's totally random, or if horse chances actually are taken into account.
And I can see with my eyes that yes, they are most likely are taken into account.
And I also can see that chi square value for horse wins has much less than 0.5% chance of being completely random.
But it also has less than 1% chance of being in proportion to the horse chances, which seems unintuitive...
Maybe I'm calculating chi square wrong? Maybe 200 games is not enough?

Maybe it has something to do with expected frequencies being less than 5, which is kinda rule of thumb to make sure that chi is accurate?...

Why betting on the best horse always beats betting on the worst horse?

I ran experiments, and betting on the best horses always returns amazing results. While betting on the worst horses leads to very small gains even over the very long term. I don't understand why... In theory, playing 1/1 game to infinity should be the same as playing 100/1 game to infinity. Payouts should be approximately equally weighted depending on the horse's chances of winning. Need to look into it, I kinda suspect there might be a bug in my code. Or maybe the game is just designed/rigged for this disbalance?

Casino ban

I was betting 10k on the best horse for a while. Went from 200k to 1mil, then in ~430 games I went from 1.1mil to 2.5mil.
And now I'm getting "This feature is not available now. Please come back later." message and can't bet anymore.
It seems to be a temporary ban (maybe 7 days), see https://www.reddit.com/r/gtaonline/comments/ckttbz/this_feature_is_not_available_now_please_come/

I'm not sure if it's based on winnings, time spent, chips spent, or anything else. But If it's based on winnings - Rockstar did it again, very realistic :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.