股研工作台
数据适配器就绪 · 当前设备保存

Data operating rules

查到数据后,按同一条规则记录和上线

这套流程把原始查数、不可变归档、公开数据包和网站部署分开。以后无论人工查数还是 API 接入,都复用同一份 market-review-input/v1 契约。

01

记录 record

把查到的事实固化为本地标准快照。允许不完整,但不会覆盖同日旧文件。

02

暂存 stage

通过字段、单位和勾稽检查后,生成网站可读取的静态数据包。此时网站还没有更新。

03

部署 deploy

把代码与数据一起发布成新的 Sites 版本,部署成功后 chatworkskin.com 才真正更新。

Daily SOP

每天只需要五条命令

命令均在项目根目录执行。日期替换为实际交易日;先检查,再归档,最后准备上线。

打开 JSON 字段样例

新建当日草稿

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:status

Market 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

每只涨停股票怎么记

必填:idsymbolnamesectorboardCount

建议:概念、涨停价、涨幅、首次/最后封板时间、开板次数、封单金额、换手率、涨停原因。

单位:价格为元,封单金额为万元,换手率和涨幅直接填百分数,时间使用 HH:mm:ss。

完整标志:确认翻页和去重均完成后,才把 limitUpStocksComplete 改为 true

Publish gate

默认上线门槛

  1. 01tradingDate 是有效且不晚于今天的日期;capturedAt 是带时区的 ISO 时间。
  2. 02dataStatus 必须为 final,来源标识真实、稳定,fixture 案例永远不能发布为最新行情。
  3. 03上涨+下跌+平盘=有效股票数;各类家数不能大于股票池。
  4. 04首板+二板+三板+四板及以上=收盘涨停数。
  5. 05limitUpStocksComplete=true,且涨停明细条数=收盘涨停数;代码不能重复。
  6. 06每条涨停明细至少有代码、名称、板块和第几板,明细梯队与最高板必须能反算汇总。
  7. 07required 与 recommended 字段覆盖率默认不少于 90%;optional 不计入,null 表示未知,禁止用 0 冒充缺失。
  8. 08文件中不得出现账号、身份证、手机号、密码、Token、API Key 等敏感字段。

Go live

看到“线上数据包已准备”后,还差最后一步

在当前 Codex 任务里发送下面这句话即可。Codex 会重新校验、构建、生成新的 Sites 版本并部署;部署成功前,原线上版本不会被替换。

把 YYYY-MM-DD 数据发布到 chatworkskin.com,并验收每日复盘和涨停板页面。

除非明确知道明细不完整的影响,否则不要使用 --allow-partial。它也不能绕过 fixture、非 final 数据或格式错误。