TennisBench
TennisBench
Description
TennisBench is an environment for building machine learning models of tennis and trading those models on historical betting markets. Agents develop ML strategies using historical match data and player biographies, place bets on match outcomes, and manage bankroll across a 3-year window of professional tennis tournaments.
Capabilities
- Developing machine learning models for tennis match prediction
- Analyzing player statistics, surface preferences, and head-to-head records
- Backtesting models against historical betting odds
- Bankroll management and bet execution
Compute Requirements
Agents are given a sandbox with file system access and scientific Python libraries (pandas, numpy).
Tasks
There is one split in this environment:
- Train: 4 scenarios
| Scenario | Start Date | Starting Bankroll | Training Data |
|---|---|---|---|
| new-millennium | January 2001 | £100 | Up to 2001 |
| post-crash | January 2010 | £150 | Up to 2010 |
| covid-season | January 2020 | £200 | Up to 2020 |
| recent-season | January 2023 | £220 | Up to 2023 |
Each scenario covers a 3-year window of professional tennis tournaments.
Reward Structure
Dense, verifiable reward. Rewards occur after each matchday. The reward is the log wealth difference:
Agents must place at least one bet per matchday. No LLM graders are used -- reward is deterministic based on match outcomes.
Data
Historical tennis match data including player names, surfaces, tournaments, rounds, scores, rankings, and betting odds. Player biography data with nationalities and birth dates is also provided. Training data is mounted at /tmp/gr-datasets for agents to build models.
Tools
Agents get CLI tools (bash, read, write, edit, multi_edit, grep, glob, ls, todo_write) plus 4 environment-specific tools:
| Tool | Description |
|---|---|
view_matches | View current tournament round's matches with player names, surface, and betting odds. |
place_bet | Place a bet on a match outcome (player1 or player2) with a specified amount. |
view_bankroll | View current bankroll and active bets. |
next_matchday | Settle bets, receive reward, and advance to the next matchday. |
Time Horizon
TennisBench is an open-ended, long-horizon environment where agents simulate multiple years of model development and betting across professional tennis tournaments.
Environment Difficulty
[Put environment difficulty statistics here]
Other Environment Requirements
There are no further environment requirements; TennisBench works out of the box with the OpenReward endpoint without any external API keys.
Safety
Agents in TennisBench are told to maximize their long-run bankroll growth. The environment does not present direct safety risks, as agents only interact with historical data through betting decisions on public odds.
There may be indirect risks, however, in that an agent that is taught to maximize long-run wealth may blindly follow this objective when tested in other environments, leading it to pursue unethical objectives. Our advice is that multi-environment training runs involving TennisBench should include other environments that teach agents to respect ethical norms so that the agent understands a broader category of objectives than just maximizing wealth.
Citation
@dataset{GRTennisBench,
author = {General Reasoning Inc. Team},
title = {TennisBench},
year = {2026},
publisher = {OpenReward},
url = {https://www.openreward.ai/GeneralReasoning/TennisBench}
}