用途:从本地数据库 family_office.db 的 transactions 表读取已收到的股息(DIVIDEND)记录,按 Layer 2 收入目标进行跟踪与报告。数据库为记录源,原 Dividends 表格及其 Apps Script 自动化已于 2026-07-31 停用。
主要能力:先执行同步,再读取股息数据,支持按标的和月份聚合、月度总额对照目标、计算与保证金利息的覆盖比例(阈值见 margin-management 技能,不在此重算)。
使用方式:先运行同步命令,确认成功后再读取: uv run python -m src.integrations.snaptrade.sync_transactions_db uv run python -m src.integrations.snaptrade.sync_transactions_db --show 读取示例: sqlite3 family_office.db "SELECT date, symbol, amount, description FROM transactions WHERE type = 'DIVIDEND' ORDER BY date;" 月度聚合: 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;" 月度总额: 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;"
适用场景:家庭办公室场景下的股息收入跟踪、月度汇总、收益评估与保证金覆盖分析。
限制:不要以 MAX(synced_at) 是否推进判断是否新鲜,同步通过 dedupe_key 幂等,仅给实际写入行打时间戳;应以命令输出判断(N new 大于0且时间戳推进为有新活动;0 new 且跳过重复为正常空操作)。月末滞后:当月数据约在次月3至4日才完整,不要用未完整当月与已完整前月比较,也不要据此判断环比下降。评估持仓应看滚动12个月收益率,而非逐月分配变化;期权型基金月度分配±5-15%波动属正常。卖出触发仅限持续下降超过30%、净值侵蚀或策略变更等红灯。若实时活动同步不可用,可用 imports/Dividend_Positions_MMM-DD-YYYY.csv 作为人工对账的备选来源,但非主路径。仅供教育用途,不构成投资建议。