okaa

新手也可以做的高频策略

谈起高频交易,你第一时间想到的可能是「硬件要好」、「必须得c++」等苛刻的条件,这些限制在我们和高频交易之间建立了一道心理鸿沟,传递了这样的信息:你不仅得写一手出色的代码,还得买得起昂贵的硬件设备,你才有可能玩的转高频交易。


那对于一个想入门高频交易的新手来说,选择哪种策略作为入门策略最合适呢?我会推荐两种策略:做市策略和统计套利策略。

1 做市商策略
第一个是做市策略。我觉得把做市策略作为高频入门策略有几个好处,一是它足够微观,能让你观察到盘口和挂单的动态变化轨迹。
二是做市策略的逻辑简单直观,它通过在orderbook两边挂单吃价差赚钱,做市商以偏离价格均值0.75个标准差挂单能获得最大利润,价格发生不利波动时可以调整挂单位置来减少亏损。
三是做市策略是更偏实践型策略,而非预测型策略,实践型策略的特点是边干边改,每一步改进都能立即看得到反馈,而预测型策略偏建模,反馈周期长,要熬得住性子。
做市策略的盈利逻辑,一言以蔽之,就是在orderbook的两侧挂单,也就是分别在bid一侧和ask一侧挂单,挂单价格的差距叫做spread,我们赚的就是这个spread价差。
理想的情况是我们在bid一侧接了货,又立刻能在ask一侧卖掉,所以我们赚到的利润是价格在短时间内均值回归的钱,如果价格出现单边趋势,我们的持仓不能够以对侧价格出掉,这时就会出现亏损。


做市策略是一个maker策略(挂单策略),Github上直接搜market making,能找到做市的开源回测框架,可以拿来修改使用,这里贴出来一个,大家动手去github上翻一翻(工具用起来!Github结合ChatGPT,扒代码效率翻几倍):
www.github.com/mmssss/hft-market-making
做市的最大风险在于价格单边波动,要降低这种局面的出现对持仓的不利影响,最好的办法是为做市策略加上一些预测的成分。你可以对未来的波动率做预测,kaggle波动率预测比赛的结论证明了历史波动率(Realized Volitility)有显著对未来波动率的预测能力。
我在测试RV和多个品种未来收益率绝对值abs(return)的相关性上,也发现了RV有将近0.1以上的IC。还有一些其他和未来波动率高IC的因子——

还有订单薄挂单量峰值的位置,也会对价格的未来波动产生影响:


2 统计套利策略

统计套利的根本逻辑是多个品种的价差长期存在均衡关系,它们的价格是联动的,一个品种价格变化,会驱使市场参与者去交易另一个与之相关的品种。

统计套利之所以用统计命名,就在于这种交易策略依赖于对大量历史数据的统计分析,来识别资产价格之间的模式。
比如两组资产间的统计套利,我们可以分析不同时间窗口下,这两个资产价格的相关性(price.corr)或者收益率的相关性(return.corr),因为收益率数据更平稳性,所以推荐直接计算收益率的相关性。
在不同的时间窗口下,我们会发现收益率的相关性并不一直都是一致的,可能在1分钟的窗口下,收益率的corr可能长期都维持在0.9以上,但在30s的窗口下,收益率的corr却是0,这说明两个品种的相关性在30s到1分钟的时间内回归了。


在30s的时候,可能因为信息还没有充分反映到价格上,也可能因为资产的流动性不足,总之因为种种原因,联动资产的价格停留在了较低的相关性上,在30s到1分钟相关性回归的过程中,就产生了交易机会。

上面列举了一种在不同时间窗口尺度上的统计套利策略,还有其他一些统计套利策略可以尝试,比如配对策略——选择2个长时间价格显著关联的资产,它们的价差稳定在一个均值,当价差出现偏离均值时执行交易。配对策略的风险点在于价差偏离后不再回归,最差的情况是你一直赚取稳定的、微薄的利润,然后在某一次价差扩大,2个品种价差不再回归时迎来最大的亏损。
如果你的单笔交易利润很微薄,那你一定要做好止损和风控,因为偶然的一次大亏损就会消耗掉长期积累的利润,对账户和心态都是巨大打击。

最后我还想提一嘴规则类的策略,规则类策略也可以做高频交易,这个策略充分利用了不同时间窗口大小下,均线的性质——
短期均线像磁铁🧲,吸引价格向均线回归;长期均线像弹簧,维持价格在均线上下方稳定运行。
之前帮主观操盘手写过一些规则型的策略,见过一些偏高频的策略利用了均线这种性质,当价格长期在短期均线上方/下方平稳运行,当最新价一旦有所突破,短期均线就会像“磁铁”一样,把价格拉回来。
此外,偏高频交易还有一些要关注的点,这些细节可以在一定程度上决定成败。
第一个是品种,高频交易在选择品种上,要先算一下波动和费率的比值,这个比值越高,性价比越好。比如沪锌一个点的波动是25块,手续费是3块,这个品种的波费比就很好,你只要挣一跳的波动,就可以再开8笔单子。任何策略,选对品种本身就能带来alpha。
第二个是避开一些波动大的时间段,比如开盘和收盘交易时间。
第三个是比起预测,代码逻辑的设计更重要。在微观的时间尺度上,非常有限的信息量拉不开各家预测上的差距,最后决定盈利的落脚点就在于交易逻辑和代码的设计。

退出移动版