mrkeyoor.com_
Wed 16 Sept 23:57 UTC
AI Toolsevaluationupdated 26 Aug 2026

Vibe-Trading review

Vibe-Trading is a Python research workspace that connects an AI agent to market-data loaders, backtests, portfolio analysis, reports, broker journals, finance tools, and optional broker connectors. It helps turn a plain-language trading question into inspectable code and artifacts, while also exposing research tools through a CLI, web app, REST API, messaging channels, and MCP.

+446stars / 7d
Verdict

Our Vibe-Trading run passed 11,133 of 11,134 tests, with the only failure caused by a missing passwd entry for container UID 1000. That is strong evidence for its research code, and none for expected returns or safe live execution. Use it for local research, backtesting, and read-only portfolio work; keep real-money connectors off until you have independently tested restart recovery, mandate enforcement, data gaps, and every broker path you intend to authorize.

We ran it

Lab card: what happened when we ran Vibe-TradingScreenshot of Vibe-Trading (vibetrading.wiki)
Install✓ · 62s210 packages · 794 MB
Build✓ · 10s
Tests✗ · 728s11133 passed · 1 failed · 93 skipped of 11134 (pytest)
Known vulns0(pip-audit)
Repo2355 files~406,364 lines of source · 64.2 MB · 5 CI workflows · Dockerfile

Answers from our run

Does Vibe-Trading build from source?

Dependencies installed in 62 seconds (210 packages), and the build succeeded in 10 seconds. We cloned commit 67e562a into a clean Debian container with 3 CPUs and no project-specific setup.

Do Vibe-Trading's tests pass?

Not all of them: 11133 of 11134 passed and 1 failed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does Vibe-Trading have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use Vibe-Trading?

Anyone seeking investment advice or a profitable strategy in a box: the README calls this research software and says past performance does not guarantee future results.

What are the alternatives to Vibe-Trading?

Qlib, vn.py, Freqtrade. Our Vibe-Trading run passed 11,133 of 11,134 tests, with the only failure caused by a missing passwd entry for container UID 1000.

Setup3/5Package installs cleanly; useful workflows need several services
Docs5/5Detailed setup, data, broker, safety, MCP, and workflow material
Community5/5Daily fixes and unusually specific public change notes
Maturity3/5Huge passing suite, with live-broker recovery still changing

Discussed on

  1. hn"Vibe-Trading: Your Personal Trading Agent"6 points

Who it’s for

Quant-minded developers who want one local workspace for market research, backtests, and reports.
Researchers comparing strategies across equities, crypto, futures, forex, or options with explicit data provenance.
Traders who want read-only portfolio aggregation or analysis of their own broker journal.
Agent builders who need finance tools through MCP and are prepared to audit data, generated code, and credentials.

Who it’s NOT for

Anyone seeking investment advice or a profitable strategy in a box: the README calls this research software and says past performance does not guarantee future results.
Users ready to grant live-trading access after a demo: August fixes closed exposure and rejected-API fail-opens, while current pull requests address Alpaca submission and fill recovery across restarts.
Researchers who cannot inspect data provenance and point-in-time behavior: the changelog records past errors involving adjusted prices, halted bars, missing data, wrong expirations, and cross-validation purging.
People wanting a small offline assistant: our install pulled 210 packages and used 794 MB, while many useful paths need an LLM key, market source, OCR service, or broker connection.
Teams that need every supported market and broker to behave identically: the README documents different read, paper, and live capabilities plus provider-specific guards.

Setup reality

Our sandbox installed 210 Python packages in 62 seconds and used 794 MB, then built in 10 seconds. Pytest ran for 728 seconds: 11,133 passed, 93 skipped, and 1 of 11,134 failed. The failure was test_logs_redacted_label_not_path, ending in KeyError: 'getpwuid(): uid not found: 1000'. Pip-audit found 0 known vulnerabilities.

The basic package needs Python 3.11 or newer and an LLM provider for agent work; the web path adds the frontend, and Docker Compose is available. Useful data ranges from no-key public loaders to token-backed services. Broker and messaging integrations add OAuth, local gateways, account credentials, or webhooks. Generated backtests run as local subprocesses, while broker secrets and live toggles are excluded from that environment by default.

It is a research workbench with optional execution

Vibe-Trading connects natural-language requests to market data, finance functions, backtest engines, documents, reports, persistent memory, and agent teams. A user can ask for a strategy study, inspect its code and metrics, export artifacts, compare a broker journal with rule-based behavior, or query a read-only portfolio. The same runtime appears in a terminal, web interface, REST service, messaging integrations, and an MCP server.

The scope reaches much further than a chat wrapper. The README lists loaders for several equity markets, crypto, futures, forex, and options, alongside 74 MCP tools and 90 finance skills. Those are project claims and interfaces, not evidence that every data source is equally accurate. A correct result still depends on symbol mapping, adjustment policy, market calendar, data freshness, fees, slippage, and the assumptions inside the selected engine.

Backtests produce artifacts you can challenge

A run can return strategy code, metrics, benchmark context, validation output, run cards, and reports. The project includes walk-forward analysis, Monte Carlo and bootstrap methods, point-in-time data handling, alpha comparisons, portfolio risk views, and a Shadow Account path for studying real trade journals. Reports are more useful when they retain inputs and decisions rather than reducing a run to one Sharpe ratio.

Recent change notes show why inspection matters. Earlier code had treated some halted periods as 0% returns, mixed adjusted and raw price assumptions, selected a wrong options expiration while returning success, and purged too much training data between non-contiguous test blocks. The maintainers describe fixes and regression coverage. That transparency is good; it also means users should never accept an attractive chart without checking the data window, trades, costs, and validation artifacts.

What happened when we ran it

Our sandbox installed 210 packages in 62 seconds, consuming 794 MB, and completed the build in 10 seconds. The checkout contained 2,355 files and about 406,364 lines of source. Pip-audit reported 0 known vulnerabilities. The repository had 5 CI workflow files, a Dockerfile, and a Compose file; the harness did not detect a conventional top-level tests directory.

Pytest ran for 728 seconds. It reported 11,133 passes, 93 skips, and 1 failure out of 11,134 tests, plus 1,509 warnings. The failed test checked a redacted log label and ended with KeyError: 'getpwuid(): uid not found: 1000'. That exact error says the container user lacked a passwd lookup entry. It does not show a trading calculation, data loader, or broker operation failing.

This is an unusually large passing result, but its boundary is code behavior under the suite. Our run did not connect a real brokerage account, place an order, prove market-data accuracy, or measure strategy performance. We also ran no investment benchmark. Treat the 11,133 passes as evidence of engineering effort and broad regression coverage, not a conversion into financial confidence.

Data fallback helps availability and complicates provenance

The loader registry can route symbols across public and credentialed sources, with per-market fallback chains. That improves the chance of getting data when a source is throttled or unavailable. It can also make two runs differ if the first provider succeeds one day and the second provider supplies the series later. The project includes provenance and validation mechanisms, which must remain attached to the result.

A serious study should pin the source, adjustment mode, interval, timezone, and retrieval date. Save raw inputs or a content hash where licensing permits. Check missing bars and corporate actions before running a strategy. With 210 installed packages and many optional provider extras, environment pinning matters too. A report that cannot identify its exact data and code state is difficult to reproduce, however polished its HTML looks.

Read-only portfolios are the safer broker feature

The portfolio page aggregates selected read-only connector profiles into immutable snapshots. Failed sources are excluded rather than carried forward, and incomplete totals are marked. Custom connector manifests declaring write access are rejected on that path, while credentials can go into the operating-system keyring. This is a useful boundary for holdings, risk views, history, and CSV export.

Live execution is a separate decision. The README describes user-defined mandates, symbol and exposure limits, daily caps, structural paper-versus-live checks, an audit ledger, and a kill switch. It also labels broker trading experimental. August 25 work included fixes for Alpaca order ownership, exact fill recovery after restart, and an exposure-sign error that had weakened a limit. Safety controls are meaningful only after their failure cases have been tested on the exact connector.

Generated code remains local code

Backtest code runs in a local Python subprocess. The documented environment keeps selected market-data credentials while excluding LLM keys, API authentication tokens, broker secrets, shell switches, and live toggles. Earlier security work blocked generated strategies from importing broker layers or reaching network and process modules through renamed bindings. Those are sensible separations for AI-produced code.

They do not make arbitrary generated Python harmless. Run research under a dedicated account or container, restrict writable paths and network access, inspect dependency additions, and review code before reuse. Document and image uploads may carry private portfolio information. Messaging integrations spread that surface to chat systems and webhooks, so each channel needs its own authentication, recipient checks, retention policy, and redaction test.

Active maintenance is focused on correctness

Version 0.1.14 was released on 2026-08-20, and the last push was 2026-08-25. GitHub showed 32 open issues and pull requests combined. Same-day work covered streamed token accounting, provider parameters, forex metal sizing, market-data arbitration, and several Alpaca restart cases. The changelog often names the faulty assumption and its consequence, which is far more useful than a list of generic improvements.

Vibe-Trading earns a recommendation as a research environment for developers who will examine its evidence. The MIT license, broad interfaces, and 11,133 passing tests make experimentation credible. Live capital requires another standard. Keep execution disabled, begin with read-only data and paper accounts, reproduce important calculations independently, and authorize one constrained broker path only after its recovery and kill behavior survives deliberate failure testing.

Alternatives

ProjectWhat it isPick it when
Qlib gh↗A quantitative research platform centered on machine-learning workflows and market experiments.pick this instead when repeatable ML research and datasets matter more than a conversational multi-tool agent.
vn.pyA Python quantitative trading platform with gateways, engines, and live-trading infrastructure.pick this instead when broker execution architecture and event-driven trading are the primary requirements.
Freqtrade gh↗A cryptocurrency trading bot with backtesting, optimization, dry-run, and live modes.pick this instead when the scope is crypto strategies and you want a narrower bot with established operational controls.

What people are saying

  1. [github-trending] HKUDS/Vibe-Trading

Sources

  1. Vibe-Trading README
  2. Vibe-Trading repository
  3. Vibe-Trading v0.1.14
  4. Current Vibe-Trading issues
  5. Live gate audit roadmap

More ai tools reviews

eve · MemOS · LongCat-Video · Concat · DLSS5-Feeder · Concat · the whole board →