v0.1.11
feyninc/chonkiev0.1.11Jul 10, 2026by warren618
AI Summary
This release adds Indian equity as a first-class market, a PIT-safe fundamental factor layer, and an IM channel runtime supporting 16 message adapters. It also completes the scheduled research loop and launches the QVeris premium data track alongside new connectors and tools.
Key Highlights
- Indian equity (NSE/BSE) as a first-class backtesting market
- Fundamental factor layer bringing Alpha Zoo to 460 alphas
- IM channel runtime supporting 16 message adapters
- Scheduled research end-to-end functionality
- Turnover-aware portfolio optimizer
New Features
- IndiaEquityEngine
- Fundamental factor layer (SEC fundamentals)
- IM channel runtime (16 adapters)
- Scheduled research
- QVeris premium data track
- API server modularization
- Trading 212 connector
- Turnover-aware optimizer
- analyze_image vision tool
Full Release Notes
## 🇮🇳 v0.1.11 — India equity, fundamental factors, IM channels + roll-up since 0.1.10 `v0.1.11` is a roll-up of three weeks of work. The headlines: **Indian equity (NSE/BSE) becomes a first-class backtesting market**, a **PIT-safe fundamental factor layer** brings the Alpha Zoo to **460 alphas across 5 families**, the **IM channel runtime** delivers research through 16 message adapters, and **scheduled research runs end to end**. Around them ship an optional **QVeris premium data track**, the completed **`api_server` modularization**, **centralized env config with a CI gate**, a **Trading 212 read-only connector** (11 brokers), a **turnover-aware portfolio optimizer** (5 optimizers), an **`analyze_image` vision tool**, and a long tail of contributor fixes. This release is available on **PyPI**, **ClawHub**, and GitHub Releases. ```bash pip install -U vibe-trading-ai # or uv tool install --reinstall vibe-trading-ai ``` ## Highlights ### 🇮🇳 Indian equity (NSE/BSE) as a first-class market A dedicated `IndiaEquityEngine` (#305, thanks @muku314115) models the market as it actually trades: **T+1 delivery**, no overnight shorts (opt-in intraday), configurable **circuit bands**, 1-share lots, and a config-driven **STT / stamp-duty / exchange / SEBI / GST cost stack**. `.NS`/`.BO` symbols route through `yahoo → yfinance → india_broker → local`, where `india_broker` is an opt-in **read-only Shoonya/Dhan bar bridge**, and 255 alpha101/qlib158 factors are opted into the new `equity_in` universe. Backtest engines: 7 → **8**; market-data sources: 19 free + QVeris = **20**. ### 💎 Fundamental factor layer, Phase 1 — PIT-safe SEC fundamentals SEC company facts now flow into dense daily `fund:*` factor panels the same way price data does — **filed-date anchoring** (you only see what was public that day), a **first-filed restatement policy**, true-quarter `(start, end)` frame selection with **Q4 synthesis** so YTD/annual frames can't contaminate TTM, and rolling TTM aggregation. On top: a `get_fundamentals` tool and 4 quality/value factors in a new `fundamental` zoo family. With the 4 canonical academic alphas from earlier in the cycle (#277, thanks @Robin1987China — Jegadeesh reversal, George–Hwang 52-week high, Amihud illiquidity, Harvey–Siddique co-skewness), the Alpha Zoo grows 452 → **460 across 5 families**. ### 💬 IM channel runtime — research delivery over 16 adapters The same agent session runtime now attaches to **16 built-in message adapters** — WebSocket, Telegram, Slack, Discord, Matrix, WhatsApp, Signal, QQ/NapCat, WeChat/WeCom, Feishu, DingTalk, email, MS Teams, MoChat — dependency-gated with install hints, configurable via `AgentConfig.channels`, and controllable from REST (`/channels/*`), CLI (`vibe-trading channels ...`), and Web Settings, in all 5 UI locales. This release also fixes the first-image papercut: inbound media now lands under `~/.vibe-trading/uploads/<channel>/`, inside the agent's allowed file roots (#465, thanks @fei-moss), and NapCat private messages trigger pairing codes (#463). ### ⏰ Scheduled research, end to end A default-off background executor (`VIBE_TRADING_ENABLE_SCHEDULER`) fires due interval/cron jobs through the session runtime (#278, thanks @mvanhorn), on top of a crash-safe atomic job store, auth-gated `/scheduled-runs` routes (tests in #452, thanks @Robin1987China), a Reports library, and post-backtest attribution. Combined with the Research Autopilot Phase 3 loop closure (#267, thanks @Robin1987China) — `scaffold_signal_engine` → `link_autopilot_backtest` — hypothesis → signal-engine → backtest → schedule now runs without a human in the middle. ### 💰 Optional QVeris premium data track The 19 free sources stay the default. An **explicit-only** paid mode (Settings → QVeris or `vibe-trading data mode paid`) unlocks 63+ providers behind 3 key-gated tools (`qveris_search` / `qveris_inspect` / `qveris_execute`) with preview-by-default and a session budget gate. QVeris never enters auto-fallback: no key, no cost, no surprise. ### 🧰 Platform & safety - **`api_server` modularization completed** — 1,103 → 371 lines (#424 closing #331, thanks @shadowinlife) after a cycle of route slices. - **Centralized env config** — one Pydantic `EnvConfig` schema + an AST CI gate that rejects raw `os.getenv` outside the config layer (#440, thanks @shadowinlife). - **Trading 212 read-only connector** (#321, thanks @mvanhorn) — 11 brokers. No runtime paper/live discriminator → `place_order`/`cancel_order` hard-refuse every order, paper included. Plus an opt-in `PreTradeAdvisoryInterface` that records advisory reviews without bypassing the mandate gate. - **Security**: loopback CSRF protection (#293), SSRF-guard hardening for CGNAT/mesh ranges (#389), Pillow/langchain CVE floor bumps (#390), tightened dev defaults. - **Turnover-aware optimizer** (#466, thanks @Robin1987China) — 5th optimizer: mean-variance utility with an L1 penalty on weight changes, so the portfolio trades only when improvement outweighs churn. - **`analyze_image` vision tool** (#464, thanks @fei-moss) — semantic chart/screenshot reads through the session model (vision-capable model required). Tools: **72 free-mode / 75 with QVeris**. - **Manifest count guards** (#461, thanks @asahikiko) — packaged SKILL.md capability counts are now asserted against source in CI. ### 🙌 Contributor cycle 60 contributor-authored PRs merged since 0.1.10 (73 total). Full per-person credits live in the README Contributors section and the [CHANGELOG](https://github.com/HKUDS/Vibe-Trading/blob/main/CHANGELOG.md) — highlights: @shadowinlife (12 PRs incl. the api_server capstone), @Robin1987China (autopilot P3, academic alphas, shadow-account conditions, turnover optimizer), @muku314115 (India equity), @mvanhorn (scheduler, Trading 212), @fei-moss (vision tool + IM fixes), @sambazhu (value-investing toolkit), and many more. **Numbers at 0.1.11**: 8 backtest engines · 460 alphas / 5 families · 86 skills · 30 swarm presets · 20 data sources · 72 free tools (75 paid) · 54 MCP tools · 11 broker connectors · 16 IM adapters · 5 optimizers.