THE ARENA
SYSTEM STATUS
> HOW IT WORKS
The Arena is a genetic algorithm that evolves trading bots through natural selection.
5,000 bots are created with random trading rules — different RSI thresholds, MACD settings, stop losses, take profits. Some are aggressive. Some are conservative. Most are terrible.
Every night, ALL 5,000 bots trade against the last 5 days of real market data. The ones that make money survive. The ones that lose, die. The survivors breed — their rules are combined and mutated to create the next generation.
After hundreds of generations, what survives is a trading strategy that evolution designed — not a human.
SIMULATED EVOLUTION PREVIEW
LEADERBOARD — TOP SURVIVORS
| RANK | BOT ID | STRATEGY | RETURN | WIN RATE | STATUS |
|---|---|---|---|---|---|
| First evolution run tonight. Check back tomorrow. | |||||
# This is what runs every night at midnight
def evolve(population, market_data):
# Each bot trades against real market data
results = [bot.backtest(market_data) for bot in population]
# Sort by profit — best first
ranked = sorted(results, key=lambda r: r.profit, reverse=True)
# Kill the bottom 50%
survivors = ranked[:len(ranked) // 2]
# Breed the survivors — combine their rules + random mutations
children = [breed(random.choice(survivors), random.choice(survivors)) for _ in range(len(population) // 2)]
# Next generation = survivors + their children
return survivors + children
# Run for 1000 generations
for gen in range(1000):
population = evolve(population, last_5_days)
print(f"Gen {gen}: Best bot returned {population[0].profit}%")
🎯 COOPER'S CHALLENGE
Learn Python. Understand this code. Then help Forge make it better.
Start here: python.org/about/gettingstarted
Then try: OpenAI Gym — build an RL agent