Skip to content

Repository files navigation

资产配置看板 · asset_dashboard

配套文档:[[资产配置V2_0_战术执行手册]] 入口:index.html · 通过本地 HTTP 服务打开

如何把项目交给 AI

  • 只让 AI 理解项目怎么用:给 GitHub 仓库地址通常就够了,让它先读 README.md 和 AGENTS.md
  • 让 AI 真正帮你改数据/跑脚本/起本地预览/做校验:必须给它一个本地项目副本(直接打开本地文件夹、git clone、或下载 zip 解压都可以;zip 只是兜底方案)

文件结构

asset_dashboard/
├── index.html
├── app.js                     # 视图渲染(无依赖)
├── data/
│   ├── target.json            # 理想化目标 ← 改这里 = 改战略
│   └── history.json           # 历史快照(append-only) ← 改这里 = 报新数值
├── scripts/
│   └── fetch_rates.py         # 抓实时汇率
└── README.md

数据建模原则

1. 一个账户/标的 = 一个 sub

不再合并。例如腾讯持仓在 3 个账户里:

key 名称 账户 币种
tencent_futu 腾讯(富途·HK) 富途牛牛 HKD
tencent_zhongyin 腾讯(中银证券·港股通) 中银证券 RMB
tencent_zhaoshang 腾讯(招商证券·港股通) 招商证券 RMB

看板顶部 KPI 会把 keytencent_ 开头的所有子项合并算"单一公司红线"。

2. 汇率每次都抓

每次报数前都抓一次实时汇率,写进 snapshot 的 rates 字段,永不复用旧汇率:

cd /path/to/ai-finance-dashboard
python3 scripts/fetch_rates.py            # 看一眼
python3 scripts/fetch_rates.py --json     # 输出 snapshot 模板

3. history.json append-only

每次报数 = append 一条新 snapshot,旧的原封不动。

{
  "snapshots": [
    { "date": "2026-05-16", "rates": {...}, "holdings": {...} },
    {
      "date": "2026-08-31",
      "rates": { "USD": 7.10, "HKD": 0.91 },
      "ratesSource": "open.er-api.com (...)",
      "comment": "Q3 复盘 / 卖了腾讯 80 万",
      "holdings": {
        "tencent_futu":     { "raw": 1800000 },
        "tencent_zhongyin": { "raw": 800000 }
      }
    }
  ]
}

缺失的 holdings key 按 0 计算。一次只填变化的资产即可,但建议每次都填全(防止遗忘)。

怎么报新数值

直接向维护者或本地助理提供报数:

报数:今天微众活期 X 万、富途货基 Y 美元、腾讯(富途)Z 港币……

维护流程会:

  1. python3 scripts/fetch_rates.py 抓实时汇率
  2. history.json 末尾 append 一条新 snapshot
  3. 不动 target.json(除非你说要改战略)

模块结构(target.json · V3.5)

大类 目标 阈值 子项
一·防御与流动性 12% ±3% 人民币生存现金 / 南向通闭环资产 / 美元机会现金 / 中长期美债;按风险角色分别统计
二·收入与实物资产 47% ±5% 前海房产 / 515450 / 563020;不把房产或红利资产等同现金安全垫
三·美国为主的增长 23% ±5% CSPX/VUAA / VOO / QQQM;名称不再暗示已充分全球分散
四·黄金避险 13% ±3% IAU / 实物黄金 / 518880
五·集中股 5% ±1% 腾讯跨账户、币种与通道合并敞口

条件化配置剧本

target.json.assetPlaybooks 用于承载“同一资产在不同条件下做不同事”的决策。面板会根据 observations 自动显示当前阶段、允许仓位、当前动作、下一阶段及未满足条件。南向通默认常态目标 5%,只有通道、产品、净收益差、赎回时效和境内流动性同时达标,才允许进入最高 8% 的机会仓;额度获批本身不构成买入信号。

V3.3 新增国债与实物金剧本:双工资存续时国债目标为 0,离职后现金帐篷不足才启用;实物金必须通过保管、正规回购渠道、价格回撤和实物溢价条件。调整优先级队列 自动按红线 → 通道解锁 → 重大资产事件 → 条件化标的 → 普通目标缺口排序,目标差距本身不再等于交易指令。

V3.4 将计价币种与资金池归属拆分:港股通腾讯虽然以 HKD 计价,但属于人民币来源闭环池;富途 HKD 才属于自由海外池。终局池目标为 RMB 来源池 65% / 自由海外池 35%。

V3.5 把塔勒布式“先保证不出局,再保留上行”的思想改造成家庭可执行约束:生存现金只认指定人民币资产,美元货基是机会资金,中长债是久期资产;腾讯从黄金模块拆出并按期限滑降;Sell Put 在现金帐篷、集中度和税务复核完成前暂停。价格阶梯只能加速减仓,不能替代期限。

注意: 面板展示的“当前目标占比”可以根据家庭不同阶段灵活调整,例如资产变现或追加投资后,只需在 target.json 中调整 targetPct 即可。

生命周期与治理

  • current 是真实快照;transition 表示重大资产处置尚未完成;steady_state 是资金完成部署后的终局目标。
  • 过渡期内受资金事件约束的缺口只显示为规划,不构成立即交易信号。
  • 单一公司按最终发行人跨账户合并:5% 是终局目标;警戒、受控减仓和硬性处置是不同阈值,腾讯另有最迟完成日。
  • Sell Put 是负凸性工具,当前治理暂停。即使未来重启,也必须同时通过 VIX、回撤、全额现金覆盖、行权后仓位、单次限额和重叠义务检查;系统不自动下单。
  • 美国注册资产按组合聚合美元市值检查;达到 governance.usSitus.reviewThresholdUSD 后暂停新增并提示专业复核。该线不是税务结论。
  • 税务与 CRS 页面只提供带前提的事实和情景。地址、签证、租约或银行账单不单独决定税务居民身份。

提前退休韧性

  • 2027 年工资归零是提前退休提款阶段,不是“今天停止储蓄、等到法定退休再提款”的经典 Coast FIRE。
  • capitalPolicy 是支出与现金帐篷的唯一规则源:生存支出、基准支出、现金目标月数及可计入资产 key 都在这里定义。
  • expectedReturn 一律为名义收益;实际收益统一按 inflation.annual 换算。页面不再使用独立的 5%/6%/7% 实际收益假设。
  • 长期情景会扣除“基准支出-已确认房租/副业”的净提款;家庭代管资金不计可支配收入,投资总回报也不会被假设成自动派息。

双层阈值

  • 大类module.thresholdPct(图片里的 ±3%/±5%/±2%)
  • 子项sub.subThresholdPct(独立计算,不影响大类)

红色 over / 黄色 under / 静音 ok。看板会同时标红/标黄。

计算逻辑

sub.rmb        = sub.raw × rates[sub.ccy]
module.total   = sum(subs.rmb)
total          = sum(modules.total)
module.actual  = module.total / total
sub.actual     = sub.rmb / total

看板能力

区块 输出
顶部 KPI 总盘 / 模块+子项告警数 / 腾讯合并敞口 / RMB 占比 + 环比
模块画像 每个大类一张卡:进度条 + 目标线 + 阈值带 + 子项明细(含账户)
偏离告警表 双层状态(大类 + 子项)一览
币种分布 RMB/USD/HKD + 红线判定
趋势图 总盘 / RMB 占比 / 腾讯敞口 / 告警数(红线虚线)
时间线 历次快照可点击切换;显示备注 + 环比

本地预览

cd /path/to/ai-finance-dashboard
python3 -m http.server 8765 --bind 127.0.0.1
# 浏览器打开 http://localhost:8765

⚠️ 必须用 HTTP,不能 file://(fetch JSON 会被浏览器拦)。

金额隐私锁

“隐藏金额”用于防旁观和演示误触,不会加密 data/ 中的原始财务文件,也不能阻止拥有本机文件权限的人直接读取 JSON。

点击“隐藏金额”后选择“设置解锁密码”,即可直接在页面完成。密码本身不会保存;当前浏览器的 Local Storage 仅保存随机盐和 PBKDF2-SHA256 校验值。隐藏金额无需认证,再次显示金额必须输入密码。

这不是安全存储,也不是加密:清除浏览器站点数据或在开发者工具删除 Local Storage 中的 afd_privacy_lock_v1 即可重置密码,财务数据不会受影响。换浏览器、无痕窗口或换设备时需要重新设置。

红线参考(来自战术执行手册 V2.0)

红线 阈值 触发动作
单一公司持仓(合并所有账户) 5% 终局目标;另设警戒/处置线 按期限滑降;价格只加速,不延后
单一币种 > 70% 触发换汇/再平衡
大类偏离 > ±2~5% 季度末再平衡
人民币生存现金 低于目标月数 优先补足现金帐篷,暂停风险扩张
美国 situs 聚合暴露 达专业复核线 暂停新增美国注册资产并复核持有结构
杠杆 任何 Margin 立刻关闭

About

No description, website, or topics provided.

Resources

Stars

48 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages