user21094: With the exception of checkmate and mate-in-x positions, what is the highest centipawn score that a chess position might obtain upon Stockfish evaluation?
This is a practical question because there are situations where one would want to normalize position scores to [-1, 1]. As a starting point I wrote a small script that evaluates the positions (depth=10) found in 100 PGNs and found the highest score to be 3396. Is there an upper bound (or lower bound for negative scores)? Does the evaluation depth effect the bound?
EDIT: I've selected the answer provided by Chromatix because it solves the problem that motivated my question. For those who are curious about the actual bounds, it's worth noting that looking at approx. 400k positions from grandmaster games I found that the highest and lowest centipawn scores were 7881 and -7658, again, using Stockfish (depth=10).

user20721: Arbitrarily High.
No bound except some position which is unknown.
Yes depth affects the maximum bound some.

user15223: The maximum possible non-mate Stockfish eval is +153. It indicates a forced line leading to an endgame tablebase win. See Wikipedia article on game 65 of the TCEC Season 14 superfinal, and the game itself.
I don't understand Stockfish's code very well, but if you can read C++ you can try deciphering Stockfish's search algorithm yourself.

user19281: The best way to normalise a centipawn score to [-1,+1] range is using a sigmoid function, as that closely approximates the likelihood of a given centipawn advantage converting to a win, and avoids the need to identify a strict maximum or minimum.  This is discussed here.

21094: <p>With the exception of checkmate and mate-in-x positions, what is the highest centipawn score that a chess position might obtain upon Stockfish evaluation?</p>

<p>This is a practical question because there are situations where one would want to normalize position scores to [-1, 1]. As a starting point I wrote a small script that evaluates the positions (depth=10) found in 100 PGNs and found the highest score to be 3396. Is there an upper bound (or lower bound for negative scores)? Does the evaluation depth effect the bound?</p>

<p>EDIT: I've selected the answer provided by Chromatix because it solves the problem that motivated my question. For those who are curious about the actual bounds, it's worth noting that looking at approx. 400k positions from grandmaster games I found that the highest and lowest centipawn scores were 7881 and -7658, again, using Stockfish (depth=10).</p>
 20721: <p>Arbitrarily High.</p>

<p>No bound except some position which is unknown.</p>

<p>Yes depth affects the maximum bound some.</p>
 15223: <p>The maximum possible non-mate Stockfish eval is +153. It indicates a forced line leading to an endgame tablebase win. See Wikipedia article on game 65 of the <a href="https://en.wikipedia.org/wiki/TCEC_Season_14#Superfinal" rel="nofollow noreferrer">TCEC Season 14 superfinal</a>, and <a href="https://www.tcec-chess.com/archive.html?season=14&amp;div=sf&amp;game=65" rel="nofollow noreferrer">the game itself</a>.</p>

<p>I don't understand Stockfish's code very well, but if you can read C++ you can try deciphering Stockfish's <a href="https://github.com/official-stockfish/Stockfish/blob/master/src/search.cpp" rel="nofollow noreferrer">search algorithm</a> yourself.</p>
 19281: <p>The best way to normalise a centipawn score to [-1,+1] range is using a sigmoid function, as that closely approximates the likelihood of a given centipawn advantage converting to a win, and avoids the need to identify a strict maximum or minimum.  This is discussed <a href="https://www.chessprogramming.org/Pawn_Advantage,_Win_Percentage,_and_Elo" rel="noreferrer">here</a>.</p>
