3. 数据源识别与获取方案设计
板块轮动周报与月报的质量,首先取决于数据源是否选得准、接得稳、更新得及时。本节要解决的核心问题是:把一份轮动报告所需的数据拆解成可管理的几类数据源,为每一类确定获取方式(API、数据库、文件),并给出更新频率与可靠性评估标准,使后续的指标计算和报告生成建立在稳定、可追溯的数据基础之上。
一、按报告需求拆解数据源
一份典型的板块轮动报告,至少需要四类数据:板块行情(板块指数日线、周线、成交额、涨跌幅)、成分股数据(板块内个股行情、权重、市值、财务快照)、宏观指标(利率、PMI、CPI、社融、汇率等)、资金流向(主力净流入、北向资金、融资余额、ETF 份额变化)。这四类数据在更新节奏、接口形态和可靠性上差异很大,不能用一个统一的采集方案硬套。
识别数据源时,建议按“字段—来源—粒度—频率”四要素逐项登记。例如板块行情需要“板块代码、交易日、收盘点位、涨跌幅、成交额”,来源可以是行情 API 或本地行情库,粒度为日频,频率为每交易日收盘后更新一次。把每个字段落到具体来源上,才能发现哪些字段有多个候选源、哪些字段只有单一来源(单点风险)。
二、获取方式的选择逻辑
三类获取方式各有适用边界。API 适合实时性要求较高、字段结构稳定的数据,如板块行情和资金流向,优点是接入快、字段规范,缺点是受调用频率限制、历史深度有限、接口可能变更。数据库适合已经沉淀的历史数据和大批量查询,如成分股行情、财务快照,优点是查询灵活、可做复杂聚合,缺点是需要自己维护同步任务和数据质量。文件适合更新频率低、格式固定的数据,如宏观指标月度数据、板块分类调整表,优点是简单可控、便于留档,缺点是无法自动感知变更、容易版本混乱。
实践中常见的组合是:行情与资金流用 API 增量拉取并落库,成分股与财务数据从数据库按需查询,宏观指标用文件定期导入并做版本标记。这样既保证了高频数据的时效性,又保留了低频数据的可追溯性。
三、更新频率的确定
更新频率不是越频繁越好,而应与报告周期和指标计算窗口匹配。周报以周为观察窗口,板块行情和资金流向需要日频更新,保证周内每个交易日的数据完整;月报需要月度宏观指标,但宏观数据发布有滞后(如 PMI 在次月首日、CPI 在次月中旬),因此采集任务要按“发布日历”触发,而不是固定日期硬拉。成分股权重和财务快照变化较慢,可按季度或事件驱动更新,例如板块成分调整公告发布后立即同步。
一个实用的做法是为每类数据设定“目标更新时点 + 容忍延迟”。例如板块行情目标为交易日 18:00 前入库,容忍延迟 2 小时;宏观指标目标为发布当日入库,容忍延迟 1 个交易日。超过容忍延迟即触发告警,避免报告生成时才发现数据缺口。
四、可靠性评估标准
可靠性评估建议从四个维度量化:完整性(应有字段与实际字段的比值,缺失率超过 1% 即标记异常)、及时性(数据实际到达时间与目标时点的偏差)、一致性(同一指标与基准源或上一版本比对,偏差超过阈值需人工复核)、稳定性(连续可用天数、接口失败重试成功率)。这四个维度可以做成每日巡检表,作为数据层健康度的例行检查。
五、一个可执行的采集配置示例
下面给出一个简化的采集任务配置样例,用字段描述每类数据的来源、方式、频率和校验规则,可直接作为团队内部的数据源登记表使用(参数为示例假设,需按实际接口调整):
{
"板块行情": {
"source": "行情API /market/sector/daily",
"method": "API增量拉取",
"frequency": "每交易日18:00",
"tolerance": "2小时",
"checks": ["交易日历对齐", "涨跌幅绝对值≤20%", "成交额>0"]
},
"成分股数据": {
"source": "本地数据库 sector_constituent",
"method": "数据库查询",
"frequency": "季度+成分调整事件",
"tolerance": "1个交易日",
"checks": ["权重合计≈100%", "个股代码存在"]
},
"宏观指标": {
"source": "统计文件 /macro/2024_monthly.csv",
"method": "文件导入",
"frequency": "按发布日历",
"tolerance": "1个交易日",
"checks": ["月份连续", "单位一致", "同比环比可复算"]
},
"资金流向": {
"source": "资金流API /flow/sector",
"method": "API拉取并落库",
"frequency": "每交易日盘后",
"tolerance": "3小时",
"checks": ["净流入合计与成交额匹配", "重复记录去重"]
}
}
这份配置的价值在于把“数据源识别”从口头约定变成可检查的条目:每个字段都有明确来源、获取方式、更新节奏和校验条件。实际运行时,采集脚本按配置逐项执行,校验不通过的数据进入待复核队列,而不是直接进入报告计算。这样,周报和月报的自动生成才有可靠的数据底座,后续的指标计算与轮动信号也才具备可解释性。