ETALON Labs

The strategy workbench

Research, backtest, and validate your strategies.

Move an idea from a written hypothesis to a result you can challenge, with the market data, code, and evidence in one Lab.

Get started How validation works

Strategies
Python
Workflow
Idea to validation
Overnight reclaim
Strategy entrypointPython
  1. class OvernightReclaim(QCAlgorithm):
  2. def initialize(self):
  3. self.set_start_date(2019, 1, 1)
  4. self.set_end_date(2023, 12, 31)
  5. self.es = self.add_future("ES")
  6. def on_data(self, data):
  7. if self.time.hour < 10: return
  8. # price took back the overnight high
  9. if self.reclaimed(self.on_high):
  10. self.market_order(self.es, 1)
  11. self.stop_at(self.session_low)
Result Backtest
Net profit · USD
+18,400.00
Annual return
3.43%
Max drawdown
12.9%
Average trade · USD
+85.98
Checklist Checklist band C 3 of 4
  1. Backtest Oct 2, 4:18 PM · 7c41e9
  2. Costs +15,960 USD with fees doubled
  3. Resampling Loss in 15.8% of resampled paths
  4. Unseen dates −2,310 USD on unseen dates

From idea to a tested strategy

Every project moves through the same stages, in order, so a promising chart cannot skip the hard part.

  1. Idea

    Write what the strategy should prove.

  2. Research

    Inspect the data before trading logic.

  3. Backtest

    Run it over recorded market data.

  4. Validation

    Challenge costs, luck, and unseen dates.

Market data

Futures minute bars, US equities including delisted names, crypto, and index options with greeks. No downloads or separate API keys.

Among them: ES NQ CL GC ZN 6E SPY QQQ AAPL NVDA BTCUSDT SPXW

Assistant

Describe it. The assistant builds it.

Say what you want to test in plain words. The assistant writes the code, runs the backtest, and explains the result. The code stays yours to read and edit.

Buy ES when it takes back the overnight high after 10am. Stop under the session low. One contract.

overnight_reclaim.pyWrote overnight_reclaim.py

Ran a backtest

214 trades, +18.4% over five years, with a 12.9% max drawdown. Most of the gain comes in the first hour. Trades after 13:00 lose money. Want me to test removing them?

Connect your AI

Or use the AI you already have.

Connect Claude, ChatGPT, Codex, or Claude Code to the Lab. The app can write files, start backtests, and read results while the Lab shows each change.

Included with the Lab
Connected runs count toward the same monthly allowance.
Your account stays private
The app never sees your account details or payment method.
You approve the connection
Sign in to Etalon once and choose Allow. Disconnect it from the Lab at any time.
Connect

Claude

Addresshttps://etalonlabs.io/mcp
  1. Open Customize, then Connectors.
  2. Choose Add custom connector and paste the address.
  3. Sign in to Etalon when Claude asks, and choose Allow.
  4. Turn on Etalon Lab from + in a chat.

Codex and ChatGPT

Runcodex mcp add etalon-lab --url https://etalonlabs.io/mcp
  1. Run the command in a terminal.
  2. Run codex mcp login etalon-lab, sign in to Etalon, and choose Allow.
  3. The ChatGPT desktop app and the Codex IDE extension share this setting.

Claude Code

Runclaude mcp add --transport http etalon-lab https://etalonlabs.io/mcp
  1. Run the command in a terminal.
  2. Inside Claude Code, run /mcp and choose Etalon Lab.
  3. Sign in to Etalon and choose Allow.

Etalon Lab connectedSample

Edited
overnight_reclaim.py skip trades after 13:00
Ran
Backtest #15 +21.7%, drawdown 11.2%
Compared
#15 with #14 fewer trades, higher profit factor

Research

Look before you trade.

A research run loads the data and shows what is actually there before any trading logic exists.

Research notebookES · NQ · YM · RTY · CL · GC
Correlation of daily session returns, 2021 to 2023
ESNQYMRTYCLGC
ES1.000.940.940.830.150.13
NQ0.941.000.790.760.070.10
YM0.940.791.000.790.170.14
RTY0.830.760.791.000.220.12
CL0.150.070.170.221.000.16
GC0.130.100.140.120.161.00
Backtest
Closed trades
214106 won · 108 lost
Avg win / loss
1,290/ −1,096 USD
Longest streaks
7W · 6Lwon · lost

BreakdownEntry hour · ET

  1. 10:00+13,400
  2. 11:00+5,900
  3. 12:00+2,400
  4. 13:00−1,200
  5. 14:00−1,300
  6. 15:00−800

Backtest

Every trade, not just the total.

Each run opens to a complete report against holding SPY, down to the individual order.

Validation

It tells you when it is not ready.

Five checks show whether a result survives costs, chance, unseen dates, and a prop firm's rules. Change the code and the evidence goes stale until you run it again.

ChecklistChecklist band C 3 of 4
  1. BacktestOct 2, 4:18 PM · 7c41e9
  2. Costs+15,960 USD with fees doubled
  3. ResamplingLoss in 15.8% of resampled paths
  4. Unseen dates−2,310 USD on unseen dates
  5. Prop firmPasses 22% · By size 50KNot counted

Resampling

15.8% Resampled loss share, 1,000 paths

Prop firm

22% Pass rate · By size 50K · 2,000 attempts

Pass rate
22%
Failed on max loss
61%
Failed on daily limit
9%
Out of time
8%

Unseen dates

−2,310 USD on unseen dates · First run on these dates

Build dates 2019 to 2023Unseen 2024