From 07e1adcbba4c48e67aa8c4f39c4b0f2c0a51865f Mon Sep 17 00:00:00 2001 From: Haozhe Wu Date: Sun, 17 May 2026 20:19:04 +0800 Subject: [PATCH] chore(0.1.8): version, CHANGELOG, packaging, News across 5 READMEs, SKILL.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Release prep for Alpha Zoo v1. Wraps up the 0.1.8 main-branch content so PyPI + ClawHub publish can run from a clean checkout. Version - pyproject.toml: 0.1.7 → 0.1.8 - wiki/docs/content.js: DOCS_DEFAULT_VERSION 0.1.7 → 0.1.8 + 0.1.7 retained in the version dropdown - agent/SKILL.md frontmatter: 0.1.7 → 0.1.8 Packaging - pyproject.toml [tool.setuptools.package-data] adds the new src.factors zoo asset globs (zoo/**/*.yaml, zoo/**/*.md, zoo/**/NOTICE) alongside the existing src and backtest entries - MANIFEST.in adds `recursive-include agent/src/factors *.yaml *.md` and `include NOTICE` CHANGELOG.md (first changelog file in the repo) - Full 0.1.8 entry covering the Alpha Zoo (4 zoos × 452 alphas), Web UI + 4 REST routes, CLI subcommand suite, safety floor (AST purity gate + lookahead test + pytest-socket + grep gates), community governance (CONTRIBUTING + DCO + NOTICE + per-zoo LICENSE.md), and the IC/IR core extraction. - Known limitations subsection: btc-usdt is single-asset; cross- sectional IC needs ≥2 instruments; crypto-majors basket planned for 0.2. - [Unreleased] anchor at top for the next cycle. agent/SKILL.md (ClawHub package descriptor) - Frontmatter description gains Alpha Zoo + 75 skills (was 74) - New `### Alpha Zoo (452 pre-built alphas)` section with the 4-zoo breakdown + CLI / REST / signal-engine entry points - Skill count 74 → 75 wherever it appears - Trademarked-name string intentionally absent (CI gate b enforces) 5 READMEs (EN/ZH/JA/KO/AR) per `docs/alpha-zoo/readme-update-spec.md` - Roadmap: Alpha Zoo `Planned` → `Shipped 0.1.8` with expanded description (452 alphas, 4 zoo sources, CLI + agent + Web UI) - Skill count 74 → 75 (Tool category 10 → 11, `alpha-zoo` added) - Agent tools count 29 → 31 (alpha_zoo_tool, alpha_bench_tool) - Project structure tree: new `factors/` block (base / registry / bench_runner / zoo), new `api/` block (alpha_routes), new top-level `tools/` block (ci_grep_gates.sh). Frontend pages list expanded (AlphaZoo, Correlation, Settings) - Quick Example: second snippet showing `alpha bench` one-liner - New "What You Can Do" row for the bench-a-pre-built-alpha-zoo path - New `
` block under Detailed Capabilities listing the 4 zoos + counts + sources + license stance - Examples → Strategy & Backtesting: 3 snippets (bench, list+show, multi-factor compose via ZooSignalEngine.from_zoo) - API Server route table: 4 `/alpha/*` rows (list, get, bench, bench stream SSE) - CLI Reference: alpha subcommand introduced in the top block; single-run examples block extended with 3 alpha commands `### Key Features` 4-card grid (#7) and Demo section (#13) are intentionally NOT touched here — they need layout redesign + new GIFs/screenshots; design notes in docs/alpha-zoo/readme-redesign-7-13.md will be implemented in a follow-up PR. 969 tests pass; CI grep gates green (no yaml.load misuse, no trademarked-name leak, no per-stock-code data in wiki); TypeScript clean on the frontend. --- CHANGELOG.md | 122 +++++++++++++++++++++++++++++++++ MANIFEST.in | 4 ++ README.md | 94 +++++++++++++++++++++---- README_ar.md | 95 ++++++++++++++++++++++---- README_ja.md | 156 ++++++++++++++++++++++++++++++------------ README_ko.md | 95 ++++++++++++++++++++++---- README_zh.md | 159 ++++++++++++++++++++++++++++++------------- agent/SKILL.md | 23 +++++-- pyproject.toml | 4 +- wiki/docs/content.js | 5 +- 10 files changed, 616 insertions(+), 141 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..bc06c31c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,122 @@ +# Changelog + +All notable changes to Vibe-Trading are documented in this file. +This project adheres to [Semantic Versioning](https://semver.org/). + +## [Unreleased] + +### Added + +### Changed + +### Fixed + +## [0.1.8] — 2026-05-17 + +### Added — Alpha Zoo (450+ pre-built quant alphas) +- `agent/src/factors/` — base operators (`rank`, `scale`, `ts_*`, `delta`, + `decay_linear`, `signed_power`, `safe_div`, market-aware `vwap`) and a + registry that AST-extracts metadata from each alpha module without + importing it. Lookahead is enforced at the operator level + (`delta(d>=1)`), and registry sanity checks reject `+/-inf` and + outputs that are more than 95 % NaN. +- 4 zoos shipping 452 alphas total: + - **qlib158** (154 alphas) — port of Microsoft Qlib's `Alpha158` + feature handler under Apache-2.0, with pinned commit SHA per file. + - **alpha101** (101 alphas) — implementation of Kakushadze (2015) + *"101 Formulaic Alphas"* (arXiv:1601.00991), written from the paper + appendix; the relevant trademarked string is intentionally absent. + - **gtja191** (191 alphas) — implementation of Guotai Junan's 2014 + *"191 Short-period Trading Alpha Factors"* research report. + - **academic** (6 factors) — Fama-French 5 + Carhart momentum, shipped + as honest price-based proxies (not the canonical FF series). +- `vibe-trading alpha {list,show,bench,compare,export-manifest}` CLI + subcommand. `show` and `export-manifest` enforce path-traversal guards. +- New agent tools: `AlphaZooTool` (browse) and `AlphaBenchTool` + (orchestrator with Jinja2 autoescape + strict CSP HTML report). +- `ZooSignalEngine.from_zoo(...)` — composite multi-factor signal engine + with cross-sectional standardisation, weighting, and optional top-N / + bottom-N long-short conversion. +- `wiki/scripts/build_alpha_library.py` — Alpha Library renderer. + Reads `manifest.json` produced by `vibe-trading alpha export-manifest` + and emits 452 per-alpha HTML pages plus 4 per-zoo overviews, each with + `script-src 'none'` CSP. The landing page hydrates per-zoo counts + from `content/index.json`. +- New blog post: *"Which of the 191 GTJA alphas still work in 2026?"* + with aggregate IC statistics, theme breakdown, and the top alphas + that survive eight years of out-of-sample data. + +### Added — Web UI for Alpha Zoo +- New page at `/alpha-zoo` in the Vite + React frontend with three + views: browse (4 zoo cards + filter bar + paginated table), detail + (formula, metadata, collapsible source code), and bench-runner + (form → SSE-streamed progress + Alive/Reversed/Dead stat cards + + Top-5-by-IR table + by-theme breakdown chart). "Alpha Zoo" nav + entry added to the layout. +- Four new REST routes in the FastAPI server: + - `GET /alpha/list` — filterable alpha catalogue + - `GET /alpha/{alpha_id}` — meta + source code + - `POST /alpha/bench` — kicks off a background bench job and + returns a `job_id` + - `GET /alpha/bench/{job_id}/stream` — Server-Sent Events with + `progress`, `result`, `done`, and `error` event types. In-memory + job state with a 1-hour TTL; no Redis/Celery dependency. +- Bench math is refactored into `agent/src/factors/bench_runner.py` + so the CLI driver (`agent/scripts/w4a_run_benches.py`) and the new + API worker share a single implementation. + +### Added — Safety floor +- `agent/tests/factors/test_alpha_purity.py` — AST allowlist scan over + every `zoo/**/*.py` module (whitelist: pandas, numpy, scipy.\*, + `src.factors.base`, `__future__`, `typing`, `math`, `dataclasses`; + banned: `os`, `sys`, `subprocess`, `socket`, `urllib`, `requests`, + `httpx`, `pathlib`, `Path`, `open`, `eval`, `exec`, `compile`, + `__import__`, and `getattr(_, "__*")`). +- `agent/tests/factors/test_lookahead.py` — sentinel future-row + injection on a 300-row synthetic panel; corrupting rows after the + probe must leave the probe value unchanged within 1e-9. +- `tools/ci_grep_gates.sh` — CI gate that rejects `yaml.load(` without + `safe_load`, any trademarked-name leak in shipped artifacts, and any + per-stock-code data leak in `wiki/**/*.{json,csv,html}`. +- `agent/tests/factors/conftest.py` — opt-in `pytest-socket` integration + that hard-fails any test attempting outbound network during the + factors test suite. + +### Added — Community governance +- `CONTRIBUTING.md` — Developer Certificate of Origin sign-off + requirement and a contributor checklist for new alpha PRs (purity, + lookahead, `__alpha_meta__` shape, LaTeX-matches-code, per-zoo + LICENSE.md, DCO). +- `NOTICE` (repo root) — Apache-2.0 attribution for Qlib and a + declaration that the bundled formulas from Kakushadze, GTJA, and the + academic baselines are mathematical content (paper prose, tables, and + figures are not reproduced here). +- Per-zoo `LICENSE.md` for each of `qlib158/`, `alpha101/`, `gtja191/`, + and `academic/`, plus an upstream `NOTICE` for `qlib158/`. + +### Changed +- `agent/src/tools/factor_analysis_tool.py` extracted its IC/IR and + layered-backtest helpers to `agent/src/factors/factor_analysis_core.py` + so the new `alpha_bench_tool` reuses the same maths. Public tool + signature is unchanged; `_compute_ic_series` and `_compute_group_equity` + remain importable as backward-compatible aliases. +- `agent/cli.py` grew by 7 lines to register the `alpha` subcommand; + all handler logic lives in `agent/src/factors/cli_handlers.py`. +- Packaging: `pyproject.toml` now ships `zoo/**/*.yaml`, `zoo/**/*.md`, + and `zoo/**/NOTICE` as package data; `MANIFEST.in` recursively + includes `agent/src/factors`. + +### Known limitations +- The `btc-usdt` universe is single-asset; cross-sectional IC requires + ≥2 instruments, so the bundled `alpha101_btc` bench run returns + alive/reversed/dead = 0/0/0 by construction. Use a multi-symbol crypto + basket (e.g. BTC + ETH + SOL + the top-N perpetuals) for meaningful + cross-sectional results; a curated `crypto-majors` universe is planned + for 0.2. + +### Internal +- `wiki/alpha-library/manifest.json` and `wiki/alpha-library/content/` + are generated artifacts and gitignored. Run + `vibe-trading alpha export-manifest --out wiki/alpha-library/manifest.json + --force` followed by `python wiki/scripts/build_alpha_library.py` to + regenerate the static site. diff --git a/MANIFEST.in b/MANIFEST.in index 26734160..819dfe89 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,5 @@ include LICENSE +include NOTICE include README.md include README_zh.md include README_ja.md @@ -11,6 +12,9 @@ include docker-compose.yml # Developer entry-point template include agent/.env.example +# Alpha Zoo factor metadata and per-zoo LICENSE / NOTICE files +recursive-include agent/src/factors *.yaml *.md + # Tests shipped so dev installs can run `pytest` against the package. # Files prefixed with `_` are local debug scripts kept untracked — keep # them out of the sdist even if present in the working tree. diff --git a/README.md b/README.md index 62730a1d..ec1f0f30 100644 --- a/README.md +++ b/README.md @@ -46,13 +46,14 @@ ## 📰 News +- **2026-05-17** 🧬 **Alpha Zoo v1 (0.1.8)**: 452 pre-built quant alphas across 4 zoos — `qlib158` (Microsoft Qlib, Apache-2 attribution), `alpha101` (Kakushadze 101 Formulaic Alphas, paper rewrite from arXiv:1601.00991), `gtja191` (Guotai Junan 2014 short-horizon factor report), and `academic` (Fama-French 5 + Carhart price-based proxies). One-line CLI to bench any zoo on your universe: `vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025`. Ships with AST purity gate, lookahead-guard test, `pytest-socket` network kill-switch, per-zoo LICENSE.md, and a Developer Certificate of Origin (DCO) workflow for community PRs. Auto-rendered Alpha Library at [vibetrading.wiki/alpha-library/](https://vibetrading.wiki/alpha-library/) + research-lab post [Which of the 191 GTJA alphas still work in 2026?](https://vibetrading.wiki/research-lab/posts/alpha-191-in-2026.html). - **2026-05-16** 🧪 **Research spine update**: Added a backend Hypothesis Registry with `create_hypothesis`, `update_hypothesis`, `link_backtest`, and `search_hypotheses`; external-content readers now attach warning-only `security_warnings`; and Shadow Account scanning now uses deterministic OHLCV feature evaluation instead of the old calendar-phase stub. - **2026-05-15** 🪪 The run detail page now surfaces the Trust Layer run card alongside metrics and artifacts, completing the UI side of the `run_card.json` work landed on 2026-05-12. `PersistentMemory.add()` was also hardened on length, empty/whitespace-only names, and C0/C1 control bytes from the #108/#109/#110 triage ([#112](https://github.com/HKUDS/Vibe-Trading/pull/112), thanks @Teerapat-Vatpitak). -- **2026-05-14** 🌐 the public wiki is now live at [vibetrading.wiki](https://vibetrading.wiki/) with docs, tutorials, Research Lab, and Alpha Library sections deployed through Cloudflare Pages. Persistent memory is also inspectable from the CLI via `vibe-trading memory list/show/search/forget` ([#102](https://github.com/HKUDS/Vibe-Trading/pull/102), thanks @Teerapat-Vatpitak), and memory tokenization/slugs now support Thai, Arabic, Hebrew, and Cyrillic text ([#104](https://github.com/HKUDS/Vibe-Trading/pull/104)).
Earlier news +- **2026-05-14** 🌐 the public wiki is now live at [vibetrading.wiki](https://vibetrading.wiki/) with docs, tutorials, Research Lab, and Alpha Library sections deployed through Cloudflare Pages. Persistent memory is also inspectable from the CLI via `vibe-trading memory list/show/search/forget` ([#102](https://github.com/HKUDS/Vibe-Trading/pull/102), thanks @Teerapat-Vatpitak), and memory tokenization/slugs now support Thai, Arabic, Hebrew, and Cyrillic text ([#104](https://github.com/HKUDS/Vibe-Trading/pull/104)). - **2026-05-13** 🧭 Swarm runs now ground workers with fetched market data and cleaner persisted reports ([#93](https://github.com/HKUDS/Vibe-Trading/pull/93), [#84](https://github.com/HKUDS/Vibe-Trading/pull/84)). - **2026-05-12** 🧾 Backtests now emit `run_card.json` and `run_card.md` alongside artifacts for reproducible research runs. - **2026-05-11** 🧭 **Memory slugs, swarm accounting, and CLI preflight**: Persistent memory now preserves CJK characters when generating file slugs, preventing silent filename collisions for Chinese/Japanese/Korean notes ([#95](https://github.com/HKUDS/Vibe-Trading/pull/95), thanks @voidborne-d). Swarm run totals now prefer provider-reported token usage with the existing estimate fallback ([#94](https://github.com/HKUDS/Vibe-Trading/pull/94), thanks @Teerapat-Vatpitak), and the CLI run UI gained a startup preflight check for common environment issues ([#96](https://github.com/HKUDS/Vibe-Trading/pull/96), thanks @ykykj). @@ -154,6 +155,7 @@ It is designed for research, simulation, and backtesting. It does not execute li | **Improve repeated research** | Persistent memory and editable skills turn useful routines into reusable workflows. | | **Run analyst teams** | Multi-agent research reviews for investment, quant, crypto, macro, and risk workflows. | | **Ship usable artifacts** | Reports, TradingView Pine Script, TDX, MetaTrader 5, MCP tools, and later research sessions. | +| **Bench a pre-built alpha zoo** | One-line IC + alive/reversed/dead categorisation across 452 alphas (Qlib 158 + Kakushadze 101 + GTJA 191 + FF5 + Carhart) on your universe. | --- @@ -161,7 +163,12 @@ It is designed for research, simulation, and backtesting. It does not execute li ```bash pip install vibe-trading-ai + +# Natural-language research vibe-trading run -p "Backtest a BTC-USDT 20/50 moving-average strategy for 2024, summarize return and drawdown, then export the report" + +# Bench a pre-built alpha zoo (one line) +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 ``` ```bash @@ -211,9 +218,9 @@ Most runs follow the same evidence path: route the request, load the right marke Detailed inventories are folded below to keep the main README scannable. Open them when you want to inspect the available building blocks.
-Finance Skill Library 74 skills across 8 categories +Finance Skill Library 75 skills across 8 categories -- 📊 74 specialized finance skills organized into 8 categories +- 📊 75 specialized finance skills organized into 8 categories - 🌐 Complete coverage from traditional markets to crypto & DeFi - 🔬 Comprehensive capabilities spanning data sourcing to quantitative research @@ -225,7 +232,7 @@ Detailed inventories are folded below to keep the main README scannable. Open th | Asset Class | 9 | `options-strategy`, `options-advanced`, `convertible-bond`, `etf-analysis`, `asset-allocation`, `sector-rotation` | | Crypto | 7 | `perp-funding-basis`, `liquidation-heatmap`, `stablecoin-flow`, `defi-yield`, `onchain-analysis` | | Flow | 7 | `hk-connect-flow`, `us-etf-flow`, `edgar-sec-filings`, `financial-statement`, `adr-hshare` | -| Tool | 10 | `backtest-diagnose`, `report-generate`, `pine-script`, `doc-reader`, `web-reader`, `vnpy-export` | +| Tool | 11 | `backtest-diagnose`, `report-generate`, `pine-script`, `doc-reader`, `web-reader`, `vnpy-export`, `alpha-zoo` | | Risk Analysis | 1 | `ashare-pre-st-filter` |
@@ -255,6 +262,26 @@ Detailed inventories are folded below to keep the main README scannable. Open th
+
+Alpha Zoo 452 pre-built quant alphas across 4 zoos + +- 🧬 452 cross-sectional alphas, lookahead-banned at the operator layer +- 📈 IC + IR + alive/reversed/dead categorisation in one CLI command +- 🔬 AST purity gate + 300-row lookahead sentinel test + `pytest-socket` network kill-switch +- 📦 Apache-2 attribution for Qlib; per-zoo `LICENSE.md` declaring formulas as mathematical content +- 🤝 Developer Certificate of Origin (DCO) sign-off workflow for community PRs + +| Zoo | Count | Source | License | +|-----|-------|--------|---------| +| **qlib158** | 154 | Microsoft Qlib `Alpha158` (Apache-2.0, commit-pinned) | Apache-2.0 | +| **alpha101** | 101 | Kakushadze (2015), "101 Formulaic Alphas", arXiv:1601.00991 | Formulas are mathematical content | +| **gtja191** | 191 | Guotai Junan (2014), "191 Short-period Trading Alpha Factors" | Formulas are mathematical content | +| **academic** | 6 | Fama-French 5 + Carhart momentum (price-based proxies) | Public academic literature | + +Run `vibe-trading alpha list` to browse, `vibe-trading alpha show ` for formulas + source, `vibe-trading alpha bench --zoo X --universe Y --period Z` to score a whole zoo. + +
+ ## 🎬 Demo
@@ -436,6 +463,7 @@ The default `agent/.env.example` ships with DeepSeek official API + `deepseek-v4 vibe-trading # interactive TUI vibe-trading run -p "..." # single run vibe-trading serve # API server +vibe-trading alpha list # browse 452 pre-built alphas; show / bench / compare / export-manifest sub-commands available ```
@@ -444,7 +472,7 @@ vibe-trading serve # API server | Command | Description | |---------|-------------| | `/help` | Show all commands | -| `/skills` | List all 74 finance skills | +| `/skills` | List all 75 finance skills | | `/swarm` | List 29 swarm team presets | | `/swarm run [vars_json]` | Run a swarm team with live streaming | | `/swarm list` | Swarm run history | @@ -487,6 +515,12 @@ vibe-trading --continue "refine the strategy" vibe-trading --upload report.pdf ``` +```bash +vibe-trading alpha list --zoo gtja191 --limit 10 +vibe-trading alpha show gtja191_171 +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 +``` +
--- @@ -509,6 +543,25 @@ vibe-trading run -p "Backtest a momentum + value + quality multi-factor strategy vibe-trading --pine ``` +**Bench a pre-built alpha zoo** (one line): +```bash +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 +``` + +**Browse the catalogue** and inspect a single alpha: +```bash +vibe-trading alpha list --zoo gtja191 --theme reversal --limit 10 +vibe-trading alpha show gtja191_171 +``` + +**Compose a multi-factor signal** from the zoo (Python): +```python +from src.skills.multi_factor.zoo_signal_engine import ZooSignalEngine +engine = ZooSignalEngine.from_zoo(["gtja191_171", "gtja191_111", "gtja191_163"]) +panel = ... # your wide OHLCV panel +signal = engine.compute_signal(panel) +``` + ### Market Research ```bash @@ -579,6 +632,10 @@ vibe-trading serve --port 8899 | `GET` | `/swarm/presets` | List swarm presets | | `POST` | `/swarm/runs` | Start swarm run | | `GET` | `/swarm/runs/{id}/events` | Swarm SSE stream | +| `GET` | `/alpha/list` | List alphas (filter by zoo/theme/universe) | +| `GET` | `/alpha/{alpha_id}` | Alpha metadata + source code | +| `POST` | `/alpha/bench` | Start a bench job (returns `job_id`) | +| `GET` | `/alpha/bench/{job_id}/stream` | SSE progress stream | | `GET` | `/settings/llm` | Read Web UI LLM settings | | `PUT` | `/settings/llm` | Update local LLM settings | | `GET` | `/settings/data-sources` | Read local data source settings | @@ -664,7 +721,7 @@ Browse on ClawHub: [clawhub.ai/skills/vibe-trading](https://clawhub.ai/skills/vi
OpenSpace — self-evolving skills -All 74 finance skills are published on [open-space.cloud](https://open-space.cloud) and evolve autonomously through OpenSpace's self-evolution engine. +All 75 finance skills are published on [open-space.cloud](https://open-space.cloud) and evolve autonomously through OpenSpace's self-evolution engine. To use with OpenSpace, add both MCP servers to your agent config: @@ -686,7 +743,7 @@ To use with OpenSpace, add both MCP servers to your agent config: } ``` -OpenSpace will auto-discover all 74 skills, enabling auto-fix, auto-improve, and community sharing. Search for Vibe-Trading skills via `search_skills("finance backtest")` in any OpenSpace-connected agent. +OpenSpace will auto-discover all 75 skills, enabling auto-fix, auto-improve, and community sharing. Search for Vibe-Trading skills via `search_skills("finance backtest")` in any OpenSpace-connected agent.
@@ -789,7 +846,7 @@ Vibe-Trading/ │ │ ├── agent/ # ReAct agent core │ │ │ ├── loop.py # 5-layer compression + read/write tool batching │ │ │ ├── context.py # system prompt + auto-recall from persistent memory -│ │ │ ├── skills.py # skill loader (74 bundled + user-created via CRUD) +│ │ │ ├── skills.py # skill loader (75 bundled + user-created via CRUD) │ │ │ ├── tools.py # tool base class + registry │ │ │ ├── memory.py # lightweight workspace state per run │ │ │ ├── frontmatter.py # shared YAML frontmatter parser @@ -798,16 +855,25 @@ Vibe-Trading/ │ │ ├── memory/ # Cross-session persistent memory │ │ │ └── persistent.py # file-based memory (~/.vibe-trading/memory/) │ │ │ -│ │ ├── tools/ # 29 auto-discovered agent tools +│ │ ├── tools/ # 31 auto-discovered agent tools │ │ │ ├── backtest_tool.py # run backtests │ │ │ ├── remember_tool.py # cross-session memory (save/recall/forget) │ │ │ ├── skill_writer_tool.py # skill CRUD (save/patch/delete/file) │ │ │ ├── session_search_tool.py # FTS5 cross-session search │ │ │ ├── swarm_tool.py # launch swarm teams │ │ │ ├── web_search_tool.py # DuckDuckGo web search -│ │ │ └── ... # bash, file I/O, factor analysis, options, etc. +│ │ │ └── ... # bash, file I/O, factor analysis, options, alpha browser + bench, etc. │ │ │ -│ │ ├── skills/ # 74 finance skills in 8 categories (SKILL.md each) +│ │ ├── factors/ # Alpha Zoo — 452 alphas across 4 zoos +│ │ │ ├── base.py # 19 operators (rank/scale/ts_*/delta/decay_linear/safe_div/vwap) +│ │ │ ├── registry.py # AST-only metadata load + lazy compute + sanity gates +│ │ │ ├── bench_runner.py # IC + alive/reversed/dead categorisation +│ │ │ └── zoo/ # qlib158 (154) + alpha101 (101) + gtja191 (191) + academic (6) +│ │ │ +│ │ ├── api/ # FastAPI route modules +│ │ │ └── alpha_routes.py # /alpha/list, /alpha/{id}, /alpha/bench, SSE stream +│ │ │ +│ │ ├── skills/ # 75 finance skills in 8 categories (SKILL.md each) │ │ ├── swarm/ # Swarm DAG execution engine │ │ │ └── presets/ # 29 swarm preset YAML definitions │ │ ├── session/ # Multi-turn chat + FTS5 session search @@ -822,13 +888,15 @@ Vibe-Trading/ │ ├── frontend/ # Web UI (React 19 + Vite + TypeScript) │ └── src/ -│ ├── pages/ # Home, Agent, RunDetail, Compare +│ ├── pages/ # Home, Agent, AlphaZoo, RunDetail, Compare, Correlation, Settings │ ├── components/ # chat, charts, layout │ └── stores/ # Zustand state management │ ├── Dockerfile # Multi-stage build ├── docker-compose.yml # One-command deploy ├── pyproject.toml # Package config + CLI entrypoint +├── tools/ # Repo-level CI helpers +│ └── ci_grep_gates.sh # rejects yaml.load / trademark / per-stock-data leaks └── LICENSE # MIT ``` @@ -875,7 +943,7 @@ Vibe-Trading is part of the **[HKUDS](https://github.com/HKUDS)** agent ecosyste | **Data Bridge** | Bring-your-own data: local CSV/Parquet/SQL connectors with schema mapping | Planned | | **Options Lab** | Vol surface, Greeks dashboard, payoff/scenario explorer | Planned | | **Portfolio Studio** | Risk x-ray, constraints, turnover-aware optimizer, rebalance notes | Planned | -| **Alpha Zoo** | Alpha101 / Alpha158 / Alpha191 factor libraries with screening + IC tests | Planned | +| **Alpha Zoo** | 452 pre-built alphas (Qlib 158 + Kakushadze 101 + GTJA 191 + FF5 + Carhart) with one-line bench, agent integration, and Web UI | **Shipped 0.1.8** | | **Research Delivery** | Scheduled briefs to Slack / Telegram / email-style channels | Planned | | **Community** | Shareable skills, presets, and strategy cards | Exploring | diff --git a/README_ar.md b/README_ar.md index a8fc9e7b..90c4c903 100644 --- a/README_ar.md +++ b/README_ar.md @@ -46,13 +46,15 @@ ## 📰 الأخبار +- **2026-05-17** 🧬 **Alpha Zoo v1 (0.1.8)**: 452 ألفا كمّي جاهز عبر 4 zoos — `qlib158` (ميزات Alpha158 من Microsoft Qlib، إسناد Apache-2.0)، `alpha101` (إعادة تنفيذ "101 Formulaic Alphas" من Kakushadze بناءً على ورقة arXiv:1601.00991)، `gtja191` (تقرير بحث Guotai Junan 2014 لعوامل تداول قصيرة الأجل)، `academic` (Fama-French 5 + Carhart momentum كـ proxy قائم على الأسعار). سطر أوامر واحد للـ bench على أي universe: `vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025`. تتضمن بوابة AST للنقاء، اختبار حماية lookahead، عزل الشبكة عبر `pytest-socket`، LICENSE.md لكل zoo، وسير عمل توقيع DCO لمساهمات المجتمع. تقديم Alpha Library تلقائياً على [vibetrading.wiki/alpha-library/](https://vibetrading.wiki/alpha-library/)، مع منشور Research Lab [Which of the 191 GTJA alphas still work in 2026?](https://vibetrading.wiki/research-lab/posts/alpha-191-in-2026.html). - **2026-05-16** 🧪 **تحديث عمود البحث**: أضيف backend Hypothesis Registry مع `create_hypothesis` و`update_hypothesis` و`link_backtest` و`search_hypotheses`. تضيف قارئات المحتوى الخارجي الآن `security_warnings` تحذيرية فقط، وانتقل ماسح Shadow Account من calendar-phase stub القديم إلى تقييم حتمي لميزات OHLCV. - **2026-05-15** 🪪 تعرض صفحة تفاصيل الـ run الآن بطاقة Trust Layer run card إلى جانب المقاييس والمخرجات، لتكمل الجانب الواجهي من عمل `run_card.json` الذي هبط في 2026-05-12. كما تم تعزيز `PersistentMemory.add()` على مسارات الطول والأسماء الفارغة أو التي تحتوي على فراغات فقط وبايتات التحكم C0/C1 ضمن فرز #108/#109/#110 ([#112](https://github.com/HKUDS/Vibe-Trading/pull/112)، شكراً @Teerapat-Vatpitak). -- **2026-05-14** 🌐 أصبح الويكي العام متاحاً على [vibetrading.wiki](https://vibetrading.wiki/) مع أقسام docs وtutorials وResearch Lab وAlpha Library، ويُنشر عبر Cloudflare Pages. أصبحت الذاكرة الدائمة أيضاً قابلة للفحص من سطر الأوامر عبر `vibe-trading memory list/show/search/forget` ([#102](https://github.com/HKUDS/Vibe-Trading/pull/102)، شكراً @Teerapat-Vatpitak)، كما يدعم توليد الرموز وslugs للذاكرة الآن التايلاندية والعربية والعبرية والنص السيريلي ([#104](https://github.com/HKUDS/Vibe-Trading/pull/104)).
أخبار سابقة +- **2026-05-14** 🌐 أصبح الويكي العام متاحاً على [vibetrading.wiki](https://vibetrading.wiki/) مع أقسام docs وtutorials وResearch Lab وAlpha Library، ويُنشر عبر Cloudflare Pages. أصبحت الذاكرة الدائمة أيضاً قابلة للفحص من سطر الأوامر عبر `vibe-trading memory list/show/search/forget` ([#102](https://github.com/HKUDS/Vibe-Trading/pull/102)، شكراً @Teerapat-Vatpitak)، كما يدعم توليد الرموز وslugs للذاكرة الآن التايلاندية والعربية والعبرية والنص السيريلي ([#104](https://github.com/HKUDS/Vibe-Trading/pull/104)). + - **2026-05-13** 🧭 أصبحت تشغيلات السرب تؤسس عمل الوكلاء على بيانات سوق مجلوبة مسبقاً، مع تقارير محفوظة أنظف ([#93](https://github.com/HKUDS/Vibe-Trading/pull/93)، [#84](https://github.com/HKUDS/Vibe-Trading/pull/84)). - **2026-05-12** 🧾 أصبحت الاختبارات الرجعية تنتج `run_card.json` و`run_card.md` إلى جانب المخرجات لدعم تشغيلات بحثية قابلة لإعادة الإنتاج. - **2026-05-11** 🧭 **Memory slugs، ومحاسبة السرب، وفحص CLI المسبق**: أصبحت الذاكرة الدائمة تحفظ أحرف CJK عند توليد slugs للملفات، مما يمنع اصطدامات أسماء صامتة لملاحظات الصينية/اليابانية/الكورية ([#95](https://github.com/HKUDS/Vibe-Trading/pull/95)، شكراً @voidborne-d). تفضل مجاميع تشغيل السرب الآن استخدام استهلاك الرموز المبلغ من المزود مع الإبقاء على التقدير الاحتياطي الحالي ([#94](https://github.com/HKUDS/Vibe-Trading/pull/94)، شكراً @Teerapat-Vatpitak)، كما حصلت واجهة تشغيل CLI على فحص بدء مبكر للمشكلات البيئية الشائعة ([#96](https://github.com/HKUDS/Vibe-Trading/pull/96)، شكراً @ykykj). @@ -154,6 +156,7 @@ Vibe-Trading مساحة عمل بحثية مفتوحة المصدر تحول ا | **تحسين الأبحاث المتكررة** | الذاكرة الدائمة والمهارات القابلة للتحرير تحول الروتينات المفيدة إلى تدفقات قابلة لإعادة الاستخدام. | | **تشغيل فرق محللين** | مراجعات بحث متعددة الوكلاء لتدفقات الاستثمار والكم والكريبتو والماكرو والمخاطر. | | **إنتاج مخرجات قابلة للاستخدام** | تقارير، وTradingView Pine Script، وTDX، وMetaTrader 5، وأدوات MCP، وجلسات بحث لاحقة. | +| **bench ألفا zoo جاهزة** | تشغيل IC + IR + تصنيف alive/reversed/dead عبر 452 ألفا (Qlib 158 + Kakushadze 101 + GTJA 191 + FF5 + Carhart) بسطر أوامر واحد على universe الخاص بك. | --- @@ -161,7 +164,12 @@ Vibe-Trading مساحة عمل بحثية مفتوحة المصدر تحول ا ```bash pip install vibe-trading-ai + +# بحث بلغة طبيعية vibe-trading run -p "Backtest a BTC-USDT 20/50 moving-average strategy for 2024, summarize return and drawdown, then export the report" + +# bench لـ alpha zoo جاهز بسطر واحد +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 ``` ```bash @@ -211,9 +219,9 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an القوائم التفصيلية مطوية أدناه حتى يبقى README سهل القراءة. افتحها عندما تريد فحص اللبنات المتاحة.
-مكتبة المهارات المالية 74 مهارة عبر 8 فئات +مكتبة المهارات المالية 75 مهارة عبر 8 فئات -- 📊 74 مهارة مالية متخصصة منظمة في 8 فئات +- 📊 75 مهارة مالية متخصصة منظمة في 8 فئات - 🌐 تغطية كاملة من الأسواق التقليدية إلى الكريبتو وDeFi - 🔬 قدرات شاملة من مصادر البيانات إلى البحث الكمي @@ -225,7 +233,7 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an | Asset Class | 9 | `options-strategy`, `options-advanced`, `convertible-bond`, `etf-analysis`, `asset-allocation`, `sector-rotation` | | Crypto | 7 | `perp-funding-basis`, `liquidation-heatmap`, `stablecoin-flow`, `defi-yield`, `onchain-analysis` | | Flow | 7 | `hk-connect-flow`, `us-etf-flow`, `edgar-sec-filings`, `financial-statement`, `adr-hshare` | -| Tool | 10 | `backtest-diagnose`, `report-generate`, `pine-script`, `doc-reader`, `web-reader`, `vnpy-export` | +| Tool | 11 | `backtest-diagnose`, `report-generate`, `pine-script`, `doc-reader`, `web-reader`, `vnpy-export`, `alpha-zoo` | | Risk Analysis | 1 | `ashare-pre-st-filter` |
@@ -255,6 +263,26 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an
+
+Alpha Zoo 452 ألفا كمّي جاهز عبر 4 zoos + +- 🧬 452 ألفا cross-sectional، مع منع lookahead على طبقة العوامل (operators) +- 📈 IC + IR + تصنيف alive/reversed/dead بأمر CLI واحد +- 🔬 بوابة نقاء AST + اختبار حماية lookahead بـ 300 صف + قاطع شبكة عبر `pytest-socket` +- 📦 إسناد Apache-2 لـ Qlib؛ ملف `LICENSE.md` لكل zoo يصرّح بأن الصيغ محتوى رياضي +- 🤝 سير عمل توقيع Developer Certificate of Origin (DCO) لمساهمات المجتمع + +| Zoo | العدد | المصدر | الرخصة | +|-----|-------|--------|--------| +| **qlib158** | 154 | Microsoft Qlib `Alpha158` (Apache-2.0، مثبّت على commit) | Apache-2.0 | +| **alpha101** | 101 | Kakushadze (2015)، "101 Formulaic Alphas"، arXiv:1601.00991 | الصيغ محتوى رياضي | +| **gtja191** | 191 | Guotai Junan (2014)، "191 Short-period Trading Alpha Factors" | الصيغ محتوى رياضي | +| **academic** | 6 | Fama-French 5 + Carhart momentum (proxy قائم على الأسعار) | أدبيات أكاديمية عامة | + +شغّل `vibe-trading alpha list` للتصفح، و`vibe-trading alpha show ` للحصول على الصيغ + المصدر، و`vibe-trading alpha bench --zoo X --universe Y --period Z` لتقييم zoo كاملة. + +
+ ## 🎬 العرض التوضيحي
@@ -436,6 +464,7 @@ Vibe-Trading وكيل كثيف الأدوات؛ المهارات والاختب vibe-trading # interactive TUI vibe-trading run -p "..." # single run vibe-trading serve # API server +vibe-trading alpha list # استعرض 452 ألفا جاهز؛ متاح show / bench / compare / export-manifest ```
@@ -444,7 +473,7 @@ vibe-trading serve # API server | الأمر | الوصف | |---------|-------------| | `/help` | عرض كل الأوامر | -| `/skills` | عرض كل المهارات المالية الـ 74 | +| `/skills` | عرض كل المهارات المالية الـ 75 | | `/swarm` | عرض إعدادات فرق السرب الـ 29 | | `/swarm run [vars_json]` | تشغيل فريق سرب مع بث مباشر | | `/swarm list` | سجل تشغيلات السرب | @@ -487,6 +516,12 @@ vibe-trading --continue "refine the strategy" vibe-trading --upload report.pdf ``` +```bash +vibe-trading alpha list --zoo gtja191 --limit 10 +vibe-trading alpha show gtja191_171 +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 +``` +
--- @@ -509,6 +544,25 @@ vibe-trading run -p "Backtest a momentum + value + quality multi-factor strategy vibe-trading --pine ``` +**bench ألفا zoo جاهز بسطر واحد**: +```bash +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 +``` + +**استعرض الكتالوج** وافحص ألفا مفردة: +```bash +vibe-trading alpha list --zoo gtja191 --theme reversal --limit 10 +vibe-trading alpha show gtja191_171 +``` + +**ركّب إشارة متعدد العوامل** من ألفات zoo (Python): +```python +from src.skills.multi_factor.zoo_signal_engine import ZooSignalEngine +engine = ZooSignalEngine.from_zoo(["gtja191_171", "gtja191_111", "gtja191_163"]) +panel = ... # your wide OHLCV panel +signal = engine.compute_signal(panel) +``` + ### بحث السوق ```bash @@ -579,6 +633,10 @@ vibe-trading serve --port 8899 | `GET` | `/swarm/presets` | عرض إعدادات السرب | | `POST` | `/swarm/runs` | بدء تشغيل سرب | | `GET` | `/swarm/runs/{id}/events` | بث SSE للسرب | +| `GET` | `/alpha/list` | قائمة ألفات مع تصفية حسب zoo/theme/universe | +| `GET` | `/alpha/{alpha_id}` | بيانات وصفية + الكود المصدري للألفا | +| `POST` | `/alpha/bench` | بدء مهمة bench (يعيد `job_id`) | +| `GET` | `/alpha/bench/{job_id}/stream` | تدفق تقدّم SSE | | `GET` | `/settings/llm` | قراءة إعدادات LLM في Web UI | | `PUT` | `/settings/llm` | تحديث إعدادات LLM المحلية | | `GET` | `/settings/data-sources` | قراءة إعدادات مصادر البيانات المحلية | @@ -664,7 +722,7 @@ npx clawhub@latest install vibe-trading --force
OpenSpace — مهارات ذاتية التطور -كل المهارات المالية الـ 74 منشورة على [open-space.cloud](https://open-space.cloud) وتتطور ذاتياً عبر محرك التطور الذاتي في OpenSpace. +كل المهارات المالية الـ 75 منشورة على [open-space.cloud](https://open-space.cloud) وتتطور ذاتياً عبر محرك التطور الذاتي في OpenSpace. للاستخدام مع OpenSpace، أضف خادمي MCP إلى إعداد وكيلك: @@ -686,7 +744,7 @@ npx clawhub@latest install vibe-trading --force } ``` -سيكتشف OpenSpace كل المهارات الـ 74 تلقائياً، مما يتيح auto-fix وauto-improve والمشاركة المجتمعية. ابحث عن مهارات Vibe-Trading عبر `search_skills("finance backtest")` في أي وكيل متصل بـ OpenSpace. +سيكتشف OpenSpace كل المهارات الـ 75 تلقائياً، مما يتيح auto-fix وauto-improve والمشاركة المجتمعية. ابحث عن مهارات Vibe-Trading عبر `search_skills("finance backtest")` في أي وكيل متصل بـ OpenSpace.
@@ -708,7 +766,7 @@ Vibe-Trading/ │ │ ├── agent/ # ReAct agent core │ │ │ ├── loop.py # 5-layer compression + read/write tool batching │ │ │ ├── context.py # system prompt + auto-recall from persistent memory -│ │ │ ├── skills.py # skill loader (74 bundled + user-created via CRUD) +│ │ │ ├── skills.py # skill loader (75 bundled + user-created via CRUD) │ │ │ ├── tools.py # tool base class + registry │ │ │ ├── memory.py # lightweight workspace state per run │ │ │ ├── frontmatter.py # shared YAML frontmatter parser @@ -717,16 +775,25 @@ Vibe-Trading/ │ │ ├── memory/ # Cross-session persistent memory │ │ │ └── persistent.py # file-based memory (~/.vibe-trading/memory/) │ │ │ -│ │ ├── tools/ # 29 auto-discovered agent tools +│ │ ├── tools/ # 31 auto-discovered agent tools │ │ │ ├── backtest_tool.py # run backtests │ │ │ ├── remember_tool.py # cross-session memory (save/recall/forget) │ │ │ ├── skill_writer_tool.py # skill CRUD (save/patch/delete/file) │ │ │ ├── session_search_tool.py # FTS5 cross-session search │ │ │ ├── swarm_tool.py # launch swarm teams │ │ │ ├── web_search_tool.py # DuckDuckGo web search -│ │ │ └── ... # bash, file I/O, factor analysis, options, etc. +│ │ │ └── ... # bash, file I/O, factor analysis, options, alpha browser + bench, etc. │ │ │ -│ │ ├── skills/ # 74 finance skills in 8 categories (SKILL.md each) +│ │ ├── factors/ # Alpha Zoo — 452 ألفا عبر 4 zoos +│ │ │ ├── base.py # 19 عاملاً (rank/scale/ts_*/delta/decay_linear/safe_div/vwap) +│ │ │ ├── registry.py # تحميل بيانات وصفية AST فقط + حساب كسول + بوابات سلامة +│ │ │ ├── bench_runner.py # IC + تصنيف alive/reversed/dead +│ │ │ └── zoo/ # qlib158 (154) + alpha101 (101) + gtja191 (191) + academic (6) +│ │ │ +│ │ ├── api/ # وحدات مسارات FastAPI +│ │ │ └── alpha_routes.py # /alpha/list, /alpha/{id}, /alpha/bench, SSE stream +│ │ │ +│ │ ├── skills/ # 75 finance skills in 8 categories (SKILL.md each) │ │ ├── swarm/ # Swarm DAG execution engine │ │ │ └── presets/ # 29 swarm preset YAML definitions │ │ ├── session/ # Multi-turn chat + FTS5 session search @@ -741,13 +808,15 @@ Vibe-Trading/ │ ├── frontend/ # Web UI (React 19 + Vite + TypeScript) │ └── src/ -│ ├── pages/ # Home, Agent, RunDetail, Compare +│ ├── pages/ # Home, Agent, AlphaZoo, RunDetail, Compare, Correlation, Settings │ ├── components/ # chat, charts, layout │ └── stores/ # Zustand state management │ ├── Dockerfile # Multi-stage build ├── docker-compose.yml # One-command deploy ├── pyproject.toml # Package config + CLI entrypoint +├── tools/ # Repo-level CI helpers +│ └── ci_grep_gates.sh # rejects yaml.load / trademark / per-stock-data leaks └── LICENSE # MIT ``` @@ -794,7 +863,7 @@ Vibe-Trading جزء من نظام وكلاء **[HKUDS](https://github.com/HKUDS) | **Data Bridge** | أحضر بياناتك: موصلات CSV/Parquet/SQL محلية مع schema mapping | مخطط | | **Options Lab** | سطح تقلب، ولوحة Greeks، ومستكشف payoff/scenario | مخطط | | **Portfolio Studio** | أشعة مخاطر، وقيود، ومحسن يراعي الدوران، وملاحظات إعادة توازن | مخطط | -| **Alpha Zoo** | مكتبات عوامل Alpha101 / Alpha158 / Alpha191 مع فرز واختبارات IC | مخطط | +| **Alpha Zoo** | 452 ألفا كمّي جاهز عبر 4 zoos (Qlib 158 + Kakushadze 101 + GTJA 191 + FF5 + Carhart)، سطر أوامر واحد للـ bench، تكامل agent، وواجهة Web | **تم الإطلاق 0.1.8** | | **Research Delivery** | موجزات مجدولة إلى Slack / Telegram / قنوات شبيهة بالبريد | مخطط | | **Community** | مهارات وإعدادات مسبقة وبطاقات استراتيجية قابلة للمشاركة | قيد الاستكشاف | diff --git a/README_ja.md b/README_ja.md index 55e18bec..ff7f9d26 100644 --- a/README_ja.md +++ b/README_ja.md @@ -46,13 +46,15 @@ ## 📰 ニュース +- **2026-05-17** 🧬 **Alpha Zoo v1(0.1.8)**: 4 つの zoo にまたがる 452 個の事前構築 quant alpha を同梱しました — `qlib158`(Microsoft Qlib の Alpha158 特徴量、Apache-2.0 出処明示)、`alpha101`(Kakushadze の "101 Formulaic Alphas" を arXiv:1601.00991 から論文ベースで書き直し)、`gtja191`(国泰君安 2014 年の短期取引型 alpha レポート)、`academic`(Fama-French 5 + Carhart 動量の価格ベース proxy 実装)。任意の universe で 1 行 CLI: `vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025`。AST 純関数ゲート、look-ahead ガードテスト、`pytest-socket` ネットワーク遮断、各 zoo ごとの LICENSE.md、コミュニティ PR 用の DCO 署名フローも同梱。Alpha Library 自動レンダリングは [vibetrading.wiki/alpha-library/](https://vibetrading.wiki/alpha-library/)、Research Lab には [Which of the 191 GTJA alphas still work in 2026?](https://vibetrading.wiki/research-lab/posts/alpha-191-in-2026.html) を公開。 - **2026-05-16** 🧪 **リサーチ基盤アップデート**: backend Hypothesis Registry を追加し、`create_hypothesis`、`update_hypothesis`、`link_backtest`、`search_hypotheses` を提供します。外部コンテンツ reader は warning-only の `security_warnings` を付与し、Shadow Account scanner は旧 calendar-phase stub から決定的な OHLCV feature evaluation に移行しました。 - **2026-05-15** 🪪 Run 詳細ページが metrics と artifacts の隣に Trust Layer の run card を描画するようになり、2026-05-12 に入った `run_card.json` 側の UI 半分が揃いました。`PersistentMemory.add()` も #108/#109/#110 の triage を受け、長さ、空・空白だけの name、C0/C1 制御バイトの各経路で強化されました([#112](https://github.com/HKUDS/Vibe-Trading/pull/112)、@Teerapat-Vatpitak に感謝)。 -- **2026-05-14** 🌐 公開 Wiki が [vibetrading.wiki](https://vibetrading.wiki/) で公開され、docs、tutorials、Research Lab、Alpha Library セクションを Cloudflare Pages から配信します。永続メモリも CLI から `vibe-trading memory list/show/search/forget` で確認できるようになり([#102](https://github.com/HKUDS/Vibe-Trading/pull/102)、@Teerapat-Vatpitak に感謝)、メモリの tokenization/slug はタイ語、アラビア語、ヘブライ語、キリル文字にも対応しました([#104](https://github.com/HKUDS/Vibe-Trading/pull/104))。
過去のニュース +- **2026-05-14** 🌐 公開 Wiki が [vibetrading.wiki](https://vibetrading.wiki/) で公開され、docs、tutorials、Research Lab、Alpha Library セクションを Cloudflare Pages から配信します。永続メモリも CLI から `vibe-trading memory list/show/search/forget` で確認できるようになり([#102](https://github.com/HKUDS/Vibe-Trading/pull/102)、@Teerapat-Vatpitak に感謝)、メモリの tokenization/slug はタイ語、アラビア語、ヘブライ語、キリル文字にも対応しました([#104](https://github.com/HKUDS/Vibe-Trading/pull/104))。 + - **2026-05-13** 🧭 Swarm 実行では、取得済みの市場データでワーカーを grounding し、永続化レポートもより整理されました([#93](https://github.com/HKUDS/Vibe-Trading/pull/93)、[#84](https://github.com/HKUDS/Vibe-Trading/pull/84))。 - **2026-05-12** 🧾 バックテストは、再現可能なリサーチ実行のために artifacts と並んで `run_card.json` と `run_card.md` を出力するようになりました。 - **2026-05-11** 🧭 **メモリ slug、swarm 集計、CLI プリフライト**: 永続メモリのファイル slug 生成で CJK 文字を保持するようになり、中国語/日本語/韓国語ノートの静かなファイル名衝突を防ぎます([#95](https://github.com/HKUDS/Vibe-Trading/pull/95)、@voidborne-d に感謝)。Swarm run の合計は provider が返す token usage を優先し、従来の推定フォールバックも維持します([#94](https://github.com/HKUDS/Vibe-Trading/pull/94)、@Teerapat-Vatpitak に感謝)。CLI run UI には一般的な環境問題を早めに見つける起動時プリフライトチェックも入りました([#96](https://github.com/HKUDS/Vibe-Trading/pull/96)、@ykykj に感謝)。 @@ -154,6 +156,7 @@ Vibe-Trading は、金融に関する問いを実行可能な分析へ変換す | **反復リサーチを改善する** | 永続メモリと編集可能な skills により、有用な手順を再利用可能なワークフローへ変換。 | | **アナリストチームを走らせる** | 投資、クオンツ、暗号資産、マクロ、リスクのワークフロー向けマルチエージェント・リサーチレビュー。 | | **使える artifacts を出力する** | レポート、TradingView Pine Script、TDX、MetaTrader 5、MCP tools、後続リサーチセッション。 | +| **事前構築 alpha zoo をベンチ** | 452 個の alpha 因子(Qlib 158 + Kakushadze 101 + GTJA 191 + FF5 + Carhart)に対し、1 行 CLI で IC + IR + alive/reversed/dead 分類を実行 | --- @@ -161,7 +164,12 @@ Vibe-Trading は、金融に関する問いを実行可能な分析へ変換す ```bash pip install vibe-trading-ai + +# 自然言語リサーチ vibe-trading run -p "Backtest a BTC-USDT 20/50 moving-average strategy for 2024, summarize return and drawdown, then export the report" + +# 事前構築 alpha zoo を 1 行でベンチ +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 ``` ```bash @@ -211,9 +219,9 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an メイン README を読みやすく保つため、詳細な一覧は以下に折りたたんでいます。利用できる構成要素を確認したいときに開いてください。
-Finance Skill Library 8カテゴリにわたる74 skills +Finance Skill Library 8カテゴリにわたる75 skills -- 📊 74 の金融特化 skills を 8 カテゴリに整理 +- 📊 75 の金融特化 skills を 8 カテゴリに整理 - 🌐 伝統的市場から crypto & DeFi まで完全カバー - 🔬 データ取得からクオンツリサーチまでを横断する包括的能力 @@ -225,7 +233,7 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an | Asset Class | 9 | `options-strategy`, `options-advanced`, `convertible-bond`, `etf-analysis`, `asset-allocation`, `sector-rotation` | | Crypto | 7 | `perp-funding-basis`, `liquidation-heatmap`, `stablecoin-flow`, `defi-yield`, `onchain-analysis` | | Flow | 7 | `hk-connect-flow`, `us-etf-flow`, `edgar-sec-filings`, `financial-statement`, `adr-hshare` | -| Tool | 10 | `backtest-diagnose`, `report-generate`, `pine-script`, `doc-reader`, `web-reader`, `vnpy-export` | +| Tool | 11 | `backtest-diagnose`, `report-generate`, `pine-script`, `doc-reader`, `web-reader`, `vnpy-export`, `alpha-zoo` | | Risk Analysis | 1 | `ashare-pre-st-filter` |
@@ -255,6 +263,26 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an
+
+Alpha Zoo 4 つの zoo に渡る 452 個の事前構築 quant alpha + +- 🧬 452 個のクロスセクショナル alpha、オペレーター層でルックアヘッドを禁止 +- 📈 IC + IR + alive/reversed/dead 分類を 1 つの CLI コマンドで +- 🔬 AST 純関数ゲート + 300 行のルックアヘッド sentinel テスト + `pytest-socket` によるネットワーク遮断 +- 📦 Qlib には Apache-2 帰属表示、各 zoo ごとに `LICENSE.md` で formula を数学的内容として宣言 +- 🤝 コミュニティ PR 向け Developer Certificate of Origin (DCO) 署名フロー + +| Zoo | 件数 | 出典 | ライセンス | +|-----|-------|--------|---------| +| **qlib158** | 154 | Microsoft Qlib `Alpha158`(Apache-2.0、コミット固定) | Apache-2.0 | +| **alpha101** | 101 | Kakushadze (2015)、"101 Formulaic Alphas"、arXiv:1601.00991 | Formula は数学的内容 | +| **gtja191** | 191 | 国泰君安 (2014)、「191 短周期取引型 alpha 因子」 | Formula は数学的内容 | +| **academic** | 6 | Fama-French 5 + Carhart momentum(価格ベースの proxy) | 公開された学術文献 | + +`vibe-trading alpha list` で閲覧、`vibe-trading alpha show ` で formula + ソース、`vibe-trading alpha bench --zoo X --universe Y --period Z` で zoo 全体をスコアリングできます。 + +
+ ## 🎬 デモ
@@ -436,6 +464,7 @@ Vibe-Trading は tool-heavy agent です。skills、backtests、memory、swarms vibe-trading # interactive TUI vibe-trading run -p "..." # single run vibe-trading serve # API server +vibe-trading alpha list # 452 個の事前構築 alpha を閲覧;show / bench / compare / export-manifest サブコマンド利用可 ```
@@ -444,7 +473,7 @@ vibe-trading serve # API server | Command | Description | |---------|-------------| | `/help` | 全コマンドを表示 | -| `/skills` | 74 finance skills を一覧表示 | +| `/skills` | 75 finance skills を一覧表示 | | `/swarm` | 29 swarm team presets を一覧表示 | | `/swarm run [vars_json]` | live streaming で swarm team を実行 | | `/swarm list` | Swarm run history | @@ -485,6 +514,9 @@ vibe-trading --pine # Export indicators (TradingView + TDX + vibe-trading --trace vibe-trading --continue "refine the strategy" vibe-trading --upload report.pdf +vibe-trading alpha list --zoo gtja191 --limit 10 +vibe-trading alpha show gtja191_171 +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 ```
@@ -509,6 +541,25 @@ vibe-trading run -p "Backtest a momentum + value + quality multi-factor strategy vibe-trading --pine ``` +**事前構築 alpha zoo を 1 行でベンチ**: +```bash +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 +``` + +**カタログを閲覧**して個別の alpha を確認: +```bash +vibe-trading alpha list --zoo gtja191 --theme reversal --limit 10 +vibe-trading alpha show gtja191_171 +``` + +**zoo からマルチファクターシグナルを構成**(Python): +```python +from src.skills.multi_factor.zoo_signal_engine import ZooSignalEngine +engine = ZooSignalEngine.from_zoo(["gtja191_171", "gtja191_111", "gtja191_163"]) +panel = ... # your wide OHLCV panel +signal = engine.compute_signal(panel) +``` + ### Market Research ```bash @@ -579,6 +630,10 @@ vibe-trading serve --port 8899 | `GET` | `/swarm/presets` | swarm presets を一覧表示 | | `POST` | `/swarm/runs` | swarm run を開始 | | `GET` | `/swarm/runs/{id}/events` | Swarm SSE stream | +| `GET` | `/alpha/list` | zoo/theme/universe でフィルタした alpha リスト | +| `GET` | `/alpha/{alpha_id}` | Alpha のメタデータ + ソースコード | +| `POST` | `/alpha/bench` | Bench ジョブを開始(`job_id` を返す) | +| `GET` | `/alpha/bench/{job_id}/stream` | SSE 進捗ストリーム | | `GET` | `/settings/llm` | Web UI LLM settings を読み取り | | `PUT` | `/settings/llm` | local LLM settings を更新 | | `GET` | `/settings/data-sources` | local data source settings を読み取り | @@ -664,7 +719,7 @@ ClawHub で見る: [clawhub.ai/skills/vibe-trading](https://clawhub.ai/skills/vi
OpenSpace — self-evolving skills -74 の finance skills はすべて [open-space.cloud](https://open-space.cloud) に公開され、OpenSpace の self-evolution engine を通じて自律的に進化します。 +75 の finance skills はすべて [open-space.cloud](https://open-space.cloud) に公開され、OpenSpace の self-evolution engine を通じて自律的に進化します。 OpenSpace と使うには、agent config に両方の MCP servers を追加してください。 @@ -686,7 +741,7 @@ OpenSpace と使うには、agent config に両方の MCP servers を追加し } ``` -OpenSpace は 74 skills を自動検出し、auto-fix、auto-improve、community sharing を可能にします。OpenSpace-connected agent では `search_skills("finance backtest")` から Vibe-Trading skills を検索できます。 +OpenSpace は 75 skills を自動検出し、auto-fix、auto-improve、community sharing を可能にします。OpenSpace-connected agent では `search_skills("finance backtest")` から Vibe-Trading skills を検索できます。
@@ -699,55 +754,66 @@ OpenSpace は 74 skills を自動検出し、auto-fix、auto-improve、community ``` Vibe-Trading/ -├── agent/ # Backend (Python) -│ ├── cli.py # CLI entrypoint — interactive TUI + subcommands -│ ├── api_server.py # FastAPI server — runs, sessions, upload, swarm, SSE -│ ├── mcp_server.py # MCP server — 22 tools for OpenClaw / Claude Desktop +├── agent/ # バックエンド (Python) +│ ├── cli.py # CLI エントリポイント — インタラクティブ TUI + サブコマンド +│ ├── api_server.py # FastAPI サーバー — runs、sessions、upload、swarm、SSE +│ ├── mcp_server.py # MCP サーバー — OpenClaw / Claude Desktop 向け 22 tools │ │ │ ├── src/ -│ │ ├── agent/ # ReAct agent core -│ │ │ ├── loop.py # 5-layer compression + read/write tool batching -│ │ │ ├── context.py # system prompt + auto-recall from persistent memory -│ │ │ ├── skills.py # skill loader (74 bundled + user-created via CRUD) -│ │ │ ├── tools.py # tool base class + registry -│ │ │ ├── memory.py # lightweight workspace state per run -│ │ │ ├── frontmatter.py # shared YAML frontmatter parser -│ │ │ └── trace.py # execution trace writer +│ │ ├── agent/ # ReAct エージェントコア +│ │ │ ├── loop.py # 5 層コンテキスト圧縮 + read/write ツールバッチング +│ │ │ ├── context.py # システムプロンプト + 永続メモリからの自動 recall +│ │ │ ├── skills.py # skill ローダー(75 個同梱 + CRUD でユーザー作成) +│ │ │ ├── tools.py # ツール基底クラス + レジストリ +│ │ │ ├── memory.py # run ごとの軽量ワークスペース状態 +│ │ │ ├── frontmatter.py # 共有 YAML frontmatter パーサー +│ │ │ └── trace.py # 実行トレースライター │ │ │ -│ │ ├── memory/ # Cross-session persistent memory -│ │ │ └── persistent.py # file-based memory (~/.vibe-trading/memory/) +│ │ ├── memory/ # クロスセッション永続メモリ +│ │ │ └── persistent.py # ファイルベースメモリ (~/.vibe-trading/memory/) │ │ │ -│ │ ├── tools/ # 29 auto-discovered agent tools -│ │ │ ├── backtest_tool.py # run backtests -│ │ │ ├── remember_tool.py # cross-session memory (save/recall/forget) +│ │ ├── tools/ # 31 個の自動検出エージェントツール +│ │ │ ├── backtest_tool.py # バックテスト実行 +│ │ │ ├── remember_tool.py # クロスセッションメモリ (save/recall/forget) │ │ │ ├── skill_writer_tool.py # skill CRUD (save/patch/delete/file) -│ │ │ ├── session_search_tool.py # FTS5 cross-session search -│ │ │ ├── swarm_tool.py # launch swarm teams -│ │ │ ├── web_search_tool.py # DuckDuckGo web search -│ │ │ └── ... # bash, file I/O, factor analysis, options, etc. +│ │ │ ├── session_search_tool.py # FTS5 クロスセッション検索 +│ │ │ ├── swarm_tool.py # swarm チームを起動 +│ │ │ ├── web_search_tool.py # DuckDuckGo Web 検索 +│ │ │ └── ... # bash、file I/O、factor analysis、options、alpha browser + bench など │ │ │ -│ │ ├── skills/ # 74 finance skills in 8 categories (SKILL.md each) -│ │ ├── swarm/ # Swarm DAG execution engine -│ │ │ └── presets/ # 29 swarm preset YAML definitions -│ │ ├── session/ # Multi-turn chat + FTS5 session search -│ │ └── providers/ # LLM provider abstraction +│ │ ├── factors/ # Alpha Zoo — 4 つの zoo にまたがる 452 個の alpha +│ │ │ ├── base.py # 19 個のオペレーター (rank/scale/ts_*/delta/decay_linear/safe_div/vwap) +│ │ │ ├── registry.py # AST 限定のメタデータ読み込み + 遅延計算 + sanity gate +│ │ │ ├── bench_runner.py # IC + alive/reversed/dead 分類 +│ │ │ └── zoo/ # qlib158 (154) + alpha101 (101) + gtja191 (191) + academic (6) +│ │ │ +│ │ ├── api/ # FastAPI ルートモジュール +│ │ │ └── alpha_routes.py # /alpha/list、/alpha/{id}、/alpha/bench、SSE ストリーム +│ │ │ +│ │ ├── skills/ # 8 カテゴリ 75 個の finance skills(各 SKILL.md) +│ │ ├── swarm/ # Swarm DAG 実行エンジン +│ │ │ └── presets/ # 29 個の swarm preset YAML 定義 +│ │ ├── session/ # マルチターンチャット + FTS5 セッション検索 +│ │ └── providers/ # LLM プロバイダー抽象化 │ │ -│ └── backtest/ # Backtest engines -│ ├── engines/ # 7 engines + composite cross-market engine + options_portfolio -│ ├── loaders/ # 6 sources: tushare, okx, yfinance, akshare, ccxt, futu +│ └── backtest/ # バックテストエンジン +│ ├── engines/ # 7 エンジン + クロスマーケット composite engine + options_portfolio +│ ├── loaders/ # 6 ソース: tushare、okx、yfinance、akshare、ccxt、futu │ │ ├── base.py # DataLoader Protocol -│ │ └── registry.py # Registry + auto-fallback chains -│ └── optimizers/ # MVO, equal vol, max div, risk parity +│ │ └── registry.py # Registry + 自動フォールバックチェーン +│ └── optimizers/ # MVO、equal vol、max div、risk parity │ ├── frontend/ # Web UI (React 19 + Vite + TypeScript) │ └── src/ -│ ├── pages/ # Home, Agent, RunDetail, Compare -│ ├── components/ # chat, charts, layout -│ └── stores/ # Zustand state management +│ ├── pages/ # Home、Agent、AlphaZoo、RunDetail、Compare、Correlation、Settings +│ ├── components/ # chat、charts、layout +│ └── stores/ # Zustand 状態管理 │ -├── Dockerfile # Multi-stage build -├── docker-compose.yml # One-command deploy -├── pyproject.toml # Package config + CLI entrypoint +├── Dockerfile # マルチステージビルド +├── docker-compose.yml # 1 コマンドデプロイ +├── pyproject.toml # パッケージ設定 + CLI エントリポイント +├── tools/ # リポジトリレベルの CI ヘルパー +│ └── ci_grep_gates.sh # yaml.load / 商標 / 銘柄データ漏洩を拒否 └── LICENSE # MIT ``` @@ -794,7 +860,7 @@ Vibe-Trading は **[HKUDS](https://github.com/HKUDS)** agent ecosystem の一部 | **Data Bridge** | Bring-your-own data: local CSV/Parquet/SQL connectors with schema mapping | Planned | | **Options Lab** | Vol surface, Greeks dashboard, payoff/scenario explorer | Planned | | **Portfolio Studio** | Risk x-ray, constraints, turnover-aware optimizer, rebalance notes | Planned | -| **Alpha Zoo** | Alpha101 / Alpha158 / Alpha191 factor libraries with screening + IC tests | Planned | +| **Alpha Zoo** | 452 個の事前構築 alpha 因子(Qlib 158 + Kakushadze 101 + GTJA 191 + FF5 + Carhart)、1 行 CLI でベンチ、agent 統合、Web UI | **0.1.8 でリリース済み** | | **Research Delivery** | Scheduled briefs to Slack / Telegram / email-style channels | Planned | | **Community** | Shareable skills, presets, and strategy cards | Exploring | diff --git a/README_ko.md b/README_ko.md index a9c95a65..a3a5242b 100644 --- a/README_ko.md +++ b/README_ko.md @@ -46,13 +46,15 @@ ## 📰 뉴스 +- **2026-05-17** 🧬 **Alpha Zoo v1 (0.1.8)**: 4개 zoo에 걸친 452개의 사전 빌드된 quant alpha를 번들로 제공 — `qlib158`(Microsoft Qlib의 Alpha158 특성, Apache-2.0 출처 표기), `alpha101`(Kakushadze의 "101 Formulaic Alphas"를 arXiv:1601.00991 논문 부록에서 재구현), `gtja191`(국태군안 2014 단기 거래형 alpha 리서치 보고서), `academic`(Fama-French 5 + Carhart 모멘텀의 가격 기반 proxy 구현). 한 줄 CLI로 임의 universe에서 벤치: `vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025`. AST 순수 함수 게이트, look-ahead 가드 테스트, `pytest-socket` 네트워크 차단, zoo별 LICENSE.md, 커뮤니티 PR용 DCO 서명 워크플로우 포함. Alpha Library 자동 렌더링: [vibetrading.wiki/alpha-library/](https://vibetrading.wiki/alpha-library/), Research Lab 글: [Which of the 191 GTJA alphas still work in 2026?](https://vibetrading.wiki/research-lab/posts/alpha-191-in-2026.html). - **2026-05-16** 🧪 **리서치 기반 업데이트**: backend Hypothesis Registry를 추가해 `create_hypothesis`, `update_hypothesis`, `link_backtest`, `search_hypotheses`를 제공합니다. 외부 콘텐츠 reader는 warning-only `security_warnings`를 붙이고, Shadow Account scanner는 기존 calendar-phase stub 대신 deterministic OHLCV feature evaluation을 사용합니다. - **2026-05-15** 🪪 Run 상세 페이지에서 metrics와 artifacts 옆에 Trust Layer run card를 렌더링해, 2026-05-12에 들어간 `run_card.json` 작업의 UI 측을 마무리합니다. `PersistentMemory.add()`도 #108/#109/#110 triage에 따라 길이, 빈 문자열 또는 공백만으로 이루어진 name, C0/C1 제어 바이트 경로에서 강화되었습니다([#112](https://github.com/HKUDS/Vibe-Trading/pull/112), @Teerapat-Vatpitak 감사합니다). -- **2026-05-14** 🌐 공개 Wiki가 [vibetrading.wiki](https://vibetrading.wiki/)에 열렸고, docs, tutorials, Research Lab, Alpha Library 섹션을 Cloudflare Pages로 배포합니다. 영구 메모리도 이제 `vibe-trading memory list/show/search/forget`으로 CLI에서 확인할 수 있으며([#102](https://github.com/HKUDS/Vibe-Trading/pull/102), @Teerapat-Vatpitak 감사합니다), memory tokenization/slug는 태국어, 아랍어, 히브리어, 키릴 문자도 지원합니다([#104](https://github.com/HKUDS/Vibe-Trading/pull/104)).
이전 뉴스 +- **2026-05-14** 🌐 공개 Wiki가 [vibetrading.wiki](https://vibetrading.wiki/)에 열렸고, docs, tutorials, Research Lab, Alpha Library 섹션을 Cloudflare Pages로 배포합니다. 영구 메모리도 이제 `vibe-trading memory list/show/search/forget`으로 CLI에서 확인할 수 있으며([#102](https://github.com/HKUDS/Vibe-Trading/pull/102), @Teerapat-Vatpitak 감사합니다), memory tokenization/slug는 태국어, 아랍어, 히브리어, 키릴 문자도 지원합니다([#104](https://github.com/HKUDS/Vibe-Trading/pull/104)). + - **2026-05-13** 🧭 Swarm 실행은 이제 가져온 시장 데이터로 worker를 grounding하고, 더 깔끔한 영구 리포트를 남깁니다([#93](https://github.com/HKUDS/Vibe-Trading/pull/93), [#84](https://github.com/HKUDS/Vibe-Trading/pull/84)). - **2026-05-12** 🧾 백테스트는 이제 재현 가능한 리서치 실행을 위해 artifacts와 함께 `run_card.json` 및 `run_card.md`를 생성합니다. - **2026-05-11** 🧭 **Memory slug, swarm 집계, CLI 프리플라이트**: 영구 메모리는 파일 slug를 생성할 때 CJK 문자를 보존하여 중국어/일본어/한국어 노트에서 조용한 파일명 충돌이 발생하지 않도록 합니다([#95](https://github.com/HKUDS/Vibe-Trading/pull/95), @voidborne-d 감사합니다). Swarm 실행 합계는 이제 provider가 보고한 token usage를 우선 사용하고 기존 추정 fallback도 유지합니다([#94](https://github.com/HKUDS/Vibe-Trading/pull/94), @Teerapat-Vatpitak 감사합니다). CLI 실행 UI에는 일반적인 환경 문제를 확인하는 시작 프리플라이트 체크도 추가되었습니다([#96](https://github.com/HKUDS/Vibe-Trading/pull/96), @ykykj 감사합니다). @@ -154,6 +156,7 @@ Vibe-Trading은 금융 질문을 실행 가능한 분석으로 바꾸는 오픈 | **반복 리서치 개선하기** | 영구 메모리와 편집 가능한 스킬로 유용한 루틴을 재사용 가능한 워크플로로 전환. | | **애널리스트 팀 실행하기** | 투자, 퀀트, 크립토, 매크로, 리스크 워크플로를 위한 멀티 에이전트 리서치 리뷰. | | **사용 가능한 artifacts 만들기** | 리포트, TradingView Pine Script, TDX, MetaTrader 5, MCP tools, 이후 리서치 세션. | +| **사전 빌드된 alpha zoo 벤치** | 452개의 alpha 인자(Qlib 158 + Kakushadze 101 + GTJA 191 + FF5 + Carhart)에 대해 한 줄 CLI로 IC + IR + alive/reversed/dead 분류 수행 | --- @@ -161,7 +164,12 @@ Vibe-Trading은 금융 질문을 실행 가능한 분석으로 바꾸는 오픈 ```bash pip install vibe-trading-ai + +# 자연어 리서치 vibe-trading run -p "Backtest a BTC-USDT 20/50 moving-average strategy for 2024, summarize return and drawdown, then export the report" + +# 한 줄로 사전 빌드된 alpha zoo 벤치 +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 ``` ```bash @@ -211,9 +219,9 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an 메인 README를 읽기 쉽게 유지하기 위해 상세 목록은 아래에 접어 두었습니다. 사용 가능한 구성 요소를 확인하고 싶을 때 열어보세요.
-금융 스킬 라이브러리 8개 카테고리 74개 스킬 +금융 스킬 라이브러리 8개 카테고리 75개 스킬 -- 📊 8개 카테고리로 구성된 74개 전문 금융 스킬 +- 📊 8개 카테고리로 구성된 75개 전문 금융 스킬 - 🌐 전통 시장부터 크립토 & DeFi까지 완전한 커버리지 - 🔬 데이터 sourcing부터 정량 리서치까지 포괄하는 기능 @@ -225,7 +233,7 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an | Asset Class | 9 | `options-strategy`, `options-advanced`, `convertible-bond`, `etf-analysis`, `asset-allocation`, `sector-rotation` | | Crypto | 7 | `perp-funding-basis`, `liquidation-heatmap`, `stablecoin-flow`, `defi-yield`, `onchain-analysis` | | Flow | 7 | `hk-connect-flow`, `us-etf-flow`, `edgar-sec-filings`, `financial-statement`, `adr-hshare` | -| Tool | 10 | `backtest-diagnose`, `report-generate`, `pine-script`, `doc-reader`, `web-reader`, `vnpy-export` | +| Tool | 11 | `backtest-diagnose`, `report-generate`, `pine-script`, `doc-reader`, `web-reader`, `vnpy-export`, `alpha-zoo` | | Risk Analysis | 1 | `ashare-pre-st-filter` |
@@ -255,6 +263,26 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an
+
+Alpha Zoo 4개 zoo에 걸친 452개 사전 빌드된 quant alpha + +- 🧬 operator 계층에서 lookahead가 금지된 452개 cross-sectional alpha +- 📈 한 줄 CLI로 IC + IR + alive/reversed/dead 분류 수행 +- 🔬 AST 순수성 게이트 + 300-row lookahead sentinel 테스트 + `pytest-socket` 네트워크 kill-switch +- 📦 Qlib에 대한 Apache-2 출처 표기, zoo별 `LICENSE.md`에서 수식을 수학적 콘텐츠로 명시 +- 🤝 커뮤니티 PR을 위한 Developer Certificate of Origin (DCO) 서명 워크플로 + +| Zoo | Count | Source | License | +|-----|-------|--------|---------| +| **qlib158** | 154 | Microsoft Qlib `Alpha158` (Apache-2.0, 커밋 고정) | Apache-2.0 | +| **alpha101** | 101 | Kakushadze (2015), "101 Formulaic Alphas", arXiv:1601.00991 | 수식은 수학적 콘텐츠 | +| **gtja191** | 191 | 국태군안 (2014), "191 Short-period Trading Alpha Factors" | 수식은 수학적 콘텐츠 | +| **academic** | 6 | Fama-French 5 + Carhart 모멘텀 (가격 기반 proxy) | 공개 학술 문헌 | + +`vibe-trading alpha list`로 카탈로그를 탐색하고, `vibe-trading alpha show `로 수식과 소스 코드를 확인하며, `vibe-trading alpha bench --zoo X --universe Y --period Z`로 zoo 전체를 점수화하세요. + +
+ ## 🎬 데모
@@ -436,6 +464,7 @@ Vibe-Trading은 tool-heavy agent입니다. skills, backtests, memory, swarms가 vibe-trading # interactive TUI vibe-trading run -p "..." # single run vibe-trading serve # API server +vibe-trading alpha list # 사전 빌드된 452개 alpha 탐색; show / bench / compare / export-manifest 서브커맨드 사용 가능 ```
@@ -444,7 +473,7 @@ vibe-trading serve # API server | Command | Description | |---------|-------------| | `/help` | 모든 명령 표시 | -| `/skills` | 74개 finance skills 목록 | +| `/skills` | 75개 finance skills 목록 | | `/swarm` | 29개 swarm team presets 목록 | | `/swarm run [vars_json]` | live streaming으로 swarm team 실행 | | `/swarm list` | Swarm run history | @@ -487,6 +516,12 @@ vibe-trading --continue "refine the strategy" vibe-trading --upload report.pdf ``` +```bash +vibe-trading alpha list --zoo gtja191 --limit 10 +vibe-trading alpha show gtja191_171 +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 +``` +
--- @@ -509,6 +544,25 @@ vibe-trading run -p "Backtest a momentum + value + quality multi-factor strategy vibe-trading --pine ``` +**한 줄로 사전 빌드된 alpha zoo 벤치하기**: +```bash +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 +``` + +**카탈로그 탐색** 후 단일 alpha 확인: +```bash +vibe-trading alpha list --zoo gtja191 --theme reversal --limit 10 +vibe-trading alpha show gtja191_171 +``` + +**zoo 인자들로 다인자 신호 구성**(Python): +```python +from src.skills.multi_factor.zoo_signal_engine import ZooSignalEngine +engine = ZooSignalEngine.from_zoo(["gtja191_171", "gtja191_111", "gtja191_163"]) +panel = ... # your wide OHLCV panel +signal = engine.compute_signal(panel) +``` + ### 시장 리서치 ```bash @@ -579,6 +633,10 @@ vibe-trading serve --port 8899 | `GET` | `/swarm/presets` | swarm presets 목록 | | `POST` | `/swarm/runs` | swarm run 시작 | | `GET` | `/swarm/runs/{id}/events` | Swarm SSE stream | +| `GET` | `/alpha/list` | zoo/theme/universe로 alpha 목록 필터링 | +| `GET` | `/alpha/{alpha_id}` | Alpha 메타데이터 + 소스 코드 | +| `POST` | `/alpha/bench` | Bench 작업 시작 (`job_id` 반환) | +| `GET` | `/alpha/bench/{job_id}/stream` | SSE 진행 스트림 | | `GET` | `/settings/llm` | Web UI LLM settings 읽기 | | `PUT` | `/settings/llm` | local LLM settings 업데이트 | | `GET` | `/settings/data-sources` | local data source settings 읽기 | @@ -664,7 +722,7 @@ ClawHub에서 보기: [clawhub.ai/skills/vibe-trading](https://clawhub.ai/skills
OpenSpace — 자가 진화 스킬 -74개 finance skills는 모두 [open-space.cloud](https://open-space.cloud)에 게시되어 있으며 OpenSpace의 self-evolution engine을 통해 자율적으로 발전합니다. +75개 finance skills는 모두 [open-space.cloud](https://open-space.cloud)에 게시되어 있으며 OpenSpace의 self-evolution engine을 통해 자율적으로 발전합니다. OpenSpace와 함께 사용하려면 두 MCP server를 agent config에 추가하세요: @@ -686,7 +744,7 @@ OpenSpace와 함께 사용하려면 두 MCP server를 agent config에 추가하 } ``` -OpenSpace는 74개 skills를 모두 자동 발견하여 auto-fix, auto-improve, community sharing을 활성화합니다. OpenSpace-connected agent에서 `search_skills("finance backtest")`로 Vibe-Trading skills를 검색하세요. +OpenSpace는 75개 skills를 모두 자동 발견하여 auto-fix, auto-improve, community sharing을 활성화합니다. OpenSpace-connected agent에서 `search_skills("finance backtest")`로 Vibe-Trading skills를 검색하세요.
@@ -708,7 +766,7 @@ Vibe-Trading/ │ │ ├── agent/ # ReAct agent core │ │ │ ├── loop.py # 5-layer compression + read/write tool batching │ │ │ ├── context.py # system prompt + auto-recall from persistent memory -│ │ │ ├── skills.py # skill loader (74 bundled + user-created via CRUD) +│ │ │ ├── skills.py # skill loader (75 bundled + user-created via CRUD) │ │ │ ├── tools.py # tool base class + registry │ │ │ ├── memory.py # lightweight workspace state per run │ │ │ ├── frontmatter.py # shared YAML frontmatter parser @@ -717,16 +775,25 @@ Vibe-Trading/ │ │ ├── memory/ # Cross-session persistent memory │ │ │ └── persistent.py # file-based memory (~/.vibe-trading/memory/) │ │ │ -│ │ ├── tools/ # 29 auto-discovered agent tools +│ │ ├── tools/ # 31 auto-discovered agent tools │ │ │ ├── backtest_tool.py # run backtests │ │ │ ├── remember_tool.py # cross-session memory (save/recall/forget) │ │ │ ├── skill_writer_tool.py # skill CRUD (save/patch/delete/file) │ │ │ ├── session_search_tool.py # FTS5 cross-session search │ │ │ ├── swarm_tool.py # launch swarm teams │ │ │ ├── web_search_tool.py # DuckDuckGo web search -│ │ │ └── ... # bash, file I/O, factor analysis, options, etc. +│ │ │ └── ... # bash, file I/O, factor analysis, options, alpha browser + bench, etc. │ │ │ -│ │ ├── skills/ # 74 finance skills in 8 categories (SKILL.md each) +│ │ ├── factors/ # Alpha Zoo — 4개 zoo에 걸친 452개 alpha +│ │ │ ├── base.py # 19개 operator (rank/scale/ts_*/delta/decay_linear/safe_div/vwap) +│ │ │ ├── registry.py # AST-only 메타데이터 로딩 + lazy compute + sanity gate +│ │ │ ├── bench_runner.py # IC + alive/reversed/dead 분류 +│ │ │ └── zoo/ # qlib158 (154) + alpha101 (101) + gtja191 (191) + academic (6) +│ │ │ +│ │ ├── api/ # FastAPI 라우트 모듈 +│ │ │ └── alpha_routes.py # /alpha/list, /alpha/{id}, /alpha/bench, SSE stream +│ │ │ +│ │ ├── skills/ # 75 finance skills in 8 categories (SKILL.md each) │ │ ├── swarm/ # Swarm DAG execution engine │ │ │ └── presets/ # 29 swarm preset YAML definitions │ │ ├── session/ # Multi-turn chat + FTS5 session search @@ -741,13 +808,15 @@ Vibe-Trading/ │ ├── frontend/ # Web UI (React 19 + Vite + TypeScript) │ └── src/ -│ ├── pages/ # Home, Agent, RunDetail, Compare +│ ├── pages/ # Home, Agent, AlphaZoo, RunDetail, Compare, Correlation, Settings │ ├── components/ # chat, charts, layout │ └── stores/ # Zustand state management │ ├── Dockerfile # Multi-stage build ├── docker-compose.yml # One-command deploy ├── pyproject.toml # Package config + CLI entrypoint +├── tools/ # 레포 단위 CI helper +│ └── ci_grep_gates.sh # yaml.load / 트레이드마크 / 종목별 데이터 누출 차단 └── LICENSE # MIT ``` @@ -794,7 +863,7 @@ Vibe-Trading은 **[HKUDS](https://github.com/HKUDS)** agent ecosystem의 일부 | **Data Bridge** | Bring-your-own data: local CSV/Parquet/SQL connectors with schema mapping | Planned | | **Options Lab** | Vol surface, Greeks dashboard, payoff/scenario explorer | Planned | | **Portfolio Studio** | Risk x-ray, constraints, turnover-aware optimizer, rebalance notes | Planned | -| **Alpha Zoo** | Alpha101 / Alpha158 / Alpha191 factor libraries with screening + IC tests | Planned | +| **Alpha Zoo** | 4개 zoo에 걸친 452개의 사전 빌드된 alpha 인자(Qlib 158 + Kakushadze 101 + GTJA 191 + FF5 + Carhart), 한 줄 CLI 벤치, agent 통합, Web UI | **0.1.8 출시 완료** | | **Research Delivery** | Slack / Telegram / email-style channels로 예약 brief 전달 | Planned | | **Community** | 공유 가능한 skills, presets, strategy cards | Exploring | diff --git a/README_zh.md b/README_zh.md index df81ef93..3dae3d31 100644 --- a/README_zh.md +++ b/README_zh.md @@ -46,13 +46,14 @@ ## 📰 News +- **2026-05-17** 🧬 **Alpha Zoo v1(0.1.8)**:内置 452 个量化 alpha,覆盖 4 个 zoo —— `qlib158`(Microsoft Qlib 的 Alpha158 特征,Apache-2.0 出处声明)、`alpha101`(Kakushadze 的 "101 Formulaic Alphas",从 arXiv:1601.00991 论文公式重写)、`gtja191`(国君证券 2014 短周期交易型因子研报)、`academic`(Fama-French 5 因子 + Carhart 动量的价格代理实现)。一行 CLI 就能在自己的 universe 上跑横评:`vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025`。配套设施包括 AST 纯函数门禁、lookahead 防护测试、`pytest-socket` 网络隔离、每个 zoo 一份 LICENSE.md、社区贡献用的 DCO 签名流程;Alpha Library 自动渲染上线 [vibetrading.wiki/alpha-library/](https://vibetrading.wiki/alpha-library/);Research Lab 同步发布 [《191 个 GTJA alpha 哪些在 2026 还能用》](https://vibetrading.wiki/research-lab/posts/alpha-191-in-2026.html)。 - **2026-05-16** 🧪 **研究主干更新**:新增后端 Hypothesis Registry,提供 `create_hypothesis`、`update_hypothesis`、`link_backtest`、`search_hypotheses`;外部内容读取工具现在会附加 warning-only 的 `security_warnings`;Shadow Account 扫描也从旧的日历 phase stub 升级为确定性的 OHLCV 特征评估。 - **2026-05-15** 🪪 Run 详情页现在会在 metrics 和 artifacts 旁边渲染 Trust Layer 的 run card,把 2026-05-12 已落地的 `run_card.json` 工作补齐到 UI 一侧。`PersistentMemory.add()` 也根据 #108/#109/#110 的 triage,在长度限制、空 / 纯空白 name、以及 C0/C1 控制字节三条路径上做了加固([#112](https://github.com/HKUDS/Vibe-Trading/pull/112),感谢 @Teerapat-Vatpitak)。 -- **2026-05-14** 🌐 公开 Wiki 已上线 [vibetrading.wiki](https://vibetrading.wiki/),包含 docs、tutorials、Research Lab 和 Alpha Library,并通过 Cloudflare Pages 部署。持久记忆也可以通过 CLI 使用 `vibe-trading memory list/show/search/forget` 检查([#102](https://github.com/HKUDS/Vibe-Trading/pull/102),感谢 @Teerapat-Vatpitak);记忆 tokenizer/slug 现在支持泰语、阿拉伯语、希伯来语和西里尔文字([#104](https://github.com/HKUDS/Vibe-Trading/pull/104))。
更早的更新 +- **2026-05-14** 🌐 公开 Wiki 已上线 [vibetrading.wiki](https://vibetrading.wiki/),包含 docs、tutorials、Research Lab 和 Alpha Library,并通过 Cloudflare Pages 部署。持久记忆也可以通过 CLI 使用 `vibe-trading memory list/show/search/forget` 检查([#102](https://github.com/HKUDS/Vibe-Trading/pull/102),感谢 @Teerapat-Vatpitak);记忆 tokenizer/slug 现在支持泰语、阿拉伯语、希伯来语和西里尔文字([#104](https://github.com/HKUDS/Vibe-Trading/pull/104))。 - **2026-05-13** 🧭 Swarm 运行现在会用已获取的市场数据为 worker 提供依据,并生成更清晰的持久化报告([#93](https://github.com/HKUDS/Vibe-Trading/pull/93),[#84](https://github.com/HKUDS/Vibe-Trading/pull/84))。 - **2026-05-12** 🧾 回测现在会随 artifacts 一起输出 `run_card.json` 和 `run_card.md`,便于复现实验研究。 - **2026-05-11** 🧭 **记忆 slug、swarm 统计与 CLI 预检**:持久记忆在生成文件 slug 时会保留 CJK 字符,避免中文/日文/韩文笔记发生静默文件名冲突([#95](https://github.com/HKUDS/Vibe-Trading/pull/95),感谢 @voidborne-d)。Swarm 运行总量现在优先采用 provider 返回的 token 用量,并保留原有估算作为 fallback([#94](https://github.com/HKUDS/Vibe-Trading/pull/94),感谢 @Teerapat-Vatpitak)。CLI 运行界面也新增了启动预检,用于发现常见环境问题([#96](https://github.com/HKUDS/Vibe-Trading/pull/96),感谢 @ykykj)。 @@ -154,6 +155,7 @@ Vibe-Trading 是一个开源研究工作台,用于把金融问题转化为可 | **改进重复研究** | 持久记忆和可编辑 skills 将有用流程变成可复用工作流。 | | **运行分析师团队** | 面向投资、量化、加密、宏观和风控工作流的多智能体研究评审。 | | **交付可用成果** | 报告、TradingView Pine Script、TDX、MetaTrader 5、MCP tools,以及可延续的研究 sessions。 | +| **跑预置 alpha zoo 横评** | 452 个 alpha 因子(Qlib 158 + Kakushadze 101 + GTJA 191 + FF5 + Carhart),一行 CLI 在你选的 universe 上算 IC + IR + alive/reversed/dead 分类 | --- @@ -161,7 +163,12 @@ Vibe-Trading 是一个开源研究工作台,用于把金融问题转化为可 ```bash pip install vibe-trading-ai + +# 自然语言研究 vibe-trading run -p "Backtest a BTC-USDT 20/50 moving-average strategy for 2024, summarize return and drawdown, then export the report" + +# 一行 CLI 跑预置 alpha zoo 横评 +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 ``` ```bash @@ -211,9 +218,9 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an 为保持主 README 易读,详细清单折叠在下方。需要检查可用构件时可展开查看。
-Finance Skill Library 8 个类别中的 74 个 skills +Finance Skill Library 8 个类别中的 75 个 skills -- 📊 74 个专业金融 skills,分布在 8 个类别中 +- 📊 75 个专业金融 skills,分布在 8 个类别中 - 🌐 覆盖传统市场、加密与 DeFi - 🔬 从数据源到量化研究的完整能力链路 @@ -225,7 +232,7 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an | Asset Class | 9 | `options-strategy`, `options-advanced`, `convertible-bond`, `etf-analysis`, `asset-allocation`, `sector-rotation` | | Crypto | 7 | `perp-funding-basis`, `liquidation-heatmap`, `stablecoin-flow`, `defi-yield`, `onchain-analysis` | | Flow | 7 | `hk-connect-flow`, `us-etf-flow`, `edgar-sec-filings`, `financial-statement`, `adr-hshare` | -| Tool | 10 | `backtest-diagnose`, `report-generate`, `pine-script`, `doc-reader`, `web-reader`, `vnpy-export` | +| Tool | 11 | `backtest-diagnose`, `report-generate`, `pine-script`, `doc-reader`, `web-reader`, `vnpy-export`, `alpha-zoo` | | Risk Analysis | 1 | `ashare-pre-st-filter` |
@@ -255,6 +262,26 @@ vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, an
+
+Alpha Zoo 452 个预置 alpha,覆盖 4 个 zoo + +- 🧬 452 个横截面 alpha,算子层即禁用 lookahead +- 📈 一条 CLI 命令完成 IC + IR + alive/reversed/dead 分类 +- 🔬 AST 纯函数门禁 + 300 行 lookahead 哨兵测试 + `pytest-socket` 网络阻断 +- 📦 Qlib 部分附 Apache-2 出处声明;每个 zoo 一份 `LICENSE.md`,声明公式属于数学内容 +- 🤝 社区 PR 走 Developer Certificate of Origin (DCO) 签名流程 + +| Zoo | 数量 | 来源 | 许可 | +|-----|------|------|------| +| **qlib158** | 154 | Microsoft Qlib `Alpha158`(Apache-2.0,锁定 commit) | Apache-2.0 | +| **alpha101** | 101 | Kakushadze (2015), "101 Formulaic Alphas", arXiv:1601.00991 | 公式属于数学内容 | +| **gtja191** | 191 | 国君证券 (2014)《191 个短周期交易型 alpha 因子》研报 | 公式属于数学内容 | +| **academic** | 6 | Fama-French 5 因子 + Carhart 动量(基于价格的代理实现) | 公开学术文献 | + +运行 `vibe-trading alpha list` 浏览全部因子,`vibe-trading alpha show ` 查看公式与源码,`vibe-trading alpha bench --zoo X --universe Y --period Z` 给一整个 zoo 打分。 + +
+ ## 🎬 Demo
@@ -436,6 +463,7 @@ Vibe-Trading 是高度依赖工具的智能体:skills、backtests、memory 和 vibe-trading # interactive TUI vibe-trading run -p "..." # single run vibe-trading serve # API server +vibe-trading alpha list # 浏览 452 个预置 alpha;支持 show / bench / compare / export-manifest 子命令 ```
@@ -444,7 +472,7 @@ vibe-trading serve # API server | 命令 | 说明 | |------|------| | `/help` | 显示所有命令 | -| `/skills` | 列出全部 74 个 finance skills | +| `/skills` | 列出全部 75 个 finance skills | | `/swarm` | 列出 29 个 swarm team presets | | `/swarm run [vars_json]` | 运行一个 swarm team,并实时流式展示 | | `/swarm list` | Swarm 运行历史 | @@ -485,6 +513,9 @@ vibe-trading --pine # Export indicators (TradingView + TDX + vibe-trading --trace vibe-trading --continue "refine the strategy" vibe-trading --upload report.pdf +vibe-trading alpha list --zoo gtja191 --limit 10 +vibe-trading alpha show gtja191_171 +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 ```
@@ -509,6 +540,25 @@ vibe-trading run -p "Backtest a momentum + value + quality multi-factor strategy vibe-trading --pine ``` +**一行命令横评预置 alpha zoo**: +```bash +vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20 +``` + +**浏览目录** + 查看单个 alpha: +```bash +vibe-trading alpha list --zoo gtja191 --theme reversal --limit 10 +vibe-trading alpha show gtja191_171 +``` + +**用 zoo 因子组合多因子信号**(Python): +```python +from src.skills.multi_factor.zoo_signal_engine import ZooSignalEngine +engine = ZooSignalEngine.from_zoo(["gtja191_171", "gtja191_111", "gtja191_163"]) +panel = ... # your wide OHLCV panel +signal = engine.compute_signal(panel) +``` + ### Market Research ```bash @@ -579,6 +629,10 @@ vibe-trading serve --port 8899 | `GET` | `/swarm/presets` | 列出 swarm presets | | `POST` | `/swarm/runs` | 启动 swarm run | | `GET` | `/swarm/runs/{id}/events` | Swarm SSE stream | +| `GET` | `/alpha/list` | 按 zoo/theme/universe 过滤列出 alpha | +| `GET` | `/alpha/{alpha_id}` | Alpha 元数据 + 源代码 | +| `POST` | `/alpha/bench` | 启动一个 bench job(返回 `job_id`) | +| `GET` | `/alpha/bench/{job_id}/stream` | SSE 进度流 | | `GET` | `/settings/llm` | 读取 Web UI LLM settings | | `PUT` | `/settings/llm` | 更新本地 LLM settings | | `GET` | `/settings/data-sources` | 读取本地数据源 settings | @@ -664,7 +718,7 @@ npx clawhub@latest install vibe-trading --force
OpenSpace — 自进化 skills -全部 74 个 finance skills 都发布在 [open-space.cloud](https://open-space.cloud),并通过 OpenSpace 的自进化引擎自主演进。 +全部 75 个 finance skills 都发布在 [open-space.cloud](https://open-space.cloud),并通过 OpenSpace 的自进化引擎自主演进。 要配合 OpenSpace 使用,请将两个 MCP servers 都加入你的 agent config: @@ -686,7 +740,7 @@ npx clawhub@latest install vibe-trading --force } ``` -OpenSpace 会自动发现全部 74 个 skills,启用 auto-fix、auto-improve 和社区分享。在任意已连接 OpenSpace 的智能体中,可通过 `search_skills("finance backtest")` 搜索 Vibe-Trading skills。 +OpenSpace 会自动发现全部 75 个 skills,启用 auto-fix、auto-improve 和社区分享。在任意已连接 OpenSpace 的智能体中,可通过 `search_skills("finance backtest")` 搜索 Vibe-Trading skills。
@@ -699,55 +753,66 @@ OpenSpace 会自动发现全部 74 个 skills,启用 auto-fix、auto-improve ``` Vibe-Trading/ -├── agent/ # Backend (Python) -│ ├── cli.py # CLI entrypoint — interactive TUI + subcommands -│ ├── api_server.py # FastAPI server — runs, sessions, upload, swarm, SSE -│ ├── mcp_server.py # MCP server — 22 tools for OpenClaw / Claude Desktop +├── agent/ # 后端(Python) +│ ├── cli.py # CLI 入口 —— 交互式 TUI + 子命令 +│ ├── api_server.py # FastAPI server —— runs、sessions、upload、swarm、SSE +│ ├── mcp_server.py # MCP server —— 22 个工具,面向 OpenClaw / Claude Desktop │ │ │ ├── src/ -│ │ ├── agent/ # ReAct agent core -│ │ │ ├── loop.py # 5-layer compression + read/write tool batching -│ │ │ ├── context.py # system prompt + auto-recall from persistent memory -│ │ │ ├── skills.py # skill loader (74 bundled + user-created via CRUD) -│ │ │ ├── tools.py # tool base class + registry -│ │ │ ├── memory.py # lightweight workspace state per run -│ │ │ ├── frontmatter.py # shared YAML frontmatter parser -│ │ │ └── trace.py # execution trace writer +│ │ ├── agent/ # ReAct agent 内核 +│ │ │ ├── loop.py # 5 层上下文压缩 + 读/写工具批处理 +│ │ │ ├── context.py # system prompt + 持久记忆自动召回 +│ │ │ ├── skills.py # skill loader(75 个内置 + 通过 CRUD 创建的用户 skill) +│ │ │ ├── tools.py # tool 基类 + 注册表 +│ │ │ ├── memory.py # 每个 run 的轻量 workspace 状态 +│ │ │ ├── frontmatter.py # 共享的 YAML frontmatter 解析器 +│ │ │ └── trace.py # 执行 trace 写入器 │ │ │ -│ │ ├── memory/ # Cross-session persistent memory -│ │ │ └── persistent.py # file-based memory (~/.vibe-trading/memory/) +│ │ ├── memory/ # 跨 session 持久记忆 +│ │ │ └── persistent.py # 基于文件的记忆(~/.vibe-trading/memory/) │ │ │ -│ │ ├── tools/ # 29 auto-discovered agent tools -│ │ │ ├── backtest_tool.py # run backtests -│ │ │ ├── remember_tool.py # cross-session memory (save/recall/forget) -│ │ │ ├── skill_writer_tool.py # skill CRUD (save/patch/delete/file) -│ │ │ ├── session_search_tool.py # FTS5 cross-session search -│ │ │ ├── swarm_tool.py # launch swarm teams -│ │ │ ├── web_search_tool.py # DuckDuckGo web search -│ │ │ └── ... # bash, file I/O, factor analysis, options, etc. +│ │ ├── tools/ # 31 个自动发现的 agent 工具 +│ │ │ ├── backtest_tool.py # 运行回测 +│ │ │ ├── remember_tool.py # 跨 session 记忆(save/recall/forget) +│ │ │ ├── skill_writer_tool.py # skill CRUD(save/patch/delete/file) +│ │ │ ├── session_search_tool.py # FTS5 跨 session 搜索 +│ │ │ ├── swarm_tool.py # 启动 swarm team +│ │ │ ├── web_search_tool.py # DuckDuckGo 网络搜索 +│ │ │ └── ... # bash、文件 I/O、因子分析、期权、alpha 浏览 + 横评等 │ │ │ -│ │ ├── skills/ # 74 finance skills in 8 categories (SKILL.md each) -│ │ ├── swarm/ # Swarm DAG execution engine -│ │ │ └── presets/ # 29 swarm preset YAML definitions -│ │ ├── session/ # Multi-turn chat + FTS5 session search -│ │ └── providers/ # LLM provider abstraction +│ │ ├── factors/ # Alpha Zoo —— 4 个 zoo 共 452 个 alpha +│ │ │ ├── base.py # 19 个算子(rank/scale/ts_*/delta/decay_linear/safe_div/vwap) +│ │ │ ├── registry.py # 纯 AST 元数据加载 + 惰性计算 + sanity 校验 +│ │ │ ├── bench_runner.py # IC + alive/reversed/dead 分类 +│ │ │ └── zoo/ # qlib158 (154) + alpha101 (101) + gtja191 (191) + academic (6) +│ │ │ +│ │ ├── api/ # FastAPI 路由模块 +│ │ │ └── alpha_routes.py # /alpha/list、/alpha/{id}、/alpha/bench、SSE 流 +│ │ │ +│ │ ├── skills/ # 8 个类别共 75 个 finance skills(每个一份 SKILL.md) +│ │ ├── swarm/ # Swarm DAG 执行引擎 +│ │ │ └── presets/ # 29 个 swarm preset YAML 定义 +│ │ ├── session/ # 多轮对话 + FTS5 session 搜索 +│ │ └── providers/ # LLM provider 抽象层 │ │ -│ └── backtest/ # Backtest engines -│ ├── engines/ # 7 engines + composite cross-market engine + options_portfolio -│ ├── loaders/ # 6 sources: tushare, okx, yfinance, akshare, ccxt, futu +│ └── backtest/ # 回测引擎 +│ ├── engines/ # 7 个引擎 + 跨市场 composite 引擎 + options_portfolio +│ ├── loaders/ # 6 个数据源:tushare、okx、yfinance、akshare、ccxt、futu │ │ ├── base.py # DataLoader Protocol -│ │ └── registry.py # Registry + auto-fallback chains -│ └── optimizers/ # MVO, equal vol, max div, risk parity +│ │ └── registry.py # Registry + 自动 fallback 链路 +│ └── optimizers/ # MVO、equal vol、max div、risk parity │ -├── frontend/ # Web UI (React 19 + Vite + TypeScript) +├── frontend/ # Web UI(React 19 + Vite + TypeScript) │ └── src/ -│ ├── pages/ # Home, Agent, RunDetail, Compare -│ ├── components/ # chat, charts, layout -│ └── stores/ # Zustand state management +│ ├── pages/ # Home、Agent、AlphaZoo、RunDetail、Compare、Correlation、Settings +│ ├── components/ # chat、charts、layout +│ └── stores/ # Zustand 状态管理 │ -├── Dockerfile # Multi-stage build -├── docker-compose.yml # One-command deploy -├── pyproject.toml # Package config + CLI entrypoint +├── Dockerfile # 多阶段构建 +├── docker-compose.yml # 一条命令部署 +├── pyproject.toml # 包配置 + CLI entrypoint +├── tools/ # 仓库级 CI 辅助脚本 +│ └── ci_grep_gates.sh # 拦截 yaml.load / 商标 / 个股数据泄露 └── LICENSE # MIT ``` @@ -794,7 +859,7 @@ Vibe-Trading 是 **[HKUDS](https://github.com/HKUDS)** 智能体生态的一部 | **Data Bridge** | 自带数据:本地 CSV/Parquet/SQL connectors 与 schema mapping | Planned | | **Options Lab** | Vol surface、Greeks dashboard、payoff/scenario explorer | Planned | | **Portfolio Studio** | Risk x-ray、constraints、turnover-aware optimizer、rebalance notes | Planned | -| **Alpha Zoo** | Alpha101 / Alpha158 / Alpha191 factor libraries,支持 screening + IC tests | Planned | +| **Alpha Zoo** | 452 个预置 alpha 因子(Qlib 158 + Kakushadze 101 + GTJA 191 + FF5 + Carhart),一行 CLI 跑横评,agent 集成,Web UI 浏览 | **已发布 0.1.8** | | **Research Delivery** | 定时 briefs 到 Slack / Telegram / email-style channels | Planned | | **Community** | 可分享的 skills、presets 和 strategy cards | Exploring | diff --git a/agent/SKILL.md b/agent/SKILL.md index 192adef5..5010b9e3 100644 --- a/agent/SKILL.md +++ b/agent/SKILL.md @@ -1,7 +1,7 @@ --- name: vibe-trading -version: 0.1.7 -description: Professional finance research toolkit — backtesting (7 engines + benchmark comparison panel), factor analysis, options pricing, 74 finance skills, 29 multi-agent swarm teams, Trade Journal analyzer, and Shadow Account (extract → backtest → render) across 6 data sources (tushare, yfinance, okx, akshare, ccxt, futu). +version: 0.1.8 +description: Professional finance research toolkit — backtesting (7 engines + benchmark comparison panel), factor analysis, Alpha Zoo (452 pre-built alphas across qlib158/alpha101/gtja191/academic), options pricing, 75 finance skills, 29 multi-agent swarm teams, Trade Journal analyzer, and Shadow Account (extract → backtest → render) across 6 data sources (tushare, yfinance, okx, akshare, ccxt, futu). dependencies: python: ">=3.11" pip: @@ -23,7 +23,7 @@ mcp: # Vibe-Trading -Professional finance research toolkit with AI-powered backtesting (7 engines), multi-agent teams, 74 specialized skills, and the Shadow Account loop — extract your implicit trading rules from a journal, backtest them across A股/港股/美股/crypto, then see where they would have served you better. +Professional finance research toolkit with AI-powered backtesting (7 engines), multi-agent teams, 75 specialized skills, the **Alpha Zoo** (452 pre-built quantitative alphas across qlib158 / alpha101 / gtja191 / academic with one-line CLI benchmarking), and the Shadow Account loop — extract your implicit trading rules from a journal, backtest them across A股/港股/美股/crypto, then see where they would have served you better. ## Setup @@ -53,7 +53,7 @@ Add to your agent's MCP config: ### API Key Requirements -**21 of 22 MCP tools work with zero API keys.** After `pip install`, backtesting, market data, factor analysis, options pricing, chart patterns, web search, document reading, trade journal analysis, shadow-account extraction/backtest/report, and all 74 skills are ready to use for HK/US equities and crypto. +**21 of 22 MCP tools work with zero API keys.** After `pip install`, backtesting, market data, factor analysis, options pricing, chart patterns, web search, document reading, trade journal analysis, shadow-account extraction/backtest/report, the Alpha Zoo (452 pre-built alphas), and all 75 skills are ready to use for HK/US equities and crypto. | Feature | Key needed | When | |---------|-----------|------| @@ -99,7 +99,16 @@ Example workflow: Use `list_swarm_presets()` to see all teams, then `run_swarm()` to execute. -### Finance Skills (74) +### Alpha Zoo (452 pre-built alphas) +One-line cross-sectional IC / IR / alive-reversed-dead categorisation across four bundled zoos: +- **qlib158** (154 alphas) — Microsoft Qlib's `Alpha158` feature handler, Apache-2.0 with pinned commit SHA. +- **alpha101** (101 alphas) — Kakushadze (2015) "101 Formulaic Alphas" (arXiv:1601.00991), written from the paper appendix. +- **gtja191** (191 alphas) — Guotai Junan 2014 "191 Short-period Trading Alpha Factors" research report. +- **academic** (6 factors) — Fama-French 5 + Carhart momentum (honest price-based proxies). + +Each alpha ships with `__alpha_meta__` (formula LaTeX + theme + universe + warmup + columns required), guarded by an AST purity gate + 300-row lookahead sentinel test. Use the `vibe-trading alpha {list,show,bench,compare,export-manifest}` CLI, the `/alpha/*` REST routes (browser at `/alpha-zoo`), or compose multi-factor signals via `ZooSignalEngine.from_zoo(...)`. + +### Finance Skills (75) Comprehensive knowledge base covering: - Technical analysis (candlestick, Elliott wave, Ichimoku, SMC, harmonic, chanlun) - Quantitative methods (factor research, ML strategy, pair trading, multi-factor) @@ -116,7 +125,7 @@ Use `load_skill(name)` to access full methodology docs with code templates. | Tool | Description | API Key | |------|-------------|---------| -| `list_skills` | List all 74 finance skills | None | +| `list_skills` | List all 75 finance skills | None | | `load_skill` | Load full skill documentation | None | | `backtest` | Run vectorized backtest engine | None* | | `factor_analysis` | IC/IR analysis + layered backtest | None* | @@ -147,7 +156,7 @@ Use `load_skill(name)` to access full methodology docs with code templates. pip install vibe-trading-ai ``` -That's it — no API keys needed for HK/US/crypto markets. Start using `backtest`, `get_market_data`, `analyze_options`, `analyze_trade_journal`, `extract_shadow_strategy`, `web_search`, and all 74 skills immediately. +That's it — no API keys needed for HK/US/crypto markets. Start using `backtest`, `get_market_data`, `analyze_options`, `analyze_trade_journal`, `extract_shadow_strategy`, `web_search`, the **Alpha Zoo** (`vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025`), and all 75 skills immediately. ## Loading Tools from External MCP Servers diff --git a/pyproject.toml b/pyproject.toml index aaf6aa12..e6bb8c20 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "vibe-trading-ai" -version = "0.1.7" +version = "0.1.8" description = "Natural-language finance research AI agent with backtesting" requires-python = ">=3.11" license = "MIT" @@ -88,11 +88,13 @@ include = ["src*", "backtest*"] "shadow_account/templates/*.css", ] "backtest" = ["*.py"] +"src.factors" = ["zoo/**/*.yaml", "zoo/**/*.md", "zoo/**/NOTICE"] [project.optional-dependencies] dev = [ "pytest>=7.0", "pytest-cov>=4.0", + "pytest-socket>=0.7.0", ] [tool.pytest.ini_options] diff --git a/wiki/docs/content.js b/wiki/docs/content.js index 473bf58b..77bb75b0 100644 --- a/wiki/docs/content.js +++ b/wiki/docs/content.js @@ -1,9 +1,10 @@ -export const DOCS_DEFAULT_VERSION = "0.1.7"; +export const DOCS_DEFAULT_VERSION = "0.1.8"; export const DOCS_LATEST_ALIAS = "latest"; export const DOCS_DEFAULT_PAGE = "getting-started/vibe-trading-overview"; export const DOCS_VERSIONS = [ - { name: "0.1.7", label: "0.1.7 (latest)" } + { name: "0.1.8", label: "0.1.8 (latest)" }, + { name: "0.1.7", label: "0.1.7" } ]; export const DOCS_STRUCTURE = [