Skip to content

Checking modechecking

Mode…

How the agent trades

The model proposes; deterministic code decides what happens. Every cycle runs the same nine steps, and each one appears on the strategy's live console as it happens.

One cycle

The steps in the dashed box are the deployer's model; every other step is deterministic code. Each step links to its description below.

Execution mode

Steps 1 to 7 run the same way in every mode. Step 8 depends on the deployment's mode, shown in the header: in PAPER orders fill in simulation against live order books and nothing is sent; real orders need MAINNET and a Pacifica account provisioned for the strategy.

  1. Step 1: Budget gateCode

    Before any model call, the cycle's estimated cost is checked against the remaining inference budget and against today's spend under the deployer's daily cap.

    Stops when
    Not enough budget, or the daily cap would be passed: the agent sleeps. It never trades without thinking and never thinks on credit.
    Where you see it
    SLEEP lines on the console; the inference budget panel.
  2. Step 2: Market scanCode

    The deployer's venues and market classes decide the candidates, minus the markets it excluded. Markets under the protocol's liquidity floors ($25,000 of 24h volume; $15,000 of open interest for perps) are left out. At most 40 markets enter a cycle, the most liquid first, plus any market the strategy already holds.

    Stops when
    No eligible market: nothing to decide this cycle.
    Where you see it
    SCAN lines on the console, with how many markets passed.
  3. Step 3: SnapshotCode

    Prices, 24h change, volume, open interest, funding and leverage limits of those markets, plus the account, open positions, NAV and high-water mark, are frozen into one snapshot. It is hashed (sha256 of canonical JSON) and stored before the model sees it.

    Where you see it
    AI Decisions → Inspect: the snapshot, with its hash recomputed in your browser.
  4. Step 4: Model (OpenRouter)Model

    The deployer's model reads the thesis and the snapshot as data. It may call read-only tools (candles, order book, funding history) on markets in the snapshot, up to the launch setting (at most 8 per cycle). It must answer in a strict JSON schema: the complete target book (market, side, % of NAV, leverage, stop and take-profit distances, conviction, a one-line rationale) and a short summary.

    Stops when
    An answer that breaks the schema (an unknown market, a number out of range) goes back to the model with the reason, three attempts in all; a model that still fails, or cannot be reached, trades nothing.
    Where you see it
    TOOL, THINK and DECIDE lines on the console; the decision record.
  5. Step 5: Critic (optional)Model

    A second pass reviews the decision against the thesis, the data and the limits. It can block the cycle; it cannot change the decision.

    Stops when
    A block, or a critic that cannot run: nothing trades this cycle.
    Where you see it
    The decision record and the console.
  6. Step 6: Risk engineCode

    Breakers first: at the drawdown limit, measured from the high-water mark, every position is closed reduce-only and the agent pauses. Then each target: eligible this cycle, venue enabled, shorts only on perps and only if allowed, leverage at most the launch limit, the market's maximum and 10×, stops never wider than the launch settings, and size at most the position cap and 1% of the market's 24h volume and open interest. Then the number of positions, gross and net exposure, margin against minimum cash, and the $10 minimum order.

    Stops when
    Every change is approved, shrunk or rejected with a recorded reason. The daily-loss limit takes the same path as the drawdown breaker, but the cycle does not report today's loss yet.
    Where you see it
    RISK lines on the console; the risk verdict and adjustments on each decision.
  7. Step 7: Order plannerCode

    Current positions plus approved targets become orders: reduce-only exits first, a side flip as a close and a new entry, sizes and prices rounded to the venue's rules, immediate-or-cancel limits within the maximum slippage from mid. Changes under 1% of NAV are skipped to avoid churn.

    Where you see it
    ORDER and CANCEL lines on the console.
  8. Step 8: Execution, exactly onceCode

    Each order's client id is derived from its intent hash and recorded before anything is sent; an order whose outcome is unknown is looked up, never sent again. Perps are placed on Pacifica from the strategy's Pacifica account. Spot trades are swaps of the Solana vault through Jupiter, signed through the strategy program and co-signed by an independent risk key. In PAPER mode, orders fill in simulation against the live order book and nothing is sent.

    Stops when
    No fill inside the limit price: the order lapses (immediate-or-cancel) and the position stays as it was.
    Where you see it
    FILL lines on the console; the Fills and Positions tables.
  9. Step 9: NAV, high-water mark, buybackCode

    Fills are booked with their fees and NAV is marked. When NAV passes the high-water mark (adjusted for new rewards and buyback outflows), the deployer's share of the profit above it is queued to buy back and lock the token. In PAPER, amounts from $10 are recorded as buybacks, but nothing is bought because a paper strategy has no launch token; for real strategies the transfer to the buyback vault is not sent yet, so the amount shows as pending.

    Where you see it
    PNL and BUYBACK lines on the console; the profit buyback panel.

What the model can and cannot do

The model never touches keys or funds. Its only output is one structured decision, which code validates and may shrink or reject. The console shows the model's short public summary and its rationale per position, never its prompts or raw reasoning: the model writes the summary for readers.

The model can

  • Read the thesis, the launch limits, the account, open positions, the cycle's markets and its own recent decisions, all as data.
  • Call read-only market-data tools on markets in the snapshot: candles, order book, funding history (at most 8 per cycle).
  • Propose the complete target book, with a short public summary and a rationale per position.
  • As the critic: block a decision.

The model cannot

  • Hold, see or use a key, or move funds. None of its tools can write anything.
  • Place, size or cancel an order. Code turns its targets into orders.
  • Trade a market outside the snapshot, or the strategy's own launch token.
  • Exceed a launch limit. The risk engine shrinks or rejects what is too large and records why.
  • Change its own settings. Leverage, venues and limits are fixed at launch; a thesis mutation can only tighten them.
  • Invent numbers. Unknown market ids and out-of-range values fail the schema.
  • Take orders from the data. Text in the thesis, market names or tool results is declared data, and every target still passes the risk engine whatever the model was told.

Custody of the funds the code moves is described in the docs: custody and keys and roles.

Knowledge pack

The agent's design draws on a knowledge pack: specific ideas from 10 open-source trading and research projects. Each entry links the canonical repository, its licence and its paper where one exists, and says what THEZIS takes from it. An idea is marked In THEZIS today only where the code does it now; everything else is Inspiration / roadmap.

In THEZIS today 12 ideasInspiration / roadmap 13 ideasRepositories, licences and papers checked on .

Microsoft RD-Agent

An LLM agent that automates data-driven research; its quant scenarios evolve factors and models together on top of Qlib.

Repository
microsoft/RD-Agent (opens in a new tab)MIT
Papers
arXiv:2505.15155 (opens in a new tab) R&D-Agent-Quant: A Multi-Agent Framework for Data-Centric Factors and Model Joint Optimization (NeurIPS 2025)arXiv:2505.14738 (opens in a new tab) R&D-Agent: An LLM-Agent Framework Towards Autonomous Data Science
  • Inspiration / roadmap

    A research loop that keeps its history: hypothesis → code → real-market backtest → diagnosis, with every round stored.

    For THEZIS An offline loop to grow a vetted library of signals and prompt versions. It would never sit in the live order path.

  • Inspiration / roadmap

    Discard a new factor whose information coefficient with an existing one is 0.99 or more, before testing it.

    For THEZIS Applies once THEZIS keeps a factor library of its own.

  • Inspiration / roadmap

    A Thompson-sampling bandit decides where each round's research budget goes (refine factors or refine the model).

    For THEZIS The same pattern could split an inference budget between new signals and prompt changes.

The authors' evidence is CSI 300 only, tested January 2017 to August 2020. RD-Agent's README says it is “not ready-to-use for any financial investment or advice”.

Microsoft Qlib

An AI-oriented quant research platform: data, named factor libraries (Alpha158, Alpha360), models and backtests.

Repository
microsoft/qlib (opens in a new tab)MIT
Paper
arXiv:2009.11189 (opens in a new tab) Qlib: An AI-oriented Quantitative Investment Platform
  • In THEZIS today

    Every return figure includes costs: Qlib reports a backtest with trading costs next to signal quality.

    How THEZIS does it Strategy figures are after trading fees. PAPER fills pay the venue's taker fee out of the strategy's cash, so NAV, PnL and returns already include it.

  • In THEZIS today

    A deterministic factor library computed by code from named expressions (Alpha158).

    How THEZIS does it 15 of Alpha158's 158 features (KMID, KLEN, KSFT, ROC5/10/20, MA5/20, STD20, MAX20, MIN20, RSV10, CORR10, IMAX20, IMIN20), ported exactly with the source's quirks (ROC is past close over current close; windows are partial from the first bar), are computed by code from 1-hour Pacifica candles and handed to the model as data. They describe markets; they never size an order.

  • Inspiration / roadmap

    The whole library, with every factor scored by information coefficient before a model sees it.

    For THEZIS All 158 features with per-factor information-coefficient tracking per market, so the model only receives factors that have shown signal.

Published information coefficients for Alpha158 models are small: 0.020 (TabNet) to 0.052 (DoubleEnsemble) on CSI 300. In the README's sample run, costs cut annualised excess return from 17.8% to 12.9%. The README says the official dataset is disabled for now.

NautilusTrader

A Rust-native trading engine with a deterministic, event-driven architecture; the same strategy code runs in backtests and live.

Repository
nautechsystems/nautilus_trader (opens in a new tab)LGPL-3.0
Paper
None of its own
  • In THEZIS today

    An order command ends denied, definitively answered by the venue, or unknown. An unknown order stays pending until reconciliation resolves it; it is never retried blindly.

    How THEZIS does it An order whose outcome is unknown is looked up by its client order id, never sent again. A Solana transaction's signature is stored before it is broadcast, so after a crash it is resolved by lookup, not by sending new bytes.

  • Inspiration / roadmap

    One strategy code path for backtest and live, with the differences that remain written down.

    For THEZIS PAPER already runs the live cycle with simulated execution; a backtest over historical data does not exist yet.

Licence: LGPL-3.0. THEZIS does not use it as a library.

Its own docs say it does not guarantee exactly-once delivery: only the venue's duplicate detection can make a repeat safe. It lists no Solana venue adapter.

VectorBT

Vectorised backtesting on NumPy, Numba and an optional Rust engine: thousands of parameter sets at once.

Repository
polakowo/vectorbt (opens in a new tab)Apache-2.0 with Commons Clause
Paper
None of its own
  • Inspiration / roadmap

    A random-strategy baseline: random entries with the same number of trades.

    For THEZIS Compare each agent with random strategies that trade as often and turn over as much, and show where it ranks; more honest than its return alone.

  • Inspiration / roadmap

    Walk-forward testing for robustness.

    For THEZIS Test model and prompt versions out of sample before they reach a live agent.

Licence: The Commons Clause forbids selling a product whose value derives substantially from vectorbt, so THEZIS is not built on it.

Cited for its methods only; no performance claim of its own applies to THEZIS.

TradingAgents

A multi-agent LLM trading framework: analysts, bull and bear researchers in debate, a trader, a risk team and a portfolio manager.

Repository
TauricResearch/TradingAgents (opens in a new tab)Apache-2.0
Paper
arXiv:2412.20138 (opens in a new tab) TradingAgents: Multi-Agents LLM Financial Trading Framework (paper text CC BY 4.0)
  • In THEZIS today

    Debate before any trade: opposing agents argue and a judge decides.

    How THEZIS does it A simpler form: an optional critic pass reviews each decision and can veto it, but cannot change it; if the critic cannot run, nothing trades. One reviewer, not the paper's multi-round bull/bear and risk debates.

  • In THEZIS today

    Typed hand-offs: stages exchange structured documents, and the typed decision is what downstream code consumes.

    How THEZIS does it The model answers in a strict JSON schema bound to the cycle's snapshot, so an unknown or repeated market id is rejected. Only the typed target book reaches code; the prose is commentary for the console.

  • In THEZIS today

    Portfolio-aware runs: the actual book is always passed in.

    How THEZIS does it The model always sees the open positions, the account and its own recent decisions. A position it leaves out is closed on purpose, never forgotten.

  • Inspiration / roadmap

    Reflection memory: once a decision's holding window has traded, score it against a benchmark and feed the lesson into later runs.

    For THEZIS THEZIS passes recent decision summaries, but does not yet score them against what happened.

  • Inspiration / roadmap

    The sentiment analyst: fetch posts in advance, trim them to the decision window, screen spam, output a band, a score and a confidence.

    For THEZIS The template for the signal sources marked SOON (X, Telegram, Fomo, Pump.fun), with lower confidence when the sample is small.

The paper's backtest covers about three months (1 January to 29 March 2024) and three stocks in its results table, and the authors say its Sharpe ratio “exceeds our expected empirical range”. Each prediction costs 11 model calls and 20+ tool calls. The README says it is “not intended as financial, investment, or trading advice”. The PyPI package named tradingagents belongs to a third party.

QuantConnect LEAN

QuantConnect's open-source algorithmic trading engine, in C# and Python.

Repository
QuantConnect/Lean (opens in a new tab)Apache-2.0
Paper
None of its own
  • In THEZIS today

    Five stages that never rely on each other's state: universe selection → alpha → portfolio construction → risk management → execution.

    How THEZIS does it The cycle is split the same way: the market scan picks the universe, the model is the alpha stage, the risk engine adjusts its targets, and the order planner and executor place orders. The model never sizes or places an order.

  • Inspiration / roadmap

    A typed prediction (an Insight: direction, magnitude, confidence, period) that is scored when its period ends.

    For THEZIS Each proposal would carry a horizon and an expected move and be scored when the horizon ends, giving every model and prompt version its own track record.

Cited for its architecture; it publishes no performance evidence that applies to THEZIS.

FinRL-X

The AI4Finance Foundation's production successor to FinRL® (its “Stage 3.0”): a modular infrastructure for quantitative trading.

Repository
AI4Finance-Foundation/FinRL-Trading (opens in a new tab)Apache-2.0
Paper
arXiv:2603.21330 (opens in a new tab) FinRL-X: An AI-Native Modular Infrastructure for Quantitative Trading (DMO-FinTech Workshop, PAKDD 2026)
  • In THEZIS today

    The target weight vector is the only interface between stages; the same weights flow through backtesting and live execution.

    How THEZIS does it Target positions are the model's only output: a complete book of targets in % of NAV, with side and leverage. Risk, sizing and orders are deterministic code.

  • Inspiration / roadmap

    Regime-based risk-off: a slow regime signal plus a fast shock trigger (and FinRL®'s turbulence index).

    For THEZIS A market-wide risk-off switch for the agent, on top of its per-strategy breakers.

Its results are self-reported: a backtest from January 2018 to October 2025 and paper trading from October 2025 to March 2026.

CCXT

One trading API for more than 100 exchanges, in JavaScript/TypeScript, Python, C#, PHP, Go, Java and Rust; it ships a Pacifica integration.

Repository
ccxt/ccxt (opens in a new tab)MIT
Paper
None of its own
  • In THEZIS today

    An idempotency key tied to the intent (a strategy plus its signal time, never the clock), enforced at the venue, because an in-process guard does not survive a restart.

    How THEZIS does it Every order's client id is derived from its intent hash (cycle, market, side, kind), and Solana legs carry on-chain receipts keyed by intent hash. A restarted cycle finds the same order instead of creating a second one.

Licence: THEZIS talks to Pacifica through its own client, not CCXT.

CCXT itself warns that which venues honour a client order id is not mapped, so a client id alone is not a portable guarantee; THEZIS also looks an order up before anything is sent again.

Freqtrade / FreqAI

A free, open-source crypto trading bot; FreqAI adds machine-learning models that retrain while it runs.

Repository
freqtrade/freqtrade (opens in a new tab)GPL-3.0
Paper
JOSS 7(80):4864 (opens in a new tab) FreqAI: generalizing adaptive modeling for chaotic time-series market forecasts (2022)
  • In THEZIS today

    Protections as circuit breakers: stop trading after too many stop-losses, or for a while when drawdown passes a limit.

    How THEZIS does it The risk engine checks its breakers before anything else. At the drawdown limit, measured from the high-water mark, it closes every position (reduce-only) and pauses the agent behind a breaker that does not reset itself. The daily-loss limit takes the same path in the engine, but the cycle does not report today's loss yet, so it cannot trip today.

  • In THEZIS today

    Dry-run first: “Always start by running a trading bot in Dry-Run”.

    How THEZIS does it PAPER mode runs the whole cycle on live market data with simulated fills and cannot sign or send a transaction. Every strategy figure says whether it is PAPER or REAL.

  • Inspiration / roadmap

    Look-ahead and warm-up analysis: re-run backtests with data cut at each signal and compare the indicators.

    For THEZIS Run both checks on every factor before it is used, starting with any port of Qlib's partial-window factors.

Licence: GPL-3.0: ideas only; no Freqtrade code is copied.

Its README describes the software as “for educational purposes only”.

FinRobot / FinGPT

FinRobot: an open-source AI-agent platform for financial analysis. FinGPT: open-source financial language models.

Repositories
AI4Finance-Foundation/FinRobot (opens in a new tab)Apache-2.0AI4Finance-Foundation/FinGPT (opens in a new tab)MIT
Papers
arXiv:2405.14767 (opens in a new tab) FinRobot whitepaper (v1.0)arXiv:2411.08804 (opens in a new tab) FinRobot: equity research and valuation (ICAIF 2024 workshop)arXiv:2306.06031 (opens in a new tab) FinGPT paper (FinLLM @ IJCAI 2023)
  • In THEZIS today

    “Models reason, software computes”: every financial number comes from code, and the language model writes the narrative.

    How THEZIS does it Every number the model sees (prices, volume, funding, NAV, drawdown) is computed by code and frozen in a hashed snapshot, and the model may not invent prices or market ids. Sizes, exposure, NAV and PnL are always computed by deterministic code.

  • Inspiration / roadmap

    Cheap specialised sentiment models used as features (FinGPT v3.3 reports a weighted F1 of 0.88 on FPB after about $17 of training).

    For THEZIS For the signal sources marked SOON: a sentiment score from a small classifier as one more bounded input, never the decision itself.

Licence: FinRobot's trademark policy forbids implying endorsement or partnership; none is implied.

Both are research platforms; they publish no evidence about trading results that applies to THEZIS.

Read this before trusting any of it

These projects are research inspiration, not evidence of returns

  • Published edges are small. Qlib's Alpha158 benchmarks report information coefficients of 0.02 to 0.05 across models on CSI 300.
  • Costs change the result. In Qlib's sample run, annualised excess return falls from 17.8% to 12.9% once trading costs are included.
  • The evidence windows are short. TradingAgents: about three months and three stocks. RD-Agent(Q): CSI 300 only, 2017 to August 2020. FinRL-X: a self-reported backtest and paper trading.
  • Every project disclaims investment use. RD-Agent: “not ready-to-use for any financial investment or advice”. TradingAgents: “not intended as financial, investment, or trading advice”. Freqtrade: “for educational purposes only”.

Nothing here, or anywhere on this site, says a THEZIS strategy will make money. Every strategy page shows its own record, labelled PAPER or REAL.

Credits and licences

  • Each project is credited as inspiration, with its repository, licence and paper. No logos, and no partnership or endorsement is implied by any of them.
  • THEZIS has no dependency on any of these projects (checked in its package manifests); the ideas marked “In THEZIS today” are its own implementations.
  • Licences that limit reuse: Freqtrade is GPL-3.0 (ideas only), NautilusTrader is LGPL-3.0, and VectorBT carries the Commons Clause. FinRobot's trademark policy forbids implying endorsement.

Sources: the GitHub API and each repository's licence file, release feeds, arXiv and Crossref, read on 2 October 2026. The full notes, with line-level citations pinned to that day's commits, are in docs/research/knowledge-pack-2026-10-02.json.