关于 dividend-tracking
用于从本地 SQLite 数据库跟踪股息收入的工作流技能,面向需要分析投资收入的人士。它规定先同步交易记录,再按月份和股票代码汇总,并提醒当前月份数据可能尚未完整。
主要功能
- 01先刷新交易数据再读取
- 02按股票代码和月份查询股息
- 03汇总月度收入并对照目标
- 04按过去 12 个月收益率评估
- 05提示月末数据延迟
适用场景
- 01同步交易后查看已收股息
- 02将月度股息收入与目标比较
- 03按过去 12 个月收益率评估持仓
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aojdevstudio/ finance-guru --skill dividend-tracking安装后在 Claude Code 中输入/dividend-tracking确认已加载。
详细介绍
股息追踪
目的
从本地数据库 transactions 表中读取已收股息记录(先刷新同步),并报告第 2 层收入与目标的对比情况。
family_office.db 是权威数据源。Dividends 表及其 Apps Script 自动化已于 2026-07-31 停用。
步骤 0:刷新(必须先同步)
股息记录来自数据库,必须先刷新,确保收入数据不会过时。遵循共享的 先同步 + 读数据库 模式。
uv run python -m src.integrations.snaptrade.sync_transactions_db # writes transactions
uv run python -m src.integrations.snaptrade.sync_transactions_db --show # confirm freshness
完成标准:在读取任何股息之前,同步命令已报告成功。
不要以 MAX(synced_at) 是否推进作为判断依据。 活动同步通过 dedupe_key 实现幂等,仅为实际写入的行添加时间戳,因此,如果运行时没有发现新活动,时间戳就不会变化。已于 2026-08-04 验证:同步报告 2690 fetched, 0 new, 2690 duplicates skipped,且 MAX(synced_at) 保持为上次运行的值。这是正常的无操作,并不表示数据表过时。
请改为查看命令本身的输出行:
N new大于 0,且时间戳推进 → 已导入新活动。0 new, N duplicates skipped→ 数据已完整,时间戳未变化是正常的。- 命令出错或没有报告任何内容 → 确实发生故障,请停止。
完整性由去重键保证,而不是由时间戳保证。
**月末延迟:**分配款会在数天内陆续入账,因此当月数据大约要到次月 3 日或 4 日才完整。2026-07-31,7 月月末读取到 30 笔付款;该月最终结算为 42 笔付款,高出约 17%。切勿将尚未完整的当月数据与已结束的前几个月比较,也切勿在当月结束前将月度环比下降称为下降趋势。
读取股息
sqlite3 family_office.db \
"SELECT date, symbol, amount, description FROM transactions WHERE type = 'DIVIDEND' ORDER BY date;"
每行包含 date、symbol、amount 和 description。空值 symbol 的股息已在活动同步期间解析出股票代码(从 description 中解析,例如 ... ETF (SCHD),与持仓/期权的股票代码回退逻辑一致),因此 symbol 是可靠的。
去重无需外部台账:活动同步通过 dedupe_key 实现幂等,因此重复运行不会重复计数。
月度分析
按股票代码和月份汇总:
sqlite3 family_office.db \
"SELECT strftime('%Y-%m', date) AS month, symbol, ROUND(SUM(amount), 2) AS received
FROM transactions WHERE type = 'DIVIDEND'
GROUP BY month, symbol ORDER BY month DESC, received DESC;"
月度总额与第 2 层目标的对比:
sqlite3 family_office.db \
"SELECT strftime('%Y-%m', date) AS month, ROUND(SUM(amount), 2) AS total
FROM transactions WHERE type = 'DIVIDEND' GROUP BY month ORDER BY month DESC LIMIT 12;"
评估标准
- 根据过去 12 个月的收益率评估持仓,而不是根据月度分配变化。
- 对于基于期权的基金,月度分配变动 ±5-15% 属于正常情况。不要将其视为风险并发出警报。
- **只有以下情况才构成卖出触发的危险信号:**持续下跌超过 30%、净资产值侵蚀,或策略变更。正常波动不属于此类情况。
保证金覆盖
股息收入与保证金利息的比率是决定加仓触发条件的覆盖率。请参阅 margin-management 技能;此处不要重新计算阈值。
CSV 备用方案
imports/Dividend_Positions_MMM-DD-YYYY.csv(Fidelity 股息视图导出文件)仍可作为手动对账数据源,以备实时活动同步不可用时使用。它不是主要数据路径。
参考文件
- 用户档案:
user-profile.yaml - 先同步模式:
.claude/skills/_shared/SyncFirstDbRead.md - 收益工具框架:
fin-guru/data/modern-income-vehicles.md
仅供教育用途,不构成投资建议。股息分配并无保证,过去的收益率不能预测未来收入,基于期权的收益基金存在本金损失风险。采取行动前,请咨询持牌金融和税务专业人士。
技能类型:领域(工作流指导) 执行方式:SUGGEST 优先级:高