Repository iconcurepo.dev
Vibe-Trading preview

HKUDS / Vibe-Trading

ai-agentalgorithmic-tradingbacktestingfintech

"Vibe-Trading: Your Personal Trading Agent"

31.7k Stars
visibility171 Watchers
fork_right5.2k Forks
Python
historyUpdated recently

description README.md

English | 中文 | 日本語 | 한국어 | العربية | Español

Vibe-Trading Logo

Vibe-Trading: Your Personal Trading Agent

One Command to Empower Your Agent with Comprehensive Trading Capabilities

HKUDS%2FVibe-Trading | Trendshift

Python FastAPI React PyPI License
Feishu WeChat Discord

Website  ·  Docs  ·  News  ·  Features  ·  Shadow Account  ·  Demo  ·  Quick Start  ·  Examples  ·  API / MCP  ·  Roadmap  ·  Contributing

pip install vibe-trading-ai


📰 News

⚠️ Security warning: The X account VibeTrading_HKU, Virtuals project 101845, and token contract 0x640BDBF77b6447E8b7DB7894cED84BD1c40571f4 are not official Vibe-Trading assets. We have never launched or endorsed any token or memecoin. Do not buy, connect a wallet, or sign anything. Details.

  • 2026-08-25 🛡️ Two live-gate fail-opens closed, and purged CV stops wiping the training set between test blocks: Alpaca shorts booked as positive exposure (qty is a magnitude, direction lives in side), so selling more loosened max_total_exposure_usd instead of tightening it — quantity is now signed on both the TAP JSON and direct-SDK paths (#1209); OKX/Futu reads flattened a rejected API call into "empty book, status: ok", letting the mandate gate evaluate limits against nothing — they now return the error envelope the gate fails closed on (#1212). Both are Phase 0 of the audit roadmap in #1207. Fixed: combinatorial purged CV treated non-contiguous test blocks as one span, purging every training observation between them; segments now purge individually and an emptied fold raises (#1204); the credit-risk functions refuse NaN/inf inputs instead of returning NaN scores or a "grey" verdict (#1215, closes #1214). New: swarm workers retry with capped equal-jitter backoff (#1210, toward #1208), and vibe-trading --swarm-retry <run_id> / /swarm retry reruns a failed run, keeping completed tasks with --resume (#1194). Thanks @he-yufeng, @santhreal, @Robin1987China, @pengpengyi92, and @SiMinus!
  • 2026-08-24 🔗 IBKR's official MCP goes from "lists tools" to a working read-only portfolio source, and scheduling gets an agent tool that cannot act alone: #1178 fixed the URL, but IBKR's gateway still rejected FastMCP's stock OAuth client registration before login. An IBKR-scoped OAuth provider — browser-profile headers, token_endpoint_auth_method: none, a stable callback port, and stale-registration recovery, applied only when the MCP host is api.ibkr.com — completes authorization (#1186), and the live-account-verified get_account_summary / get_account_positions tools now back the generic account/position reads, making ibkr-live-official-mcp-readonly an eligible /portfolio source (#1190, closes #1126). New: the agent sees exactly one scheduling tool, scheduled_research — its propose_create/propose_cancel never touch the job store until you confirm on the surface you are on (Web card, CLI y/N, or an exact confirm/确认 reply in IM), delivery targets are opaque operator-configured refs that never expose a raw chat/user id, and a job past its end_at expires instead of firing again (#1187). Fixed: the comps and three-statement engines now refuse non-finite inputs everywhere they enter the arithmetic — a NaN peer metric had been included in the multiple distribution and dragged the median to NaN, and abs(nan) > tolerance is False, so a NaN balance sheet sailed through the hard balance check (#1184, closes #1183); get_market_data validates codes, dates, source and interval before burning the loader fallback chain on a malformed call, and its source enum stopped silently rejecting six registered loaders (#1185); Feishu QR login now persists the app credentials it receives exactly once — atomically, owner-only — instead of reporting a success that did not survive the process (#1188); the risk-analysis skill doc's historical-VaR order statistic now matches the code (#1189). Thanks @sykuang, @goatyyc, @AirHua-byte, @Robin1987China, @cgycorey, and @youngjincho02-arch!
  • 2026-08-23 🔌 The IBKR MCP seed named the wrong URL, and closing one LLM adapter closed them all: The seeded official IBKR read-only MCP profile, the README and SKILL.md all pointed at https://api.ibkr.com/v1/api/mcp; IBKR's own AI-integra