本文作者:ltggoldrock

网上贵金属交易导出的行情时间戳重复,周度统计怎样去重?

ltggoldrock 今天 1
网上贵金属交易导出的行情时间戳重复,周度统计怎样去重?摘要: 网上贵金属交易导出的行情出现重复时间戳时,先判断每一行代表一笔报价、一笔成交还是一根K线。同秒多笔更新可能都有效,分页下载也可能重复返回边界记录。去重规则应与数据粒度对应,周度开收...

网上贵金属交易导出的行情出现重复时间戳时,先判断每一行代表一笔报价、一笔成交还是一根K线。同秒多笔更新可能都有效,分页下载也可能重复返回边界记录。去重规则应与数据粒度对应,周度开收盘、振幅和数量统计才有一致依据。

时间相同为何仍可能是两条有效数据

MQL5的MqlTick字段说明同时提供秒级时间、毫秒级时间、Bid、Ask、Last、数量和变动标志。若导出时只保留到秒,一秒内的多次报价更新就会显示相同时间。直接按秒删除重复行,会丢掉真实的价格路径和短暂高低点。

即使毫秒相同,也要继续核对原始序号或发布者的唯一标识。某些数据流在同一毫秒存在多次事件,时间精度低于事件频率。没有唯一标识时,可以比对价格侧、数值、标志及原始顺序,再决定是否属于重传,无法识别的记录保留并标明原因。

假设十点零五分二十秒内,Bid先后为二千点一零和二千点二零美元,Ask也发生变化。两行若只是秒级时间相同,均应进入对应时段的价格分析。这里的价格为假设,用来说明时间字段与事件身份的区别。

分页重叠与K线修订分别处理

下载接口若前一页结束于某时刻,后一页又从同一时刻开始,两页可能同时包含边界记录。先查起止区间是否包含端点,再核对重复行的完整字段。确认是同一事件重传后,只保留一份,并在处理记录中写明删除数量与对应区间。

K线资料则通常按报价源、品种、周期和开盘时间识别一根柱线。相同开盘时间出现两个版本,可能是尚未收盘时多次下载,也可能是历史修订。应保留版本获取时间,并按研究用途选取已确认的最终版本或当时版本,不能把两根相同时间的K线简单相加。

MQL5的CopyRates说明把位置零定义为当前K线。当前柱线的最高、最低、收盘和数量仍可能变化,周度复盘时应先固定截止时间,分开已收盘柱线与仍在形成的柱线。把当前值当成最终值,会让同一份周报在重复运行时改变结果。

数量字段尤其容易被重复累计

CopyTicks文档说明,某些未变化字段会沿用上一笔已知值,可用flags识别实际发生了什么变化。因此看到相邻行的数量相同,不应自动认定每一行都新增了这份成交量。真实成交量、累计成交量和Tick数量,分别需要对应的数据定义。

网上贵金属交易中的场外黄金报价,还要保留平台与账户品种身份。某终端的Tick数量描述该来源的报价活动,不应写成全球黄金成交量。期货合约则可能提供交易所成交数量,跨来源比较前要确认数量单位及是否区分合约月份。

网上贵金属交易导出的行情时间戳重复,周度统计怎样去重?

周度结果用哪些检查收尾

清理后先按统一时间轴排序,再核对首个有效开盘、最后一个已收盘记录、期间最高和最低。保存清理前后条数、被移除记录、仍有冲突的时间段及最终统计边界。若去重导致最高价消失,回查那一行究竟是重复记录还是真实的同秒更新。

不同市场或不同报价源的同刻数据分别保留,不能只因品种简称相同就互相覆盖。时区转换后的重复小时属于另一类问题,应先统一时间轴,再处理事件本身的重复。LTG GoldRock投资课堂的报告时点与价格时点说明可帮助建立这种分层阅读习惯。

最终保留原始文件和清理后的文件,附上数据粒度、时间精度、唯一标识、版本选择及数量处理规则。下一周沿用同样条件,统计变化才能对应真实行情,数据下载方式的变化也能被及时发现。

阅读
分享