• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Poker Bots Invade Online Gambling

Blame David for this reply (he was talking about his post on here a lot...)...:

How are Bots like insider trading? Bots don't have any infomation that other players don't. They just do mental math better and are unemotional.

Because joe average poker player (i.e. me) can't calculate hand odds. I don't mean I can't do the math, I mean I can't be effed to do the math. I won the last 2 of 3 poker tables I was at by playing with psychology of my friends, and this is sufficient to fulfill my immediate appetite (although David would probably kick my behind at the game should he have stayed...). Pokerstars and Full tilt are decidedly geared towards introducing novice players like me to the game (hence all the TV commercials), most of which don't even know how to begin to do the statistical analysis necessary. It's kind of like the steroids argument - you are competing with something that is beyond the realm of human capacity, therefore the competition cannot be fair. You might say "well, novice players like you shouldn't be playing poker" and you have a point, that's why I don't play poker - trading when you don't have an edge is basically giving money away. However, this is inconsistent with the business plan of FullTilt and PokerStars.

I am told by former traders that if you specialize enough, over time you can tell how much a certain factor change will influence the price of your asset without the need of a spreadsheet (otherwise known as experience), and I would assume a similar effect is true in poker as well - the more hands you play, the more you will "feel" the statistics instead of just punching numbers into a calculator. However, typically that level of intuition is a long and painful process to develop. Or apparently a $180 one if you invest in a bot.

This poker bots versus human game is now starting to look like how algo traders versus retail on Wall Street.
Next stop: experience in programming poker bots is required for algo trading.

Almost, except retail on wall street often has information that algos don't. Poker is over simplified, and algos have as much information as humans, and a higher capacity to process it.
 
Sure there is, re-read my long post to find my backing argument ;)

I don't feel like arguing and re-analyzing the semantics of my sentences, sorry.

Your argument is non-sensical... it's not about the semantics at all. Your first point was "because joe average poker player (i.e me) can't calculate hand odds." So what? The same is true in investing. The average independent investor doesn't understand what's going on. Institutions do. According to your theory, the majority of institutional investing, which is (at least in thoery) prudent, is "insider trading." That's absurd. Insider trading is when the investor knows what the public does not have access to, not what the public doesn't pay attention to. It's like confusing the strong and semi-strong efficient market hypothesis.
 
How are Bots like insider trading? Bots don't have any infomation that other players don't. They just do mental math better and are unemotional.
I'm pretty sure Bots have information that you don't have. There are many legal programs that calculate the odds for you and keep track of your past hands and of other players past hands. Today, most players, who play poker on regular basis, use these legal programs.
 
The only time bots have inside information is if multiple bots are running in one table and communicating with one another.

That's exactly why I don't play cash games or 1-3 table tournaments :\
And, I don't know how true it is, but I heard of bots that can see hole cards.
 
This is exactly what I was thinking of -making a genetic-algorithm based neural network as in http://www.cs.nott.ac.uk/~gxk/courses/g5baim/papers/checkers-002/TNNKChellapillaAndDBFogelText.pdf

The issue is that such an evolving algorithm only plays against bots rather than other players, which behave far differently.
Studying past hands isn't of much help, since you are unaware of the hands other players have, and only one scenerio is played out.

It's a tricky problem.

But seriously, who in quantnet wants to take on this issue? I'd love to take this on as a side project, and it seems that Tsotne does as well. Any others?

Yes I do. And I am also thinking about other projects as well. I will have time for it in summer since I'll have passed all the exams and will be an interesting journey towards developing highly sophisticated software. I think that people from various background will be of big value since contribution from different fields would make the bot highly utilized taking into consideration lots of scenarios, simulate many paths, have good protection, implement win-loose proportion policy, etc. This community can supply a well organized team members developing a bot for fun.
 
If someone are interested in getting involved in an "academic project" that involves learning about how these bots work, I can organize a group and put people together.

Good idea Andy. If it's gonna start before summer, please exclude me guys. I am currently developing a trading software and programming derivatives theories apart from exams so cannot work on multiple responsibilities at the same time. :)
 
Euroazn, bots are 'like' insider trading in that some people see them as an unfair advantage. I'm doing some stuff for the BBC where I get more views about how many people see algorithmic trading as 'insider'.

Also there is a structural difference between British gambling laws and US ones.

US laws were written by the mob, so that 'artificial aids' are illegal, and since the mob doesn't have much of the online gambling market, it's banned. So an iPad app to do card counting can get get you in jail in those states where casinos are legal, since the mob owned casinos got that treated as cheating.

In Britain the laws were written for and by the punters, so that it's only illegal if you interfere with the game. For example some smart people worked out how to use lasers to predict the ball in roulette. They walked free (after quite a lot of fuss) because although they were cheating, there was no intereference.

Strictly speaking bots and algos do have information that others do not, since code and data are the same thing, or put it another way...
if in VBA you saw the line

x = f(3)

You could not say whether f was a function or an array, which is right because there is no difference in the set of things you can do with an array and a function that returns a value.

That's not just a theoretical issue if you are writing quant code...
If we take the example of Monte Carlo where you execute a line a bit like this in a tight loop:

l *= exp(-t)

Exp uses a bit of time, not much of course, but if you do it a lot, that ain't ideal.
In some cases t will take integer values, so you can store them and save a useful bit of time, though of course in the C++, Java and C# you have to change () to []
Even when t is a real/floating point value, you may well find that 8 significant figures is enough (that can often be true with MC), 100 million doubles occupy 0.8 Gb, which a decent machine typically has lying around doing nothing.

So the initialisation code fills it up, and after that the values are only ever read which means the multi threading you want for MC is trivial.
This works for more expressions that more complex of course.

Ah, I hear you say, this means delay before each time you run the code ?

No.

If the MC is embedded in an app such as Excel or your own front end, you create a static memory object that persists between calls.
 
If someone are interested in getting involved in an "academic project" that involves learning about how these bots work, I can organize a group and put people together.

I'd be interesting in participating in this project.
 
Great posts by Scooot! I didn't think that someone with his poker credentials would be on a quant forum. Leggo is a great training site with many top notch pros that play the highest stakes online. Being hired as a coach there is no easy task and extremely competitive. Staying on the roster is even more competitive since poker training videos are very much a "what have you done for me lately?" type of business. Scooot's videos are all rated 9 or 9.5/10 by the Leggo members (who can be extremely critical for the most frivolous reasons). Long story short --- Scooot is legit and highly respected in the poker world.

I would be interested in joining the study group as well.

Scooot, Thanks for passing along all of that reading material.
 
There is a proposal for Poker on StackExchange network http://area51.stackexchange.com/proposals/3425/poker
There is an discussion on StackOverflow on how to defeat poker bot http://stackoverflow.com/questions/2717599/defeating-a-poker-bot

StackOverflow is programmers favorite hangout so you can certainly get into the technical aspect very quickly.

Thanks for passing these along. Checked out both sites briefly.

StackExchange seems to contain novice players at best and IMO the info should be ignored completely because it looks to me as though you'll get a lot more bad advice than good. For those who seriously want to learn the game, the 2+2 forum (where scooot is a mod) is by far the best free resource and is one of the biggest forums on the entire internet. Training sites are even better if one is willing to spend the $25-30/month on memberships. That small monthly fee will typically get you access to hundreds of hours of videos from highly skilled professionals. The top sites are: Leggo, DeucesCracked, Blue Fire Poker and Cardrunners.

The StackOverflow link you posted looks to have some really good discussion with a lot of programmers that seem to be competent poker players. I'm going to look at it in a little more detail later, but from what I have seen so far, it looks like a good resource.
 
My suggestion is that people with no poker experience who like to join some sort of study group would be best to spend time on the reading list that Scott posted. I belong to this group.
That way, at least we can cover the basic background on the game and understand whatever people like Scott has to say.
I'll spend some time lurking on 2+2 forums
 
I might add that if you know nothing about poker or just know how to play but don't understand any strategy...those papers will probably be a bit too much for you. If you want to learn...go to a site and just start playing to learn how the game works or just google around. If you want to learn strategy then I can link some basic strategy stuff here or recommend books, articles, videos, blogs, training sites, and forums.

It also might be useful for us to talk about a specific form of poker.

Building a poker robot is too general...imagine saying "I'm going to build a robot that can play sports".

We'd need to define a specific type/form of poker we'd want to work with.

There are a few options...primarily game type, game and number of players would be the big 3 options.

Game Type
Sit - n Go -This would be the simplest Game Type
Multi Table Tournaments - Somewhat simple
Cash Games - Most complex game type...also the most profitable

Game
Hold Em (Limit, Pot Limit, No Limit) Very Liquid Game
Omaha (Limit, Pot limit) Liquid game
...there's more, we'll stick to the liquid games for now.

# Number of Players
Heads up (two people max...one on one only)
6 max (6 players max...anywhere from 2-6 can play)
Full Ring (9 handed games...anywhere from 2-9 can play)



So there are other options as well but these at least start us in some sort of direction so when we talk about a certain strategy or situation it at least refers to a specific format of poker i.e Heads up No Limit Holdem....or 6max PLO.

IMO the most profitable game online right now is PLO. It is also the most complex form of poker I just listed. So to put it in quant terms...PLO is the least efficient form of poker therefor there is the most alpha to be found/exploited. Poker will generally work the same way down the ladder....the simplest/easiest forms of poker have the lowest winrates (alpha) and the most difficult/complex games provide the highest winrates. Makes sense right?

Think of cards dealt, players at the table and stack size ratios (stack/blind) as variables...the higher they are the more complex the game will be. HU LHE SNGs (heads up limit holdem sit-n-go) is a very simple form of poker. A 6max PLO (Pot limit Omaha) cash game is extremely complex.


...just some stuff to think about.
 
Yes, good point. I don't think we have enough time and resource to talk about "poker bot" in general. Just pick one specific game and get to know it well. Maybe you can make a suggestion of a game and type of bot that are not, shall I say, "extensively researched" and opportunities to explore are worthy of our investment.

Just like new people here come saying "I want to be a quant", I guess it's wise to have experienced members to point to an area in quant finance where we should read more about.
 
I'd like to join the study group as well, I think it will be a good academic exercise!
 
Back
Top