量化交易策略第一篇
起源
轮动,是最朴素的量化交易策略之一,无论是基于动量、基本面、消息面按照一定周期选择买入标的的策略,都可以归为轮动策略,而其中最经典、最丰富的还是趋势跟踪策略。
趋势跟踪策略可以简单的理解为动量策略,即确定某种计算趋势的方法,通过这种趋势的度量来对标的进行轮动,关于趋势跟踪策略的有效性,可以阅读石川博石团队的 趋势跟踪策略小册子 ,基本对国内外、近几十年的趋势跟踪策略的发展做了很好的概述。
以动量轮动举例,建立一个标的池,隔一段时间买入涨幅最大的标的,就形成了最朴素的动量策略,完全可以使用量化交易实现。
以上解决了标的选择的问题,但并不是一个完整的策略,我列举了如下问题:
- 量化框架/代码来源
- 数据来源/回测时长
- 标的/标的数量的选择
- 标的的仓位控制 (风险溢价?)
- 开仓/止损时机
- 轮动指标 (动量 基本面 因子?)
- 轮动周期 (按分钟 按周 按月?)
- 策略评价指标 (sharp sortino SQN 年化 回撤?)
- 。。。
这些问题在过去的几个月,甚至一年时间里一直萦绕在我的脑海里,这一年也是A股下跌的一年,走势基本是对08年的重演,几乎所有的私募基金、公募基金、价值投资、量化策略全部失效,大部分投资者损失惨重。
不像牛市,试错机会够多,在下跌的市场里,人性被无限放大,一次犹豫造成的损失是惊人的,也因此,我开始重塑自己的投资理念。
我想现在,终于,阶段性完成了以上任务,无论是否找到了投资的圣经,以上提到的问题我都给出了自己的解答,建立了自己的数据逻辑、代码框架,更重要的是,建立了若干个完整的轮动策略,这些策略我从22年10月份开始实盘,在昨天,22年11月28号开始更新雪球组合。
路途是艰难的,再次起航,希望能够坚持下去。
问题的一些答案
框架
akshare + backtrader
由于akshare提供的数据只能到日线级别,如果做分钟级回测,需要使用掘金或者tdx的数据
标的
ETF、LOF、债券、可转债、公募基金
股票交易的印花税在长时间看是惊人的,而且随着A股的发展,ETF覆盖了越来越多的概念和行业,LOF和公募基金让散户也拥有了公募视角,天然的低波动性和对散户信息因子缺失的补全,都强于股票。
轮动周期
一个月,20个交易日?
交易周期短,那么佣金和滑点会带来巨幅影响,交易周期长,无法把握行情的变化。A股一周有5个交易日,一个月大约有21个交易日,而且有明显的日历效应,例如春季行情、节前抛售、月底卖出、月初买入等等,对于轮动策略来说,时间节点的选择非常关键,经过我的大量回测,发现不同时间轮动的收益差距非常大。
策略评价指标
回撤,还是回撤。
投资者往往陷入追求交易圣杯的陷阱中不能自拔,例如追求高收益高波动,同时也面临可怕的回撤,人性让你放大了自己的回撤承受能力,而当你觉醒时,为时已晚。
相对于sharpe,sortino等波动/收益评价指标,我更看重策略的回撤历史,最大回撤时间、最大回撤幅度、回撤的原因,以及如何降低回撤。
平均买入还是控制仓位
控制仓位,是量化策略的点金石。
我们都知道,无论是一个最基本的MACD策略,还是动量跟踪策略,直接测试的效果都是很差的,而一旦加入仓位控制,就算是一个抛硬币50%随机买入卖出的策略,也可以取得正收益。
但如何控制仓位是一个很难的课题,对于高波动标的,如果减少仓位,那么策略的收益会显著下降,如果增加仓位,策略的回撤和波动率会大幅升高。
如何止损
止损,是一把双刃剑。
止损,是账户风险控制的最后一道防线,黑天鹅不可避免,机械止损才能避开大跌,长期来看,一个具备止损的策略可以跑赢任何熊市,当然,也会跑输牛市。
我选择了机械式的跟踪止损,以及指标性止损,以及大盘牛熊指标的止损。
策略
目前手里有很多策略,由于还没有实现自动交易,我有精力去实盘的有三个,分别是一个轮动策略的继承,只是标的的选择和部分指标不同。
后面我会逐步讲解每个策略的基本结构。
以上。