Skip to main content
  1. My Blog Posts and Stories/

Blackjack for Chinese New Year

··1439 words·7 mins

Introduction #

Every Chinese New Year, it is tradition for some Chinese Singaporeans to engage is playing blackjack with our red packet money. Unfortunately for me this year, I have endured overall losses whenever I played black jack with my family and friends.

To improve my black jack skills and hopefully win more next year, I have decided to make this blog post.

Note: This is only for fun, we should not be gambling large sums of money for Chinese New Year.

The blog post will be divided into different parts.

  1. Rules of the game
  2. Implementation of the game
  3. Testing my strategies using simulations
  4. Doing the math behind the different strategies.

How the game works #

The game is played using a deck / multiple decks of cards without jokers. The suits of the game does not matter.

For the numbers from 2 to 10, the number of points is equal to the number.

  1. For Jacks, Queens & Kings, all counts as 10 points.
  2. For Ace, it is a little bit special
    1. If you have 2 cards, it can either be 1, 10, or 11
    2. If you have 3 cards, it can either be 1 or 10
    3. If you have 4 or 5 cards, it can only mean 1

The general rule is that we want to get as close to 21 as possible without going over.

  • If you go over 21, you immediately lose / tie.
  • If you manage to get 5 cards without going over 21, you also automatically win the game.
  • All players can choose to take any number of extra cards (Up to 5) as long as they do not go over.

There are some special hands which you can win immediately when you get it.

  1. Double Aces -> (2 Aces)
  2. Black Jack -> (Ace + 10 value)

If there is a game with both values present, the double aces are the winner.

In both situations, you win money with multipliers.

There are 2 roles for the game

  1. The Banker: This is the person who everyone plays against
  2. The Player: A normal player who plays the game

Player rules #

For the player, there is only 1 main rule that you need to remember, the minimum sum of your cards must be at least 16.

There are only 2 actions you can take

  1. Stand (Do not take anything else)
  2. Hit (Take 1 card from the deck)

Banker rules #

For the banker, these are the few rules:

  1. The minimum sum of your cards must be at least 17.
    1. However, if you get 15, you can void the whole round

The banker can also take actions that the players can take. Other than those, they can also do the following:

  1. Run (Voids the whole round). They can only do this if they get 15 points
  2. Open players: As long as the banker has enough points, he can compare individually against any players.

Due to the different rules, the banker requires more skills and a deeper understanding of the game in order to play it more effectively.

Multipliers #

In the table below are the hands and their multipliers

HandMultiplierRemarks
Black Jack2x
Double Aces3x
5 cards2x
Triple 77xI have only seen this 1 time in all my life playing this game

In addition to the default rules, here are some additional house rules which may be used in some households

HandMultiplierRemarks
21 points2x
5 cards that add to 213xThis is a house rule applied in some games

Scenario #

Now that we have gone through the rules of the game, let us discuss the premise of the game. For this experiment, there will be 1 banker and 5 different players (because I tested 5 strategies). Each player will represent 1 strategy to play the game.

For this game, we will focus on the win rate of the banker. For each of the player’s style, they will play 1,000,000 games as a banker and we will take their final win/lose/tie rates.

To simplify the comparison, I have removed the multipliers and just capture the wins. I will add in the win rates in a post in the future.

Here are the possible actions from both the players and the banker

  • Players
    • Hit
    • Stand
  • Banker
    • Hit
    • Stand
    • Run (If 15)
    • Open players with 4 cards
    • Open players with 3 cards

For the players which have received 5 cards, there are no comparisons required as they automatically win at that point.

Strategies #

There are 5 different strategies which I have implemented.

  1. Random (Control)
  2. Always Stand (Basic Strategy)
  3. Conservative (My Strategy during Chinese New Year)
  4. Aggressive
  5. HyperAggressive

I will explain each of the strategies in the subsections below.

Random Strategy #

I think that the random strategy is self explanatory. It randomly selects a possible move out of all possible moves.

Always Stand #

This is the 1st basic strategy. This strategy always do not take an extra card when it is in the minimum zone and runs when it can. It is also the strategy that is the most conservative.

Conservative #

For the conservative player, it follows the following algorithm

if value == 15:
    return Move.Run

if value <= 17:
    return Move.Open3 # Open all with 3 and draw another

return Move.Stand

If it has 15 points, it will always run. If it has less than 17 points, it will open all players with 3 cards and hit after that. Otherwise, it will stand

This is on the conservative side as any value greater than 17 will not be a hit for this player

Aggressive #

The aggressive player is a daring variant of the conservative player

if value == 15:
    return Move.Run

if value <= 18:
    return Move.Open3

return Move.Stand

The offset is now slightly higher at 18 instead of 17.

Hyper Aggressive #

if value == 15:
    return Move.Run

if value <= 19:
    return Move.Open3

return Move.Stand

The offset is now even higher at 19 instead of 18.

Simulation #

Testing Setup
Testing Setup

Theses are the premises of the game

  1. The deck consists of 1 standard poker deck without the jokers
  2. The cards are given out to each player 1 at a time with the banker receiving the cards last.
  3. The players take their turns one at time from the player that was first dealt the cards, the banker goes last.

For each iteration, the following will happen.

  1. A new deck will be used and shuffled randomly
  2. Each player’s decision is independent of what has happened during the previous game.
  3. Each player will have to take a card as long as they are below the minimum sum.

Results #

5 players #

After simulating the game for 1,000,000 iterations, I got the results as shown below.

To ensure that the values have converged correctly, I have also ran the iterations 5,000,000 times and got the results below.

If you look at the graph side by side, you can see that the result is quite similar. For a high win rate, you can choose to stand on every hand. However, do take note that the lose rate is also very high (Slightly lower than the win)

Assuming all bets are the same, the conservative play is the way to go. The ties + win percentage is the highest among all of the tested strategies so far.

Different player counts (10, 15) #

To check if the values are the same with varying number of players, I also ran the simulation with a different number of players. The player counts chosen here are to ensure that the proportion of each player remain the same so as to not introduce other factors.

By taking a look at how other player numbers perform, we can see how each of the strategies scale according to a varying number of players.

By comparing the charts of both the 10 players and the 15 players, it seems that the player count does not seem to change the results presented by each of the strategies.

Conclusions #

Among the different play styles which we have introduced today, it looks like the conservative play style is the way to go. However, do note that there are many other factors which we did not test in today’s experiment. Here are some factors.

  1. The distribution of different player types
  2. Other strategies which may defer from the ones presented here

Maybe I will do a deeper dive in a future blog post about the optimal strategies based on the distributions of different players.

For chinese new year next year, I will try to follow my current strategy and see if I make up for my losses.

  1. Code Repository
  2. Seedly’s guide