01
记录 record
把查到的事实固化为本地标准快照。允许不完整,但不会覆盖同日旧文件。
Data operating rules
这套流程把原始查数、不可变归档、公开数据包和网站部署分开。以后无论人工查数还是 API 接入,都复用同一份 market-review-input/v1 契约。
01
把查到的事实固化为本地标准快照。允许不完整,但不会覆盖同日旧文件。
02
通过字段、单位和勾稽检查后,生成网站可读取的静态数据包。此时网站还没有更新。
03
把代码与数据一起发布成新的 Sites 版本,部署成功后 chatworkskin.com 才真正更新。
新建当日草稿
npm run data:new -- YYYY-MM-DD填写后检查
npm run data:check -- data/inbox/market/YYYY-MM-DD.json本地事实归档
npm run data:record -- data/inbox/market/YYYY-MM-DD.json准备线上数据
npm run data:stage -- YYYY-MM-DD查看准备状态
npm run data:statusMarket fields
百分比直接填百分数,例如 1.18 表示 1.18%;成交额与融资余额统一为亿元。家数、次数和板数必须是整数。
| JSON 字段 | 名称 | 级别 | 单位 | 记录口径 |
|---|---|---|---|---|
| total | 有效股票数 | 上线必填 | 家 | 与上涨、下跌、平盘使用同一股票池口径 |
| previousTotal | 上一交易日有效股票数 | 上线必填 | 家 | 上一实际交易日同口径股票池,用于计算昨日上涨比例 |
| advancing | 上涨家数 | 上线必填 | 家 | 收盘价高于前收盘价 |
| declining | 下跌家数 | 上线必填 | 家 | 收盘价低于前收盘价 |
| flat | 平盘家数 | 建议填写 | 家 | 满足上涨+下跌+平盘=有效股票数;缺失时可由其余三项推导 |
| previousAdvancing | 上一交易日上涨家数 | 上线必填 | 家 | 必须是上一实际交易日,不是自然日前一天;缺失会误判修复环境 |
| medianReturn | 市场涨跌幅中位数 | 上线必填 | % | 有效股票涨跌幅中位数,1.18 表示 1.18% |
| previousMedianReturn | 上一交易日涨跌幅中位数 | 上线必填 | % | 与当日中位数使用相同股票池;缺失会误判修复环境 |
| limitUp | 收盘涨停数 | 上线必填 | 家 | 按各股票当日实际涨停价判断 |
| previousLimitUp | 上一交易日收盘涨停数 | 上线必填 | 家 | 与当日涨停数使用相同口径,用于生成涨停变化证据 |
| brokenBoard | 炸板数 | 上线必填 | 家 | 盘中触及涨停但收盘未封住 |
| limitDown | 收盘跌停数 | 上线必填 | 家 | 收盘仍封在跌停价 |
| touchedLimitDown | 盘中触跌停数 | 建议填写 | 家 | 必须大于或等于收盘跌停数 |
| previousLimitDown | 上一交易日收盘跌停数 | 上线必填 | 家 | 用于比较风险扩散速度,不能用 0 代替缺失 |
| retrace10 | 回头波不低于 10% 的股票数 | 上线必填 | 家 | 按(最高价-收盘价)÷前收盘价不低于 10% 统计;参与情绪评分 |
| previousRetrace10 | 上一交易日回头波股票数 | 上线必填 | 家 | 与当日回头波使用相同口径,用于判断风险是否扩散 |
| JSON 字段 | 名称 | 级别 | 单位 | 记录口径 |
|---|---|---|---|---|
| turnover | 全市场成交额 | 上线必填 | 亿元 | 统一换算为亿元 |
| previousTurnover | 上一交易日全市场成交额 | 上线必填 | 亿元 | 与当日成交额使用相同市场范围 |
| middayTurnover | 午间成交额 | 建议填写 | 亿元 | 用于盘中估算全天成交额 |
| morningShareBenchmark | 上午成交占比基准 | 建议填写 | % | 建议使用过去 20 个交易日上午占比中位数 |
| financingBalance | 最新融资余额 | 建议填写 | 亿元 | 记录实际数据日期,允许晚于行情一个结算周期 |
| previousFinancingBalance | 前一期融资余额 | 建议填写 | 亿元 | 与最新融资余额使用相同来源和统计范围 |
| marketPe | 市场市盈率 | 可选 | 倍 | 优先使用稳定宽基或全市场官方口径 |
| averagePrice | 平均股价 | 可选 | 元 | 建议同时在来源备注中说明是平均数还是中位数 |
| JSON 字段 | 名称 | 级别 | 单位 | 记录口径 |
|---|---|---|---|---|
| firstBoard | 首板数 | 建议填写 | 家 | 当日首次涨停的股票数 |
| secondBoard | 二连板数 | 建议填写 | 家 | 连续两个交易日涨停 |
| thirdBoard | 三连板数 | 建议填写 | 家 | 连续三个交易日涨停 |
| fourthPlusBoard | 四板及以上数量 | 建议填写 | 家 | 四连板及以上股票合计 |
| maxStreak | 最高连板数 | 建议填写 | 板 | 应与完整涨停明细中的最高 boardCount 一致 |
| yesterdayFirstBoard | 上一交易日首板数 | 建议填写 | 家 | 一进二率的分母 |
| yesterdaySecondBoard | 上一交易日二板数 | 建议填写 | 家 | 二进三率的分母 |
Limit-up details
必填:id、symbol、name、sector、boardCount。
建议:概念、涨停价、涨幅、首次/最后封板时间、开板次数、封单金额、换手率、涨停原因。
单位:价格为元,封单金额为万元,换手率和涨幅直接填百分数,时间使用 HH:mm:ss。
完整标志:确认翻页和去重均完成后,才把 limitUpStocksComplete 改为 true。
Publish gate
Go live
在当前 Codex 任务里发送下面这句话即可。Codex 会重新校验、构建、生成新的 Sites 版本并部署;部署成功前,原线上版本不会被替换。
把 YYYY-MM-DD 数据发布到 chatworkskin.com,并验收每日复盘和涨停板页面。除非明确知道明细不完整的影响,否则不要使用 --allow-partial。它也不能绕过 fixture、非 final 数据或格式错误。