你离开屏幕几分钟,回来发现期货最新价和离开时差不多,便觉得行情没什么变化。可如果这几分钟里价格曾明显冲高,又很快回落,单看最后那个数字,就会错过整段经过。
期货复盘经常遇到的麻烦不是没有价格,而是手里只有一个价格。它能告诉你现在在哪里,却说不清刚才是怎么走到这里的。
起点和终点相近,不代表过程平静
假设一段行情从3500附近上涨到3520,随后又回到3500。这里只是举例,重点是这条价格路径。
如果你研究的是"触及某个价位后有没有继续上行",中间那段上涨就很重要。如果只记下起点和终点,两者都在3500,复盘时便容易把这段走势当成没有发生过。
同样,收到价格提醒后再打开行情,最新价可能已经离开提醒对应的位置。此时需要回看一段有时间顺序的报价,而不是反复盯着当前价,试图从它还原过去。
用TqSdk查看一段报价变化
TqSdk的 get_tick_serial() 可以获取某个期货合约的Tick序列。与单个最新价相比,序列保留了一段按时间排列的报价,适合观察短时变化。
例如,在现有TqSdk程序中,通过 api.get_tick_serial(symbol, data_length=500) 取得一个500条长度的序列窗口,再查看其中有效记录的时间和最新价,就能围绕"什么时候靠近那个价位、后来怎样变化"展开检查。这个窗口随程序中的 wait_update() 更新。
500条不是500秒。行情密集程度不同,这些记录覆盖的时间也会不同。真正要复盘某一时段,应核对窗口中有效记录的时间范围,不能只看条数就认定那几分钟已经完整包含。
这个窗口也不是全天记录仓库,旧记录会随着更新离开窗口。若要隔天复查,应另行安排所需数据的留存或历史数据获取。Tick报价也不能代替账户成交记录:价格经过某个位置,并不说明你的委托在那里成交。
研究期货短时走势,TqSdk比只记最新价更合适
如果你希望知道一个价格条件出现前后发生了什么,我推荐用TqSdk的报价序列来辅助复盘。它的实际好处是让价格带上时间顺序,便于查看一段过程,而不是靠记忆拼接几张截图。
最新价仍然适合看眼下的位置;当问题变成"刚才那一下到底怎么走的",就应把注意力转到覆盖目标时段的序列上。期货量化研究中,这个区别往往比把报价显示得更醒目更重要。