tqt.
waitlist · macos 13+ · invite-only beta

english is the language.the agent writes the code.

strategies live47
best sharpe today2.81
backtests this week12,403
server time
live now

strategies running across tqt right now.

mock projects from the public demo pool. paper capital, real timestamps. yours show up here too once you deploy.

mom_rank_topn
tokyo-mom-rotation · TOPIX-30
live
started16h ago
fills15
unrealized+$2,840.18
ust_2s10s
us-rates-carry · ZN/ZF
live
started4h ago
fills22
unrealized−$187.04
atr_breakout_15m
btc-vol-breakout · BTC-PERP
live
started39h ago
fills11
unrealized+$1,204.55
what it is

you have a hypothesis. the agent does the typing.

you ask in plain language. it loads the data, writes the strategy module, runs the backtest, and tells you the number. you push back on the number. it tries again.

 data.load_ohlcv SPY · 2020-01..2024-12 · 1d · yfinance
1259 bars · cached as 4f0c1ed

every dataset, every strategy, every backtest stays one click away on the canvas. no menu archaeology when you come back at 9pm tomorrow.

 workspace.list strategies · 4 · 287 lines total
sma_crossover · pairs_xom_cvx · funding_basis · vol_breakout

when the agent isn’t sure which window beats SPY, it grids the windows. when the variance looks suspicious, it widens the holdout. you supervise. it iterates. the number moves.

 grid_search sma · fast=[5..30] · slow=[50..200]
144 runs · best sharpe 1.42 at (12, 90)
how it thinks

five steps inside one loop iteration.

real transcript fragments from a tqt session. tap to read the prompt the agent gave itself and the tool call that followed.

prompt
compare runs ma_crossover_aapl_2024[a3f0c1ed] and [b71daa20]. which bars contributed the worst trades? was it whipsaw or single-day gaps?
tool call
▸ backtest.diff_runs  a3f0c1ed b71daa20  --metric trade_pnl
result
← 4 of 7 worst trades came from chop weeks (atr < 50d-median). gaps account for 1.
prompt
propose a small parameter change that should reduce whipsaw without changing the trend signal. score by expected sharpe lift.
tool call
▸ strategy.propose_change  base=sma_crossover  guardrail=atr
result
← + atr(14) > 14d-median, gates entries only. expected sharpe lift: +0.10..+0.18.
prompt
apply the proposed change to strategies/sma_crossover.py. keep imports unchanged. add a single guard clause inside on_bar.
tool call
▸ workspace.edit  strategies/sma_crossover.py  +6 -0
result
← patch landed. 28 → 34 lines. typecheck ok. import graph unchanged.
prompt
run a backtest of the updated strategy against the cached AAPL 2024 dataset. emit an equity curve and metrics.
tool call
▸ run_backtest  ma_crossover_aapl_2024  cash=10000  dataset=a3f0c1ed
result
← 251 bars · 12 fills (down from 18) · sharpe 1.18 (+0.20) · max dd -7.1% (+1.3pp).
prompt
write a one-line summary of the change. propose two further hypotheses sorted by expected lift.
tool call
▸ chat.send  role=assistant
result
← sharpe 1.18, dd -7.1%. next two ideas: skip earnings days (calendar guard), or kelly-sized positions. which?
the loop

a strategy that improves itself.

the agent backtests, reads the result, proposes the smallest hypothesis change that might move the number, and runs it again. you stay supervisor. six iterations later, the sharpe is up 73%.

sharpe ratio (sma crossover · spy · 2020-2024)
0.81
  1. 01
    baseline
    sma(10, 50)
    0.81
  2. 02
    widen fast window
    sma(15, 60)
    0.94
    +0.13
  3. 03
    wider still
    sma(20, 80)
    1.02
    +0.08
  4. 04
    filter chop with atr
    + atr(14) > median
    1.18
    +0.16
  5. 05
    skip earnings days
    + calendar guard
    1.32
    +0.14
  6. 06
    kelly-sized positions
    + pos = kelly · 0.25
    1.40
    +0.08
what this isn’t

three things tqt is consciously not.

not this
not a broker terminal

bloomberg-style multi-pane chrome borrowed from a 2003 multimon setup. flashing tickers as identity. navy panels.

not this
not a retail trader app

green/red gradients. confetti on a winning day. a portfolio card that wants to be screenshotted. cheerful copy. shareable.

not this
not another saas dashboard

three identical metric cards above the fold. slate-and-purple gradient hero. an icon row. a logo wall.

waitlist

currently in beta.
ask for an invite.

tqt runs locally on macos. cloud deploy comes later, also under invite. the language is english; the agent is claude. drop your email and we’ll be in touch.

one email. one invite when there's room. unsubscribe in every email.

  • on invitesigned macos build, autoupdating. paper trading, unlimited backtests, the autoresearch loop.
  • laterlive capital stays gated separately by broker authorization. paper is the default.
  • not yetone project, one workspace. team workspaces ship after the public release.
early access

english is the language.
the agent does the typing.

email-only signup. macos build sent on invite. no card, no setup interview, no marketing email-blast.

currently in beta