Does Card-Counting Work For Spanish21?
I’ve heard all the stories about card-counting, and almost managed to watch the entire movie “21”, but I never really saw how card-counting could help against a 6-deck shoe. Well, since it was really easy to add to my Spanish21 program, I devised a simple hi/lo balanced count:
Cards | Value |
---|---|
2, 3, 4, 5 | +1 |
J, Q, K, A | -1 |
Next, I wanted to see the correlation between the running count of the shoe, and the expectation value (EV) of the next hand out of the shoe. So I ran the simulator for a million shoes, and plotted the average hand net result vs. the running count:

Simulation of simple hi/lo count for Spanish21.
I was surprised to see the very linear correlation between the running count of the shoe, and the profitability of the next hand out of the shoe. Counting works. I never saw this data before (probably because few people want to see this type of thing), but it’s the clearest way for me to see the benefits of counting. And these results were obtained by playing the unmodified basic strategy for the game. Note that the player has almost a 2% edge when the count is +10. And the game is always profitable when the count is positive. (Oh, if we could only sit out while the deck is negative …) Obviously, results will improve by implementing more complicated counting systems (e.g., true counts, based on shoe depth, modifying basic strategy for the count, etc.). But, it’s nice to know that the most basic type of counting yields a positive edge for the game.
As another simple experiment, I added a simple modified betting strategy based on the count:
Condition | Bet |
---|---|
count ≤ -5 | 0 (sit out) |
-5 < count < 0 | 1x |
0 ≤ count < 10 | 2x |
10 ≤ count < 15 | 3x |
count ≥ 15 | 4x |
where a bet of 1x indicates your standard bet, and 2x is twice your standard bet, etc. This simple betting strategy using the simple running hi/lo count, and the unmodified basic strategy made the game net profitable (+0.41% of the 1x bet), vs. the normal -0.45% loss rate.
Spanish21 @ Sycuan Casino, CA
One of the best games in San Diego is Spanish 21 at the Sycuan Casino. The dealer hits on soft 17, but the player can double a hand up to 3 times. This comes in handy with a game that allows doubling on any number of cards, even after splits. I wrote my own program to find the basic strategy for this game, and verified it through simulation. The game at Sycuan yields a small 0.4% edge for the house. That’s really good, considering normal blackjack yields at least 0.6% house edge, and the carnival games and “bonus” bets yield anywhere from 2%-8%. As far as discount gambling goes, this is as good as it gets … it costs you only $.02 per $5 bet. This level of action will hardly pay for the casino lights ($.02/hand @ 60 hands/hr = $1.20/hr).
Here’s the results I obtained from my program. The table almost exactly with The Wizard Of Odds, except for a few cases like 8-8 vs. a dealer 10 (you should just hit), A-3 vs. dealer 3 (you should just hit), and a three card 10 (e.g., 2-3-5) against a dealer 8 (you should just hit). There’s an inconsequential difference on the after doubling table too.

Basic strategy for Spanish21.
I wrote the program in C++, and used a recursive algorithm to walk all possible player options and their outcomes against a given dealer upcard. The code is very compact, because of its recursive nature, but it’s a little slow. I speeded up the algorithm a bit by saving intermediate decision EVs, and using them to automatically prune off improbable option branches. For example, it took my Intel-based Mac Mini over 6 minutes to solve the basic strategy play for player 5 6 vs a dealer 2 upcard:
Macintosh:Debug show$ time ./spanish_21 -u 2 5 6 dealerHand: 2 playerHand: 5 6 EV +0.348048 double real 6m15.242s user 6m10.942s sys 0m0.799s
1 comment