基于哈利·布朗永久组合(Permanent Portfolio)策略的投资组合管理工具。支持实时行情监控、自动再平衡建议、绩效追踪、Telegram 通知提醒和数据备份恢复。
仅供个人投资组合管理参考,不构成任何投资建议。
| 模块 | 功能 |
|---|---|
| 仪表盘 | 资产配比饼图、各类权重仪表、组合总市值、涨跌概览 |
| 持仓管理 | 添加/编辑/删除持仓、标的模糊搜索(支持中英文)、同标的持仓合并 |
| 再平衡 | 带宽偏离检测、再平衡方案生成、分配模式选择(等额/按市值/自定义)、批量确认执行 |
| 历史记录 | 交易流水、净值曲线(3小时采样)、绩效指标(CAGR、最大回撤等) |
| 设置 | 基准货币、API 密钥、目标权重/带宽/交易参数、Telegram 通知、数据备份 |
| 类别 | 默认标的 | 说明 |
|---|---|---|
| 股票 (STOCKS) | QQQ / VOO / 510300.SS | 追求增长 |
| 长期国债 (LONG_BONDS) | TLT / EDV | 经济衰退对冲 |
| 黄金 (GOLD) | XAUUSD / GLD / 518880.SS | 通胀对冲 |
| 现金/短债 (CASH) | BIL | 通缩/流动性对冲 |
支持中国、香港、美国三个市场的标的,每个市场使用最优数据源:
| 市场 | 数据源 | 说明 |
|---|---|---|
| 中国 | 腾讯财经 → Stooq | A 股、场内 ETF/基金 |
| 香港 | 腾讯财经 → Yahoo → Stooq | 港股 |
| 美国 | Yahoo Finance → Stooq | 美股 |
| 大宗商品 | Yahoo Finance → Stooq | 现货黄金等(通过预设添加) |
搜索支持中文关键词和股票代码,通过新浪财经 API 提供中英文模糊搜索(如输入"长江电力"、"AAPL"、"黄金ETF"均可)。
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建
npm run build
# 运行测试
npm run test
应用使用多个行情数据源,通过 Vite 代理转发请求。无需配置任何 API Key 即可使用全部功能(行情数据通过公开源获取)。
应用按以下优先级获取行情数据,任一源失败会自动切换到下一源:
FMP API(需 API Key)→ 按市场选最优源(中国→腾讯,香港/美国→Yahoo)→ Stooq 兜底
配置后作为第一优先级数据源,可获得更稳定的行情数据。
免费版有调用频率限制,建议仅用于个人少量持仓的行情获取。
应用支持通过 Telegram 机器人推送再平衡提醒。当资产配比偏离目标带宽时,自动发送通知。
/newbotPermPort 通知bot 结尾,例如:permport_notifier_bot123456789:ABCdefGHIjklMNOpqrsTUVwxyz
保存好这个 Token/start<BOT_TOKEN> 替换为你的 Token):
https://api.telegram.org/bot<BOT_TOKEN>/getUpdates"chat":{"id": 后面的数字,这就是你的 Chat IDjson
{
"ok": true,
"result": [{
"message": {
"chat": {
"id": 123456789,
"first_name": "Your Name"
},
"text": "/start"
}
}]
}
Chat ID 就是 123456789如果
getUpdates返回空结果,尝试先给机器人发一条消息后再刷新。
应用数据存储在浏览器的 IndexedDB 和 localStorage 中。建议定期备份。
恢复操作会覆盖当前所有数据,请谨慎操作。
自动备份依赖浏览器的 File System Access API,仅 Chromium 内核浏览器(Chrome、Edge)支持,且文件句柄仅在当前浏览器会话内有效。
src/
├── components/
│ ├── charts/ # 图表组件(饼图、净值曲线)
│ ├── forms/ # 表单组件(持仓表单、交易记录、分配配置)
│ └── Layout/ # 布局(侧边栏导航)
├── db/ # Dexie IndexedDB 数据库
├── pages/
│ ├── Dashboard/ # 仪表盘
│ ├── Holdings/ # 持仓管理
│ ├── Rebalance/ # 再平衡
│ ├── History/ # 历史记录
│ └── Settings/ # 设置
├── services/
│ ├── calcService.ts # 组合计算
│ ├── fxService.ts # 汇率服务
│ ├── quoteService.ts # 行情服务(多源回退,按市场选源)
│ ├── searchService.ts # 标的搜索(新浪财经,支持中英文)
│ ├── rebalanceService.ts # 再平衡引擎
│ ├── notificationService.ts # Telegram 通知
│ ├── backupService.ts # 数据备份
│ ├── performanceService.ts # 绩效计算
│ └── snapshotService.ts # 快照服务
├── stores/
│ ├── portfolioStore.ts # 持仓/交易/快照状态
│ ├── quoteStore.ts # 行情/汇率状态
│ └── configStore.ts # 配置状态
└── types/ # TypeScript 类型定义
MIT
$ claude mcp add investment \
-- python -m otcore.mcp_server <graph>