ALTA README

The project's README from github.com/kyky2347/ALTA. As one markdown file: README.md.

ALTA

Autonomous LLM Trading Asterism

A virtual trading platform operated by specialized LLM agents.

CI Release: 0.26.0 License: Apache-2.0 Use: research only

Trade the opportunity. The stock, ETF, or option is only its carrier.

ALTA is an evidence-first research system for public markets. Specialized LLM agents search independently, turn weak signals into falsifiable opportunities, argue both sides, compare expressions, pass a separate risk audit, and measure what happened in a replayable Shadow ledger.

It is built for a question that conventional agent demos usually avoid:

Can a team of autonomous researchers preserve curiosity without giving up evidence, accountability, recovery, or portfolio discipline?

[!IMPORTANT] ALTA is experimental, research-only software. It is not investment advice, a recommendation, an order-management system, or evidence of profitable Alpha. There is no live-trading mode. The only broker boundary is explicit, operator-authorized Tiger Paper execution; live credentials and real capital must never be connected.

中文说明 · Architecture · Getting started · Research scope · Security · Website

Latest: clearer decisions, fresher evidence, safer recovery

The five-minute mental model

ALTA treats an idea as a lifecycle, not a chat response:

flowchart LR
    S[Sense\nindependent Scouts] --> C[Candidate\nevidence + lineage]
    C --> F[Foundry\ndedupe + complete]
    F --> D[Debate\nbull · bear · catalyst]
    D --> R[Rank\nportfolio-aware]
    R --> X[Express\nstock · ETF · option]
    X --> A[Audit\nrisk + authority]
    A --> E[Execute\nShadow or Tiger Paper]
    E --> M[Monitor\nobserve · exit · attribute]
    M --> L[Learn\ncalibration + Trader Mind]
    L -. new search priors .-> S

The LLMs own open-ended research and judgment. Deterministic code owns the parts that must remain exact: schemas, lineage, permissions, capital limits, idempotency, leases, state transitions, recovery, and accounting.

That separation is the design. Agents get room to think; the system never has to trust their prose as authority.

One opportunity, many minds

Desk Responsibility What it must produce
Scouts Search filings, market structure, price/volume, macro, ownership, options, cross-asset and open-web clues A cited Candidate or an honest abstention
Foundry Normalize, deduplicate and freeze claim lineage One stable, falsifiable Opportunity
Underwriters Build independent bull, bear, catalyst and implementation cases Structured disagreement, not consensus theatre
Research Director Allocate attention and rank competing work Decision value adjusted for urgency and portfolio overlap
Expression desk Compare stock, ETF and option carriers Executable payoff candidates with costs and liquidity
Risk & audit Challenge evidence, sizing, concentration and authority Approve, resize, defer, Shadow-only or reject
Execution & monitoring Revalidate prices, submit authorized Paper intents and watch exits Durable intent, fill history, telemetry and attribution
Learning loop Score forecasts, costs and realized outcomes Downside-only calibration and evolving Trader Minds

No single agent can create evidence, approve its own risk, and move broker capital. Debate diversity comes from independently routed model roles, while the final mutation boundary remains deterministic and fail-closed.

What is actually implemented

Capability Current state
Opportunity lifecycle Durable Candidates, Opportunities, assessments, debates, ranks, expressions, audits, positions and exits
Autonomous research Multi-lane Scouts with bounded tool use, retries, source health, citation checks and independent abstention
Long-horizon continuity Due-time scheduling, exact-question follow-ups, thesis deadlines and restart-safe work recovery
Portfolio intelligence Stress, underlying, catalyst, Alpha-source and systematic-exposure concentration controls
Expression selection Carrier comparison, price freshness, liquidity, costs, payoff shape and execution reserve
Evaluation Point-in-time forward outcomes, benchmark-relative Alpha, selection adjustment and forecast calibration
Execution Shadow by default; gated Tiger Paper-only intents with authorization generation, lease and reconciliation
Operations One-command console, authenticated API/SSE, live Agent activity, decision ledger, health and control surfaces
Resilience PostgreSQL source of truth, disposable Redis support state, cycle recovery, orphan cleanup and bounded degradation

ALTA deliberately does not claim that these contracts produce Alpha. Its job is to make that claim testable without confusing persuasive model output, backtests, or Shadow marks with real evidence.

Operator console

The bilingual console follows the entire research-to-position path. It shows what each Agent is doing, which tools it used, what changed, why a decision was made, and which authority boundary is active. Secrets are write-only: the UI can report configured/healthy/expired, never reveal a stored value.

Select any screenshot to open the full-size image.

ALTA operator console in English

System health Agent activity
ALTA system overview in English ALTA Agent desk in English
Health and research progress. Roles, tool calls and handoffs.
Decision history Opportunity detail
ALTA decision history in English ALTA opportunity detail in English
Replay the decision trail. Review the thesis and evidence.

Captured from the current production build on September 9, 2026, with the English interface and explicitly labeled, read-only synthetic preview data. No real credentials, account details or market-provider payloads are shown. Agent-authored artifacts retain their original language. After starting the console, append ?preview=1 to its URL to explore this view without starting research or placing orders.

The console is an operational lens, not a performance advertisement. Shadow returns, confidence ranges and model opinions are labeled according to their actual evidence level.

Start with one command

Prerequisites: macOS or Linux, Node.js 22+, Corepack, Python 3.12+, uv, Docker Desktop or Docker Engine, and about 20 GB of free disk space.

git clone https://github.com/kyky2347/ALTA.git
cd ALTA
corepack pnpm install --frozen-lockfile
./alta dashboard

./alta dashboard builds the web console when needed and opens it on a stable loopback endpoint. Re-running the command reuses an installed console instead of creating a confusing second port. From the console, Start prepares the locked Python environment, wakes an installed OrbStack or Docker Desktop on macOS when necessary, starts PostgreSQL and Redis, and brings up the research backend. ALTA never installs a container engine or gains broker authority on its own.

For a deterministic first run with no paid providers:

./alta fixture seed
./alta run --cycle-id first-look

Useful operator commands:

./alta doctor              # dependencies and safe configuration
./alta status              # concise runtime state
./alta service status      # autonomous supervisor state
./alta service start       # continuous Shadow research
./alta service stop        # graceful stop and child cleanup
./alta test                # first-party Node/harness suite

See Getting started for provider setup, environment isolation and clean shutdown.

Modes and authority

Replay fixtures  →  autonomous Shadow  →  explicitly armed Tiger Paper
 deterministic       no broker mutation       Paper account only

Agent-requested size is treated as a proposal. Final whole-share quantity is clipped by deterministic risk, liquidity, broker buying power, concentration, price freshness and current authorization. Every mutation begins as a durable intent and is reconciled after interruption.

Built for interruption

Long-running research fails in less glamorous ways than a model benchmark: power disappears, providers time out, processes overlap, and a thesis can wait weeks for a catalyst. ALTA therefore makes recovery part of the domain model.

flowchart TD
    DB[(PostgreSQL\nsource of truth)] --> Q[Claim or resume cycle]
    Q --> W[Bounded Agent work]
    W --> K[Durable checkpoint]
    K --> H[Heartbeat + lease renewal]
    H -->|healthy| W
    H -->|restart / stale owner| Q
    W --> P{Capital mutation?}
    P -->|no| K
    P -->|yes| I[Persist intent first]
    I --> B[Tiger Paper boundary]
    B --> Z[Reconcile broker + ledger]
    Z --> K

Key properties:

The console retains its last valid snapshot through malformed responses and connection failures. Late polls cannot overwrite acknowledged operator changes; cached opportunity freshness is rechecked on every read. See the local reliability review for verification scope and remaining limitations.

These are strong local-runtime contracts, not a claim of exchange-grade or bank-grade availability. Operational assumptions and remaining limitations are kept explicit in the runbook.

Evidence before performance

ALTA's research loop is designed to reduce common sources of imaginary edge:

  1. Every claim keeps source and observation lineage.
  2. Discovery, debate, expression and audit are separate decisions.
  3. Point-in-time evaluation uses completed market sessions and frozen forecasts.
  4. Trial volume is recorded so selection-adjusted confidence can be shown.
  5. Comparable closes feed forecast and execution-cost calibration.
  6. Calibration can only reduce new risk; it cannot manufacture expected return.
  7. Shadow evidence and Paper fills remain clearly separated from live results.

The intended edge comes from breadth of search, independent disagreement, cross-domain clue synthesis, better expression, disciplined abstention and a durable learning record—not from asking one model for a ticker.

Verified, not promised

The release baseline remains 0.26.0; newer changes are recorded under Unreleased. The September 9 local review verified:

Automated checks Browser and integration checks
644 passed: 201 Node · 386 runtime · 38 Paper boundary · 19 dashboard 84 view/language/viewport combinations in Chromium
TypeScript, lint, formatting and production build passed 7 authenticated read routes through PostgreSQL, Python and the Node gateway
Recovery and freshness regression coverage Disconnect/reconnect, malformed responses, delayed polls and bounded secure-session retry

The real-stack smoke was read-only, with autonomous research and Tiger disabled. Temporary services and test data stores were stopped afterward. These results do not establish current broker connectivity, multi-day availability, physical power-loss recovery, universal browser compatibility or profitable Alpha. See the reliability review for limits and the publication security audit for scan scope.

Repository map

.
├── alta                         project-local operator command
├── alta-dashboard/              bilingual React operator console
├── alta-src/                    Node gateway, launch control and bounded tools
├── alta-runtime/
│   ├── python/                  Opportunity OS, orchestration, API and SSE
│   ├── capital-python/          isolated Tiger Paper-only executor
│   └── compose.yaml             loopback PostgreSQL and Redis
├── vendor/openai-codex/         pinned, attributed Codex Rust substrate
└── docs/                        architecture, operations, audits and roadmap

PostgreSQL is the system of record. Redis is disposable support state. ALTA-owned application behavior stays outside vendor/openai-codex/ whenever practical.

License and provenance

ALTA-authored source is licensed under the Apache License 2.0. Vendored and package-managed dependencies retain their own licenses, copyright notices and terms.

ALTA includes a modified Apache-2.0 snapshot of OpenAI Codex at a pinned commit as its local App Server and Agent-harness substrate. Modified files, retained notices, package dependencies, API-only integrations and conceptual references are listed in ATTRIBUTION.md and vendor/openai-codex/CHANGES.md.

ALTA is independently maintained. It is not an OpenAI product, is not endorsed by any named data or brokerage provider, and must be used only within the research scope.

ALTA (kyky2347/ALTA)

Searching Database…

1.1K ·GitHub
What is this?ALTA is a research-only multi-agent LLM trading platform that turns weak market signals into evidence-backed opportunities, debates them with independent agent roles, runs them through a separate risk audit, and only ever executes simulated or explicitly authorized paper trades.
Is this a trading bot I can run live, or a research platform?It is a self-hosted research platform with a web console — there is no live-trading mode, only Replay with synthetic data, local Shadow simulation, and an explicitly operator-authorized Tiger Paper path.
How do I start it?Run './alta dashboard', which builds the web console and opens it on a local loopback endpoint; from the console, Start then sets up the locked Python environment, wakes Docker/OrbStack, and brings up PostgreSQL, Redis and the research backend.
What do I need installed before running it?macOS or Linux, Node.js 22+, Corepack, Python 3.12+, uv, Docker Desktop or Docker Engine, and about 20 GB of free disk space.
Can it actually place real trades?No — live trading does not exist. The only execution path is Tiger Paper, gated behind operator authorization, a current preflight, account binding and fresh risk approval, and any mismatched or stale broker state is routed to manual review instead of being guessed through.
Does it run on Windows?No, the stated prerequisites only cover macOS or Linux; Windows is not listed as a supported platform.
Is my data or secrets exposed anywhere?Secrets are write-only in the console — it can only report configured, healthy, or expired status and never reveal a stored value — and the control plane is bound to 127.0.0.1 by default.
What is Shadow mode?Shadow is the default execution mode: it uses real research and market inputs but simulates positions purely locally, so performance can be evaluated honestly before any real (paper) order is ever placed.
What is Tiger Paper?Tiger Paper is the only broker boundary ALTA has — a paper-trading account that requires a valid account, explicit operator authorization, a fresh preflight check, account binding and risk approval before an order can go out, with fail-closed revocation.
How does an idea move through the system?Scouts surface candidates, the Foundry freezes one stable Opportunity, Underwriters build independent bull/bear/catalyst cases, a Research Director ranks the work, an Expression desk picks the instrument, Risk & Audit approves or rejects, and Execution/Monitoring plus a Learning loop close the cycle.
Why not just ask one LLM for a stock pick?ALTA's premise is that a single model's confident prose isn't evidence; it forces independent search, structured disagreement between agent roles, a separate deterministic risk audit, and point-in-time calibrated evaluation before any simulated trade counts as a result.
Creator
kyky2347
Size
24.4 MB
Stars
1.1K
Age
1mo
Commits · 90 Days