MCPcopy Create free account
hub / github.com/HKUDS/Vibe-Trading

github.com/HKUDS/Vibe-Trading

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.14 ↗ · + Follow · compare 5 versions
19,054 symbols 76,060 edges 1,742 files ⚖ MIT 8,604 documented · 45% updated 1d agov0.1.14 · 2026-08-20★ 31,4867 open issues

Browse by type

Functions 16,853 Types & classes 2,089 Endpoints 112
What it actually does AI analysis from the code graph
loading…
README

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

Vibe-Trading Logo

Vibe-Trading:你的个人交易智能体

一条命令,让你的智能体具备完整交易研究能力

HKUDS%2FVibe-Trading | Trendshift

Python FastAPI React PyPI License

Feishu WeChat Discord

官网  ·  文档  ·  News  ·  Features  ·  Shadow Account  ·  Demo  ·  Quick Start  ·  Examples  ·  API / MCP  ·  Roadmap  ·  Contributing

pip install vibe-trading-ai


📰 News

⚠️ 安全警告: X 账号 VibeTrading_HKU、Virtuals 项目 101845 及代币合约 0x640BDBF77b6447E8b7DB7894cED84BD1c40571f4 均非 Vibe-Trading 官方。我们从未发行或背书任何代币或 meme 币。请勿购买、连接钱包或签名。详细说明

  • 2026-08-20 🚀 v0.1.14 发布Release notespip install -U vibe-trading-ai):自 0.1.13 以来 272 个 commit、74 个已合并 PR。主角是:跑完的回测终于是可以读的东西,而不是一堆 CSV。 Run Detail 新增四个页签——因子研究(IC 序列与其均值线、IC 统计、分组净值,以及一个此前根本不存在的 IC 两两相关矩阵)、持仓结构(带日期滑块的权重饼图/树图、行业净敞口柱、权重演化面积图;饼图是总额构成而柱图是净额,所以同一行业里的多空对冲在柱图上抵为零、在饼图上两条腿都还看得见)、Tearsheet(月度收益热力图、年度柱状图、前 5 大回撤并标注在净值曲线上),以及一个带 KPI、基准相对净值、滚动 Sharpe 和完整成交流水的交互式研究看板。四者读的都是运行本就写出的 artifact——没有新增数据管线。新的 Options Lab 页面提供到期损益图、现价×IV 情景矩阵、组合希腊字母和实时期权链,算的是 MCP 工具同一套被测试钉死的引擎。安装: Intel Mac 又能 pip install vibe-trading-ai 了——smartmoneyconcepts 会拖进 llvmlite,而后者从 0.46 起不再提供 macOS x86_64 wheel,于是每一次 Intel 安装都变成需要 CMake 的源码构建;现在它改为可选的 [smc] extra,过期的 <3.14 上限也一并去掉(#1035)。新增: 跨 Alpha Zoo 与 SDM 库的证据闸门策略发现,带证据填充路径、读取时计算的新鲜度(fresh/aging/stale)以及陈旧行 fail-closed 退出默认推荐;排期研究现在会自己投递——经带租约的 outbox 送出,并把每个监控的判定持久化供 Market Watch 列表使用;七个只读 Futu 端点;越南(HOSE)成为回测市场;离线 USD-M 账户对账Novita AIGitHub Copilot 两个模型提供方;托管的 MetaTrader 5 数据源;西班牙语德语界面;MCP 工具增至 74 个。正确性: 测试套件不再逃出沙箱写进你真实的配置根目录——此前跑一次全量会往那本哈希链式的实盘审计账本里追加伪造的 order_rejected 记录;build_registry() 不再静默返回一份残缺的工具表;xirr 扛得住长周期折现下溢,DCF 遇到非有限输入直接拒绝而不是返回一个负的每股价值;.VN 代码不再按 A 股规则撮合;回测归档不再把两次运行的产物混进同一个包;另有一轮 grounding 修复,终结了日期、有序列表、费率公式里的恒等常数以及被误读成报价的下单指令这几类误拒。感谢 @Shizoqua、@shadowinlife、@pengpengyi92、@cgycorey、@ofeksh-tr、@lorenzozanee、@AndyLongest、@zzz607、@wiliao、@jay79-boop、@Robin1987China、@Echoandelementwebsites、@zhiwuyazhe-fjr、@x-lambda、@sykuang、@straun-repo、@nstavros、@ngoanpv、@miguelangelo78、@lukiod、@jax-novita、@honginp、@he-yufeng、@fixXxerTech、@er-s-an、@daviddaco1、@birdxs、@QCYTSN、@549236606-oss 和 @1psconstructor。
  • 2026-08-19 🔌 卡住的运行、每个任务泄漏一条连接、装不上的 Intel Mac:provider 静默时运行会无限冻结——新的 VIBE_TRADING_LLM_TIMEOUT_SECONDS(默认 300s)为调用设界,且 tool-call 标记不再被当作最终答案输出(#1105)。swarm 每个任务都会泄漏一条池化 HTTP 连接(#1145,关闭 #1141)。另修复:vibe-trading show <run_id> 崩溃(#1147,关闭 #1146)、覆盖在途投递(#1140)、回测验证证据被丢弃(#1139)、MCP 分页(#1137#1138)、预测市场非有限值(#1136)。新增: 七个富途只读接口(#1135)、推断策略名加显式 Inferred 标(#1134)。安装: smartmoneyconcepts 改为 [smc] extra——它拖入的 llvmlite 不发 macOS x86_64 wheel,让每一次 Intel Mac 安装都变成 cmake 源码编译(#1035);<3.14 上界随之取消。感谢 @wiliao@cgycorey@Shizoqua@Echoandelementwebsites@549236606-oss@fixXxerTech
  • 2026-08-18 🈶 正确的报告不再被拒答,回测不再交易噪声\b 是 Unicode 感知的, 也算词字符,于是 (2026-07-14最低) 在「日」之后没有边界——日期逃过掩码,2026714 作为价格进入 OHLC 核对,而任何已观测区间都容不下它们(#1132,关闭 #1122)。同族的另外四种拒答一并修掉:短横线交易日(08-10(一))、区间式点位只被吃掉下界留下 -20、GTC 挂单行(100 @ $3.50)被当成两个已观测报价、以及报告体日期单元格匹配不上任何证据行。回测:position_adjustment="hold" 会静默丢弃策略明确要求的调仓,而 "rebalance" 根本没有漂移容差——实测日涨幅仅 0.01% 就在 30 根 bar 里重新钉住 19 次,于是有自己 rebalance_freq 的策略照样每根 bar 都在交易。被丢弃的请求现在会报出来,新增的 rebalance_tolerance 就是从业者说的「偏离超过 X 才调仓」,默认 0.0,任何现有回测的数字都不变。另有 19 个行业中性的 alpha101 因子,此前在每次 SP500 bench 上都被跳过,只因面板缺一个 sector 标签——而它本来就在成分股所在的那张表里。新增: Market Watch 的监控可在运行结束后把简报推送到 IM 频道,走持久化 outbox,重启不会丢、并发扫描不会重发(#942);德语成为第 7 种界面语言#1117);run_dcf 拒绝非有限输入,而不是返回一个看起来合理的负股价(#1121,关闭 #1120);MCP 的 get_market_data 响应终于带上它自己 docstring 承诺的 _provenance#1131);导入失败的工具模块会被指名,而不是悄悄缩小注册表(#1129,关闭 #1124);以及离线 USD-M 账户对账,在不建立任何连接的前提下比对本地风险状态与一次交易所观测(#1106)。另外: 导入 backtest.runner 不再把 .env 载入进程——在任何存在 agent/.env 的机器上,这曾让本地全量测试根本不可信(#1123)。感谢 @Robin1987China@newgo@er-s-an@Shizoqua@1psconstructor@honginp@cgycorey@alinv0@jelech

更早的新闻

  • 2026-08-17 🔒 测试套件不再写入你真实的配置根目录——包括实盘审计账本:跑项目自己的测试套件会往 ~/.vibe-trading/live/audit.jsonl 追加伪造的 order_rejected 记录,而这是一个只追加、哈希链式的账本,它的全部价值就在于条目无法被制造;Windows 上还会留下一个损坏的链文件。conftest.py 原本完全没有配置根沙箱,因此任何在导入时就固化 Path.home() / ".vibe-trading" 的模块,在任何平台上都会解析到真实主目录——Windows 更糟只是因为那里 Path.home()%USERPROFILE% 而忽略 $HOME,使套件一直沿用的隔离写法形同虚设。现在主目录在收集测试前就被重定向,沙箱只保留一个旋钮以确保单测自身的隔离仍然优先,并在会话结束时断言真实账本逐字节未变,而不只是检查重定向已装上(#1118,关闭 #1116)。此外:xirrmoney_weighted_return 在超过约 51 年的跨度上会抛出 ZeroDivisionError,因为贴现因子下溢为零——而长期、不规则的现金流恰恰是 XIRR 存在的意义(#1119);归档进活动运行的回测会与上一次的产物合并,导致一份报告可能描述两次不同的回测,而 /runs/{id} 还把残留文件列为本次运行的产物(#1094)。感谢 @lorenzozanee@straun-repo@pengpengyi92
  • 2026-08-16 🔧 Anthropic 运行不再死在恢复路径上,symbol 搜索不再把空结果报成正常:恢复路径中途追加的 system 消息会被 Anthropic API 拒绝、直接杀死运行,恢复引导现改为带内联 <system> 标签的用户消息(#1112,关闭 #1109)。search_symbol 对 ticker+名称组合查询返回零候选却双源报 ok,导致身份无法锁定、所有数据工具被拒;Yahoo 路径现在把这类查询标记为 skipped 而非误导性的 ok#1114,关闭 #1108)。此外:LANGCHAIN_REASONING_EFFORT 现经模型白名单在 Anthropic 分支生效(#1115);腾讯行情源用 certifi CA 包修复 CERTIFICATE_VERIFY_FAILED#1113);revenue - cogs 的 gross-profit fallback 不再是死代码(#1111);swarm worker 改用共享截断助手,子代理始终能看到截断提示(#1110)。感谢 @lorenzozanee@straun-repo@x-lambda@cgycorey@Shizoqua
  • 2026-08-15 🛡️ 桌面更新更安全、Windows 打包更可靠,Run Detail 加入因子研究:休眠 updater 边界现在会保留自有进程证据以便重试清理,以 TCP 监听而非 HTTP 健康检查判定端口是否仍存活,原子预留恢复日志,把 Authenticode 与哈希绑定到同一份暂存字节,并在启动前再次校验(#1101)。Windows 打包现在自行完成有界、校验和验证的 Electron 下载,并通过 7-Zip 将固定版本的 GTK 资产仅作为归档解开,不再执行不稳定的旧安装器;原生 Windows CI 覆盖退出码、超时、runtime 组装、NSIS 与打包后启动(#1104,关闭 #1093)。Run Detail 新增 IC 序列与统计、分位数组合净值和 IC 相关矩阵,并限制 artifact 遍历范围、保证 JSON 数值有限(#1099,关闭 #1100);通用 hash lock 也已在 Linux、macOS ARM64 与 Windows 原生验证(#1102,关闭 #1089)。感谢 @QCYTSN@shadowinlife
  • 2026-08-14 ⚙️ 一个设了等于没设的推理档位,以及本可恢复却停下的运行LANGCHAIN_REASONING_EFFORT 在几乎所有 provider 上都是静默无效的——只有直连 OpenAI 收得到,所以在 DeepSeek 上设 high 什么都不会改变,也没有任何地方告诉你。现在这个档位经由各适配器自己的字段抵达两条传输通道:默认走 Chat Completions,LANGCHAIN_USE_RESPONSES_API=true 时走 Responses API。收顶层 reasoning_effort 的 provider 是一份经过验证的白名单,而不是"凡是说 OpenAI 协议的都发"——严格校验请求体的端点会直接拒绝未知字段并让整个调用失败,所以猜错的代价是每一次请求,而不是一个不生效的设置(#1025)。grounding 关卡也不再在确定性只读恢复仍然可用时就抛出"请确认后继续":未解析的标的现在会以自己的有界预算驱动 search_symbolget_market_data,而不是耗尽整轮迭代后失败关闭(#1092,关闭 #1081)。新增:Options Lab 页面——多腿到期损益图、现价 × 隐波情景矩阵、组合希腊字母与实时期权链,全部由既有的 payoff 工具与 quantlib 计算,没有第二套公式实现(#1096);回测 tearsheet 标签页,含月度收益热力图、年度收益与前 N 大回撤区间(#1091);tickerall 成为第 25 个行情源——托管的 MetaTrader 5 外汇/贵金属数据,任何操作系统都无需本地终端,且仅在显式指定时启用,因此券商密钥永远不会成为静默降级的目标,被截断的历史窗口会报错而不是悄悄返回一段短序列(#968,关闭 #897);以及 Novita AIGitHub Copilot 成为内置 provider(#1059#990)。eToro 新增按品种类型浏览资产类别,且复制跟单现在会带着明确理由拒绝模拟账户,而不是以晦涩的方式失败(#1070)。感谢 @cgycorey, @Shizoqua, @shadowinlife, @miguelangelo78, @jax-novita, @sykuang, 以及 @ofeksh-tr
  • 2026-08-13 🎯 回测报告呈现真正成交的持仓positions.csv 此前存的是优化器的目标权重,因此在整手取整、费用或订单被拦下的情况下,报告可能声称 80% 敞口而组合实际接近 20% —— 而同一批目标值还被喂给了投入权重指标与风险透视。成交实况现在写入 positions.csv,请求保留在 target_positions.csv#1082)。Run Detail 新增研究 dashboard,入口 ?view=dashboard#1084);西班牙语成为第六种界面语言#1087)。另外:get_research_reports 此前对每个 A 股代码都返回 HTTP 400(#1077);IBKR 报价区分请求的行情档位与实际生效的档位(#1075);.env.partial 改为原子写入(#1086);Docker workflow 把 action 钉到 commit 并以哈希锁安装消息通道 SDK(#1088);grounding 门不再把支撑/阻力阶梯与历史高点当作已观测价格(#1060)。感谢 @AndyLongest、[@daviddaco1](https://g

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 10,453
Method 6,400
Class 1,882
Interface 207
Route 112

Languages

Python95%
TypeScript5%

Modules by API surface

agent/cli/_legacy.py174 symbols
agent/tests/test_institutional_holdings_tool.py124 symbols
agent/tests/test_shadow_account.py122 symbols
agent/tests/test_strategy_store.py108 symbols
agent/mcp_server.py108 symbols
agent/tests/test_agent_grounding.py106 symbols
frontend/src/lib/api.ts105 symbols
agent/tests/test_mt5_connector.py101 symbols
agent/tests/test_prediction_market_tool.py99 symbols
agent/tests/test_entities_spine.py98 symbols
agent/tests/test_base_engine.py90 symbols
agent/tests/test_llm.py88 symbols

Dependencies from manifests, versioned

@electron-internal/extract-zip1.0.4 · 1×
@fontsource/inter5.3.0 · 1×
@fontsource/jetbrains-mono5.3.0 · 1×
@testing-library/react16.3.2 · 1×
@types/node24.10.0 · 1×
@types/react19.2.18 · 1×
@types/react-dom19.2.4 · 1×
@vitejs/plugin-react5.2.0 · 1×
@vitest/coverage-v84.1.10 · 1×

For agents

$ claude mcp add Vibe-Trading \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page