导航栏 ×
66职场网 > 工作总结 > 导航 >

工作总结

工作总结

发布时间:2026-04-16

2026年期货短线CTA研究员\工作总结。

按照期货短线CTA研究员工作总结

今年干了点实在活,列几条说清楚。

一、动量突破策略那点破事

年初动量策略在螺纹钢上连续亏了四天,每天亏2%左右。复盘发现假信号太多——行情在均线附近晃悠,阈值触发就冲进去,结果被来回打脸。我把触发条件改成动态阈值,用过去50根1分钟K线的ATR做基准,同时加了盘口吃单速度过滤。具体参数:ATR窗口50是试出来的,30太敏感,80太迟钝;吃单斜率阈值设为0.3,低于这个值就算价格突破也不开仓。

改完之后实盘跑了两个月,日均交易从27次降到19次,每笔平均盈利从320升到510。但有个问题一直没解决:遇上秒级行情跳空,动态阈值会滞后。8月份焦煤有一次,开盘直接跳空1.5%,策略还在等确认信号,完美踏空。后来在阈值计算里加了开盘跳空修正因子,但效果一般,这活儿还没完。

二、滑点事故的排查记录

最丢人的是4月份螺纹钢夜盘。行情突然拉涨,我们的信号发出后到报单用了3.2毫秒,成交价比触发价高了7个tick,一笔亏了4万多。当时我首先怀疑行情源,检查了CTP通道的延迟,没问题。然后用perf抓了一下,发现CPU热点全卡在一个互斥锁上——行情解码线程和交易线程共用了一个锁,高并发下互相等。

解决办法:改成无锁队列,自己写了个环形缓冲(长度1024,用原子操作维护头尾指针)。同时把行情预处理单独拉一个线程,只干一件事:解析数据包、校准时间戳、塞进队列。交易线程从队列里取,用epoll监听交易所回报。改完测试,正常行情下端到端延迟稳定在55-68微秒,最差情况(数据爆发到2000笔/秒)不超过190微秒。

说实话,这个事故让我长了记性。现在每周三固定检查一次锁竞争情况,用helgrind跑一遍。另外写了个小脚本,实时监控线程调度延迟,超过100微秒就报警。

三、盘后复盘怎么干

每天收盘后的活儿,我跟别人不太一样。我不光看成交记录,还把当天的逐笔委托流水和成交流水对齐,用Python画个时间轴,手工标记异常点。比如突然出现500手以上的大单砸盘,或者连续撤单超过10次,我都记下来。

8月份焦煤那波下跌,我复盘时发现一个规律:每次急跌前30秒,盘口买一价和卖一价之间的挂单量比值会快速掉到0.3以下。这个现象后来被我做成一个预警指标,加到策略里当过滤器。参数我试了很多组,最后用过去20秒的委托失衡比率滑动平均,阈值设0.35。

还有件事。之前参数漂移一直靠肉眼盯,太累。后来我写了个监控面板,每天自动计算三个核心参数(波动率基值、滑点系数、持仓限额)的当日均值,跟过去20天的分位数对比。超过90%分位数就标红,超过95%就自动暂停策略。这个面板跑了大半年,救过两次场——一次是镍的波动率突然放大,参数超标,手动干预后避免了连续亏损。

四、因子筛选的试错过程

三季度我抽空搭了个因子检验的小流水线。原始数据就三类:逐笔成交、委托簿快照、持仓量变化。用滑动窗口生成统计特征,比如5秒内主动买成交笔数占比、盘口前五档价差的倒数、最近20秒成交额的加权均价偏离度。

跑了大概500多个候选因子,大部分都是垃圾。举个例子,有一个“连续三笔主动买且每笔量递增”的因子,回测曲线漂亮得很,夏普能到3.2。但实盘一跑,亏成狗。后来发现是未来函数——我在生成信号时用了下一笔的数据做判断。这错误低级得想抽自己。

最后只留下三个能用的:第一个是“连续两笔主动买成交价高于卖一”的频次,我管它叫“吃单强度”;第二个是盘口前五档挂单量变化率;第三个是最近20秒内成交额加权均价偏离均线的幅度。三个因子单独的信息系数都在0.03到0.05之间,很弱,但组合起来用线性加权,胜率从46.2%提到51.7%,最大回撤从4.8%降到3.9%。权重不是固定的,根据当前波动率动态调——波动率高的时候,吃单强度的权重加大;波动率低的时候,盘口变化率的权重加大。

五、设备和数据链路的坑

这方面我吃过亏。去年底有一回,两台行情接收服务器的时钟偏移到了300多微秒,导致时间戳错位,回测和实盘对不上。排查了两天才发现是NTP服务用的默认配置,同步间隔太长。我改成了chrony,把轮询间隔压到16秒,同时加了PPS校准。现在偏移稳定在50微秒以内。

数据存储也折腾过。原先用CSV存逐笔数据,查一个品种一周的委托流要等两分钟。我改成Arrow列式存储,配合内存映射文件,查询时间压到3秒以内。具体做法:按合约和日期分区,每区一个文件,用字典编码压缩字符串字段。这个优化之后,回测迭代速度快了很多。

六、干得不好的地方 dm566.com

期权这块是真没啃动。试了铜期权和豆粕期权的波动率曲面套利,回测模型看着挺好,一实盘就碰到价差跳空和流动性枯竭。做了三版,只有一版勉强保本,另外两版都亏了。暂时搁置,等明年有思路了再捡起来。

代码注释的问题被队友骂过两次。有一次我写的内存池管理模块,交接时没写清楚引用计数的增减规则,队友接手后误改了一个参数,结果盘中崩溃,亏了十几万。现在我在关键函数前面都加了详细注释,包括输入输出、副作用、异常处理,另外写了份接口文档放在共享盘里。

还有个问题一直没解决:回测框架里没有模拟盘口深度对成交量的限制,导致大资金场景下的冲击成本估算偏乐观。比如信号要求买100手,但盘口前五档只有30手,实际成交价格会滑很多。这个月刚开始改,准备用订单簿快照的累计深度曲线来模拟部分成交。

七、几点个人体会

干这行,别信什么圣杯策略。能用的策略就那么几个套路,关键是细节打磨和故障应对。我手头备了个故障处理手册,里面记了23个常见问题,每个都写了排查步骤和应急方案。比如“行情断流怎么办”、“报单超时怎么处理”、“参数突变怎么判断”。每次出问题就往里补一条,现在团队里其他人也按这个手册来。

另外,别光盯着收益曲线。我每天必看的是三个指标:滑点分布、信号触发延迟、参数漂移幅度。这三个要是稳了,收益自然差不了。

    我们精彩推荐工作总结专题,静候访问专题:工作总结

文章来源://www.dm566.com/gongzuozongjie/191068.html