1. Player A uses negative progression - 50, 75, 150, 300 and bets on opposite of recent winner. Essentially a 4-deep martingale.
2. Player B uses positive progression - 50, 75, 150, 300 and bets the last winner will repeat. This bet will only be made if the last winner is only on a 1-win streak. If not no bet is made and Player B waits.
If we simulate games, will they both lose money or would their combined bankroll totals after a set period or number of rounds be positive?
I had ChatGPT write a python code to simulate (see below), but I'm not sure if there are errors in the code. The combined bankroll is always positive and it's always Player B who carries the +EV. I tried iterations of 80, 5000, 1M, and 1B round-sims. Could anyone verify if this is correct?
import random
# Baccarat probabilities
banker_prob = 0.4586
player_prob = 0.4462
tie_prob = 0.0952
# Betting progressions and bankroll setup
negative_progression = [50, 75, 150, 300] # For Player A (Negative Progression - 4-deep Martingale)
positive_progression = [50, 75, 150, 300] # For Player B (Positive Progression)
initial_bankroll = 5000
rounds = 80 # Number of rounds to simulate
# Simulate a single round of Baccarat
def simulate_round():
outcome = random.random()
if outcome < banker_prob:
return "Banker"
elif outcome < banker_prob + player_prob:
return "Player"
else:
return "Tie"
# Simulate the Baccarat game for two players
def baccarat_simulation(rounds, initial_bankroll):
bankroll_a = initial_bankroll # Player A (Negative Progression, opposite of recent winner)
bankroll_b = initial_bankroll # Player B (Positive Progression, bets last winner repeats, only on 1-win streak)
a_wins = 0
b_wins = 0
sequence_index_a = 0
sequence_index_b = 0
last_winner = None
streak = 0 # Tracks the current streak of the last winner
for _ in range(rounds):
result = simulate_round()
# Update streak
if result == last_winner:
streak += 1
else:
streak = 1
last_winner = result
# Player A (Negative Progression, opposite of recent winner)
if last_winner == "Banker":
a_bet_on = "Player"
elif last_winner == "Player":
a_bet_on = "Banker"
else:
a_bet_on = None # No bet in the first round
# Player B (Positive Progression, bets last winner repeats, only if on 1-win streak)
b_bet_on = last_winner if streak == 1 else None
# Player A betting logic (Negative Progression)
if a_bet_on:
current_bet_a = negative_progression[sequence_index_a]
if a_bet_on == result:
bankroll_a += current_bet_a
sequence_index_a = min(sequence_index_a + 1, len(negative_progression) - 1)
a_wins += 1
else:
bankroll_a -= current_bet_a
sequence_index_a = 0 # Reset progression on loss
# Player B betting logic (Positive Progression)
if b_bet_on:
current_bet_b = positive_progression[sequence_index_b]
if b_bet_on == result:
bankroll_b += current_bet_b
sequence_index_b = min(sequence_index_b + 1, len(positive_progression) - 1)
b_wins += 1
else:
bankroll_b -= current_bet_b
sequence_index_b = 0 # Reset progression on loss
# Calculate winning probabilities and combined EV
total_wins = a_wins + b_wins
combined_ev = (bankroll_a - initial_bankroll) + (bankroll_b - initial_bankroll)
a_win_prob = a_wins / rounds
b_win_prob = b_wins / rounds
return {
"Player A Final Bankroll": bankroll_a,
"Player B Final Bankroll": bankroll_b,
"Player A Winning Probability": a_win_prob,
"Player B Winning Probability": b_win_prob,
"Combined EV": combined_ev
}
# Run the simulation
results = baccarat_simulation(rounds, initial_bankroll)
# Display the results
print("Simulation Results:")
print(f"Player A Final Bankroll: {results['Player A Final Bankroll']}")
print(f"Player B Final Bankroll: {results['Player B Final Bankroll']}")
print(f"Player A Winning Probability: {results['Player A Winning Probability']:.4f}")
print(f"Player B Winning Probability: {results['Player B Winning Probability']:.4f}")
print(f"Combined Expected Value (EV): {results['Combined EV']}")
Quote: brewmaster
I had ChatGPT write a python code to simulate (see below), but I'm not sure if there are errors in the code.
I'm afraid there will certainly be errors in the code. ChatGPT is not capable of writing a baccarat simulator correctly from scratch.
Ask it to show the house edge and you will see the numbers are way off.
As to your broader question the end result of any betting progression will be that the gambler loses the % determined by the house edge of any money they bet.
Quote: brewmasterI haven't seen this asked yet - two persons playing the same baccarat shoe with starting bankrolls of 5000 each:
1. Player A uses negative progression - 50, 75, 150, 300 and bets on opposite of recent winner. Essentially a 4-deep martingale.
2. Player B uses positive progression - 50, 75, 150, 300 and bets the last winner will repeat. This bet will only be made if the last winner is only on a 1-win streak. If not no bet is made and Player B waits.
If we simulate games, will they both lose money or would their combined bankroll totals after a set period or number of rounds be positive?
link to original post
The description is confusing - especially the part about when B starts betting.
Could you give an example?
For example, suppose A's first bet is 50 on player. What are the next bets of each player, if any, if:
(a) player wins the hand;
(b) banker wins the hand?
1. Person A will bet 50 on Player - because this player always plays the opposite of most recent winner.
2. Person B will bet 50 on Banker - because this player always bet on the most recent winner repeating (condition is that the decision is the 1st, as in no streaks yet)
Round 2: winner is Banker, then:
1. Person A will bet 75 on Player - following the negative betting progression
2. Person B will not bet and wait for Player win before betting that it will repeat.
Alternate Round 2: winner is Player, then:
1. Person A will bet 50 on Banker - because this player always plays the opposite of most recent winner.
2. Person B will bet 50 on Player - because this player always bet on the most recent winner repeating (we have a new win column for Player)
In any case, you can never guarantee a positive total, for a simple reason:
In any round, either:
(a) both sides bet the same amount on opposite sides, in which case, either there is no change in the bankroll (if Player wins) or they lose the commission on the Banker bet (if Banker wins); or,
(b) the bet amounts on Player and Banker are different, in which case, the bankroll goes down if the side with more money bet on it loses.
Quote: brewmasterRound 1: winner is Banker, then:
1. Person A will bet 50 on Player - because this player always plays the opposite of most recent winner.
2. Person B will bet 50 on Banker - because this player always bet on the most recent winner repeating (condition is that the decision is the 1st, as in no streaks yet)
Round 2: winner is Banker, then:
1. Person A will bet 75 on Player - following the negative betting progression
2. Person B will not bet and wait for Player win before betting that it will repeat.
Alternate Round 2: winner is Player, then:
1. Person A will bet 50 on Banker - because this player always plays the opposite of most recent winner.
2. Person B will bet 50 on Player - because this player always bet on the most recent winner repeating (we have a new win column for Player)
link to original post
brewmaster,
Assuming an 8-deck game, the Wiz's
Baccarat Probabilities gives these numbers:
Banker EV = -0.010579 (BEV)
Player EV = -0.012351 (PEV)
Banker Win Probability = 0.458597
Player Win Probability = 0.446247
Tie Probability = 0.095156
If we neglect Ties, then we divide the Banker and Player Win Probabilities by the Tie Probability to get
Banker Win Probability No Ties = 0.50682438... (BW)
Player Win Probability No Ties = 0.49317562... (PW)
A always bets opposite the last winner, so A bets on Banker with a probability equal to PW and bets on Player with a probability of BW, so A's EV is
A's EV = PW*BEV + BW*PEV = -0.011477
Neglecting the rounds that B sits out, B always bets on the last winner, so B bets on Player with a probability equal to PW and bets on Banker with a probability of BW, so B's EV is
B's EV = PW*PEV + BW*BEV = -0.011453
Since both A and B have negative EV's, your proposed strategy is a long-term loser.
Hope this helps!
Dog Hand
As people have pointed out, you have to pay commission on banker wins so whomever is betting with the banker is slowly losing the combined bankroll.
There are a handful of table games like UTH/Mississippi Stud/etc where if you could get a full table of people that can share knowledge of their cards with each other there's in theory a small edge to be gained, if everyone plays perfectly. Unfortunately since the covid pandemic, most of these table games have shrunk from 8 players to 4-6, and that severely hurts this strategy. Also trying to get 4-8 people to play perfectly with a large enough shared bankroll is, frankly, almost impossible due to human nature.
Just saw a team of Bus riders do this for the Blazing 7 bet and they all hit for 200-1 with bets of $10 on the people playing Player side and one bet of $25 on the little old lady playing the Banker side.
After getting paid out $2000 each and the silver haired granny getting paid $5000, they all left a tip...
Of $5 each!