开源 · 可自托管

买入很容易。
难的是知道什么时候卖。

找十倍股的工具多得是,PortVise 想解决的是更难的问题:已经持有的仓位,该怎么办。

MIT 许可 兼容 OpenAI 支持 Docker
一张 PortVise 评审进行中的截图:九个智能体的流水线已完成八个并标出各自耗时,下方的进度面板正在实时滚动每个智能体的输出。
样例组合的一次真实评审,九个智能体已跑完八个。 看看它得出的结论
为什么做这个项目

你买入它,是因为某个理由。
这个理由现在还成立吗?

一旦成交,持仓就不再是一个想法。它有你的成本价、你每天盯着的走势,还有一个你曾向人捍卫过的故事。PortVise 会不带沉没成本地,把每一笔持仓的买入逻辑重新推演一遍。

当初的理由已经变了

出了新闻、冒出对手,或者只是执行没跟上。总之,你现在留着这笔仓位,用的已经不是买入时的那套理由。

一亏钱,就觉得自己看错了

于是你越跌越卖,哪怕基本面一点没变。波动,不等于看错。

评审是怎么跑的

九个智能体,一个来龙去脉清晰的结论。

一个提示词就能给你一份漂亮的答案,但事实、计算、观点混在一起,你根本说不清结论从哪来。PortVise 把评审分成三个环节,各条推理线彼此独立,让它们有机会互相反驳。

01

收集

价格、头条新闻、你的持仓,以及宏观背景。

02

挑战

风险、市场状态、主题各自独立过一遍,再检查结论有没有互相打架。

03

决策

结论会变成排序后的行动清单:减仓、清仓、对冲、调仓、加仓或继续观察。

01

规划者

定好这次评审的计划和优先搜什么。

02

数据

抓取实时价格、新闻与宏观数据。

03

新闻

梳理宏观和市场的整体背景。

04

风险

集中度、因子暴露,以及行情走坏时先崩的是谁。

05

市场状态

寻找与当前阶段相似的历史时期。

06

主题

判断多个持仓是不是在说同一件事。

07

校验

结论发布前,把互相矛盾的地方和缺失的输入标出来。

08

配置

算清楚把钱晾在现金里的机会成本。

09

总管理人

把各方结论权衡一遍,写下排序后的行动清单。

让每一笔持仓都凭实力留在组合里。

备忘录里写清楚:该怎么做、主要风险在哪、什么时候再看一次、什么情况会推翻结论。如果它给不出留着的理由,它也会直说。

  • 减仓、清仓、对冲、调仓、加仓或观察
  • 每一笔持仓,都要说明理由和仓位大小
  • 按兵不动的理由,白纸黑字
本周

逻辑没变,但要降低集中度。

AI 的逻辑依然成立,问题是这些仓位同涨同跌。真跌起来,比任何一支股票出问题都严重。

态度
选择性减仓
主要风险
因子集中
复查
财报之后
紧急减仓NVDA减至 18-20% 左右
观察持有MSFT逻辑仍然成立

十个代码,也可能是一笔押注。

全都盯着同一套利率、同一批流动性、同一个题材,股票再多也等于没分散。这个引擎,就是帮你把这种“假分散”算清楚。

成长因子
集中度偏高
利率敏感度中等

历史总在重演。

用今天的宏观状态去和历史时期比对,看看那时候的组合接下来发生了什么。这是参照,不是预测。

相似度78%Q4 2018
平均回报+4.8%21 days
最大回撤−9.2%21 days
PortVise 每日简报

三个小组合,
收盘后统一过一遍。

三个不同风格的小组合,全程公开。PortVise 会在美股收盘后把三个组合都过一遍,然后把建议发给你。

按你的方式运行

你的机器,你的模型,
你的持仓数据。

PortVise 可以对接任何兼容 OpenAI 的接口——本地的模型也行,云上的大模型也行。Web 应用可以直接用 Python 跑,也可以整套丢进 Docker。

MIT 许可 兼容 OpenAI 云端或本地模型 CLI 与 MCP 访问
portvise / quickstartbash
# 安装依赖
$ uv sync
$ npm install

# 启动组合顾问
$ uv run python run.py

✓ PortVise 已在 http://localhost:7860 启动
欢迎来验证

我开源这个项目,
就是想听大家说它哪里错了。

在每个交易日之后跟进三个组合,或者读读代码,告诉我它遗漏了什么。