built using simulation parameters from Mathletics
see Mathletics Event Probabilities for the complete tree of event probabilities
from bball import InningSimulator, \
MonteCarloInningEngine, \
BatterStats
from bball.setups import MathleticsSimpleEventGenerator
player = BatterStats.create('ichiro', {
'AB': 704, ## Appearance
'SH': 2, ## Sac Bunts
'SF': 3, ## Sac Flys
'K': 63,
'BB': 49,
'HBP': 4,
'1B': 225,
'2B': 24,
'3B': 5,
'HR': 8
})
simulator = InningSimulator(
MathleticsSimpleEventGenerator().create(batter)
)
ichiro_runs = MonteCarloInningEngine(simulator).run()
print(ichiro_runs * avg_innings_per_game, 'runs per game')