Skip to content
scsiwygest. ‘26
Sign in
get startedmcpcommunityapiplaygroundswaggersign insign up
forge·EXP-0015 — HKUDS Vibe-Trading: a personal trading agent with 79 finance skills, on PyPI25 Jun 2026David Olsson
forge

EXP-0015 — HKUDS Vibe-Trading: a personal trading agent with 79 finance skills, on PyPI

David OlssonDavid Olsson

Imagine you wanted to test a trading strategy — buy this stock when its 50-day average crosses above its 200-day average, sell when X happens, that kind of thing — and you wanted to see historically whether the rule would have made or lost money over the last decade. That's called backtesting. Doing it properly is hard: you need clean market data, a faithful simulator, a way to score the result against benchmarks, and ideally a way to compare your idea against the hundreds of well-known "alphas" (named patterns that have been published in finance journals over the years).

Vibe-Trading is an open-source toolkit built by HKUDS — the Data Science group at the University of Hong Kong — that bundles all of that into one Python package. It's MIT-licensed, on PyPI as vibe-trading-ai, ships with 18 market-data sources (Yahoo, Tushare, akshare, CCXT for crypto, etc.), 79 specialized finance skills, 452 pre-built alpha factors, 7 backtest engines, and a 29-team multi-agent swarm for running research overnight. The CLI is vibe-trading; the MCP server is vibe-trading-mcp for plugging into Claude Desktop, Cursor, or any other agent.

Forge is our experiment harness. It pip-installed the package in a clean Python 3.12 container and confirmed every piece is wired correctly — the package imports, the CLI exposes the documented twelve sub-commands, and the agent/SKILL.md shipped by the project uses the same skill-file convention forge does (one more data point on industry convergence around that pattern). We did not run live trades — Vibe-Trading talks to real brokers and real exchanges and that's not what the sandbox is for. But the bench-able layers all check out.


Status: experimented, result strong. PyPI install clean (pip install vibe-trading-ai → v0.1.10). CLI exposes 12 top-level subcommands. Package imports cleanly. Upstream ships a 79-skill toolkit, 452 pre-built alphas, 18 market-data sources, 10 broker connectors, MCP support, and a 29-team multi-agent swarm.

This is a forge writeup of HKUDS/Vibe-Trading at PyPI v0.1.10. The README opens: "One Command to Empower Your Agent with Comprehensive Trading Capabilities."

TL;DR

  • License: MIT, HKUDS (Hong Kong Data Science group).
  • Install: pip install vibe-trading-ai clean. PyPI package vibe-trading-ai; repo HKUDS/Vibe-Trading.
  • CLI subcommands (12): run, serve, provider, list, show, chat, init, memory, connector, alpha, hypothesis — covering prompt-driven research, the FastAPI web server, OAuth provider setup, run history, interactive chat, env init, persistent memory inspection, broker connector management, the Alpha Zoo, and hypothesis tracking.
  • MCP integration: ships vibe-trading-mcp command for Claude Desktop / Cursor / OpenClaw and other MCP-aware clients.
  • Convention: the project's agent/SKILL.md uses the same frontmatter convention (name, version, description, dependencies, env, mcp: block) we use in forge's own skill ecosystem.

What it is

Vibe-Trading positions itself as a "personal trading agent" — a Python package + CLI + FastAPI service + MCP server that lets a developer (or an AI coding agent) do real finance research locally. Headline capabilities, per the project's SKILL.md:

  • 7 backtest engines with benchmark comparison panels.
  • Factor analysis + the Alpha Zoo of 452 pre-built alphas across four families: qlib158 (Alibaba QLib), alpha101 (WorldQuant), gtja191 (Guotai Junan), and academic covering published papers like Jegadeesh reversal, George-Hwang 52-week-high, Amihud illiquidity, Harvey-Siddique skew.
  • 18 market-data sources: tushare, yfinance, okx, akshare, baostock, tencent, mootdx, ccxt, futu, local, eastmoney, sina, stooq, yahoo, plus optional-key Finnhub / Alpha Vantage / Tiingo / FMP.
  • 79 specialized finance skills + a 29-team multi-agent swarm (run_swarm).
  • Trade Journal analyzer + a "Shadow Account" loop — extract your implicit trading rules from a journal, backtest them across A股 / 港股 / 美股 / crypto, then show where they would have served you better.
  • 10 broker connectors via OAuth (the connector subcommand).

Coverage spans Chinese A-shares, Hong Kong, US, and crypto.

How forge bench-tested it

Forge's sandbox is no-secrets by design. We cannot run a live backtest against tushare (free token required), nor exercise connector authorize (real broker OAuth flow), nor run run_swarm (OpenAI-compatible API key required). What forge can do is confirm the package's installation surface and CLI surface match what the project advertises.

bash
pip install vibe-trading-ai
# v0.1.10 installed

python -c "import importlib.metadata; print(importlib.metadata.version('vibe-trading-ai'))"
# 0.1.10

vibe-trading --help
# usage: vibe-trading [-h] {run,serve,provider,list,show,chat,init,memory,connector,alpha,hypothesis} ...

All twelve documented subcommands appear. Install pulled the full dep graph (LangChain 1.x, LangGraph, FastAPI, pandas, scipy, scikit-learn, yfinance, ccxt, tushare, akshare, etc.) without conflict. Every layer below the data and key boundary is functional.

The SKILL.md convergence

The agent/SKILL.md shipped in the repo is structurally identical to the convention forge uses:

yaml
---
name: vibe-trading
version: 0.1.10
description: Professional finance research toolkit 
dependencies:
  python: ">=3.11"
  pip:
    - vibe-trading-ai
env:
  - name: TUSHARE_TOKEN
    ...
mcp:
  command: vibe-trading-mcp
  args: []
---

This is now visible across enough projects that it's no longer noteworthy as "convergence" — it's the convention. Karpathy's program.md (EXP-0009), GitHub Spec Kit's AGENTS.md (EXP-0012), Anthropic skills, forge's SKILL.md, and now HKUDS's agent/SKILL.md all share the same shape.

What forge could not bench

Three things, all reasonable follow-ups on a credentialed machine:

  1. A live backtest run. Worth a separate experiment with a tushare or yfinance session.
  2. The Alpha Zoo benchmarking flow. alpha bench + alpha compare are the headline workflows; they need data and produce comparative metrics.
  3. The MCP integration. Plugging vibe-trading-mcp into Claude Desktop and running an agent-driven research session is the most realistic test of the project's value claim.

Comparables

ProjectPosture
microsoft/qlibIndustrial-strength quant research platform. Heavier, lower-level. Vibe-Trading borrows the qlib158 alpha set from here.
zipline-live2/zipline-reloadedCanonical Python backtester, post-Quantopian. No agent integration.
backtrader/backtraderOlder Python backtester, broad community. Single-engine.
OpenBB-finance/OpenBB"Bloomberg-killer" terminal. Different category.

The distinctive thing is the agent surface: it's the only one designed from the ground up to be driven by an AI coding agent (CLI, FastAPI, or MCP), with the Shadow Account loop as a novel UX — your journal becomes data the agent learns rules from.

Reproducibility

upstream repohttps://github.com/HKUDS/Vibe-Trading
PyPI packagevibe-trading-ai v0.1.10
licenseMIT
base imagepython:3.12
installpip install vibe-trading-ai — exit 0
smoke probevibe-trading --help — 12 subcommands listed
MCP entry pointvibe-trading-mcp

Companion gist holds the install log, the env manifest, and the upstream SKILL.md.

See also


Built and verified by forge. Install + CLI surface verified; live backtests, MCP integration, and the Alpha Zoo bench are documented follow-ups that need credentials.

Companion gist

Share
𝕏 Post