网上贵金属交易导出的行情时间戳重复,周度统计怎样去重?
网上贵金属交易导出的行情出现重复时间戳时,先判断每一行代表一笔报价、一笔成交还是一根K线。同秒多笔更新可能都有效,分页下载也可能重复返回边界记录。去重规则应与数据粒度对应,周度开收盘、振幅和数量统计才有一致依据。
时间相同为何仍可能是两条有效数据
MQL5的MqlTick字段说明同时提供秒级时间、毫秒级时间、Bid、Ask、Last、数量和变动标志。若导出时只保留到秒,一秒内的多次报价更新就会显示相同时间。直接按秒删除重复行,会丢掉真实的价格路径和短暂高低点。
即使毫秒相同,也要继续核对原始序号或发布者的唯一标识。某些数据流在同一毫秒存在多次事件,时间精度低于事件频率。没有唯一标识时,可以比对价格侧、数值、标志及原始顺序,再决定是否属于重传,无法识别的记录保留并标明原因。
假设十点零五分二十秒内,Bid先后为二千点一零和二千点二零美元,Ask也发生变化。两行若只是秒级时间相同,均应进入对应时段的价格分析。这里的价格为假设,用来说明时间字段与事件身份的区别。
分页重叠与K线修订分别处理
下载接口若前一页结束于某时刻,后一页又从同一时刻开始,两页可能同时包含边界记录。先查起止区间是否包含端点,再核对重复行的完整字段。确认是同一事件重传后,只保留一份,并在处理记录中写明删除数量与对应区间。
K线资料则通常按报价源、品种、周期和开盘时间识别一根柱线。相同开盘时间出现两个版本,可能是尚未收盘时多次下载,也可能是历史修订。应保留版本获取时间,并按研究用途选取已确认的最终版本或当时版本,不能把两根相同时间的K线简单相加。
MQL5的CopyRates说明把位置零定义为当前K线。当前柱线的最高、最低、收盘和数量仍可能变化,周度复盘时应先固定截止时间,分开已收盘柱线与仍在形成的柱线。把当前值当成最终值,会让同一份周报在重复运行时改变结果。
数量字段尤其容易被重复累计
CopyTicks文档说明,某些未变化字段会沿用上一笔已知值,可用flags识别实际发生了什么变化。因此看到相邻行的数量相同,不应自动认定每一行都新增了这份成交量。真实成交量、累计成交量和Tick数量,分别需要对应的数据定义。
网上贵金属交易中的场外黄金报价,还要保留平台与账户品种身份。某终端的Tick数量描述该来源的报价活动,不应写成全球黄金成交量。期货合约则可能提供交易所成交数量,跨来源比较前要确认数量单位及是否区分合约月份。
周度结果用哪些检查收尾
清理后先按统一时间轴排序,再核对首个有效开盘、最后一个已收盘记录、期间最高和最低。保存清理前后条数、被移除记录、仍有冲突的时间段及最终统计边界。若去重导致最高价消失,回查那一行究竟是重复记录还是真实的同秒更新。
不同市场或不同报价源的同刻数据分别保留,不能只因品种简称相同就互相覆盖。时区转换后的重复小时属于另一类问题,应先统一时间轴,再处理事件本身的重复。ACE Markets投资课堂的报告时点与价格时点说明可帮助建立这种分层阅读习惯。
最终保留原始文件和清理后的文件,附上数据粒度、时间精度、唯一标识、版本选择及数量处理规则。下一周沿用同样条件,统计变化才能对应真实行情,数据下载方式的变化也能被及时发现。
本文內容由網路使用者自發性貢獻,該文觀點僅代表作者本人。本站僅提供資訊儲存空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 [email protected] 舉報,一經查實,本站將立刻刪除。轉載聯絡作者並註明出處:https://www.psdokxp.com/html/834.html
