有感兴趣量化技术,特别是大数据、人工智能在量化中的应用的童鞋们可以关注我的公众号,因为排版关系,部分脚本直接放在公众号里了:
馨视野(datahomex):
上一篇,数据君实现了一次程序化的交易,包括买入和卖出,省去了手工交易的操作,当然仅仅是一次买卖,没有任何策略,尴尬……
今天就来讲一下什么是交易策略,最后用程序来实现一个超级无敌简单的策略@.@
策略引用百度百科的解释:策略,指计策谋略。一般是指:1. 可以实现目标的方案集合;2. 根据形势发展而制定的行动方针和斗争方法;3. 有斗争艺术,能注意方式方法。
具体到投资这个场景,包括进场和出场的条件、资金管理、风险控制等。讲的再直白点就是,啥时候买,买哪个标的(币圈的话就是哪个币),一次买多少,买完以后什么时候卖,一次卖多少,策略就是用来干这事的,听起来很简单,总之就是买和卖。
策略有简单和复杂之分,简单的策略通常使用技术指标和价格行为,复杂的策略会使用统计模型、机器学习等技术。
一般情况我们会认为复杂的模型更优,复杂的模型往往过度挖掘了历史数据,无法适应剧烈的市场变异,相反简单的模型在长期中更加稳定。大家如果有接触过机器学习的,这个和模型训练里的过拟情况很像,为了减少过拟,我们会在模型训练的损失函数里加入正则项,正则项其实就是对模型的一个惩罚项,保证模型不太过复杂。
交易策略主要有指标(Indicator)、信号(Signal)和规则(Rule)三个部分,这个后续数据君在介绍backtrade量化框架的时候会再次详细说明。
-
指标用于生成交易信号,计算指标的方法形式很多,像财务基本面如PE、ROE,技术统计类如MACD、KDJ、BOLL等,也可以借助机器学习、深度学习综合应用指标生成交易信号。
-
规则是针对信号采取具体的交易措施,也是交易策略的核心。例如,当形成买入信号,交易员需要决定什么时候做多,使用什么类型的订单,以及使用多大的头寸等。新手往往专注市场择时,久经历练的高手则会专注风险控制和资金管理,长期稳定盈利的秘诀在于使用简单的模型和优秀的资金管理和风控体系。
ok了,八股文普及结束,准备进入正题,这次会利用长短均线指标来实现一个超级简单的交易策略,主要是为了说明交易策略是怎么开发的。
接触过股票的童鞋肯定会听过很多指标,像ma、boll、kdj、rsi等等,这些指标有些侧重震荡,有些侧重趋势,也有像macd这样综合类的指标,不过所有指标都是基于过去的行情走势计算出来的,假设未来的走势会重复过去,这些指标才会有效,但真实的情况是你根本无法预测下一刻市场会发生什么样的行为,所以通过指标预测的基本都是不靠谱的啦。
听完上面,感觉量化没啥任何意义,其实历史总是在不断的重复,以史为鉴还是有很多可取之处,另外程序化交易最大的优势就是完全不受交易操作者个人情绪的影响
当然,除了统计类的指标,现在大数据、人工智能技术在投资领域应用也越来越广,后面量化君也会介绍如何应用这些技术来预测变化莫测的市场。
股市里会有金叉或死叉一说,看到金叉要买入,看到死叉要卖出,那么这具体指什么?
其实金叉和死叉是反应短期指标和中长期指标之间的一种关系,当短期指标向上穿过长期指标的时候预示该股票现阶段处于起势或强势阶段,可以作为买入的信号;相反,当短期指标向下穿过长期指标的时候表明该股票处于弱势阶段,可以作为卖出的信号;
量化君以5周期收盘价均值ma5作为短期指标,以10周期收盘价均值ma10作为中长期指标,
如果这里周期是以日为单位则为5日均价,量化君以上篇获取的dogeusdt5分钟交易数据为列,则就是5分钟收盘价的移动均值
策略脚本如下,脚本里做了详细说明,最终该脚本会根据传入的当前K线数据生成信号,返回给下单脚本。
数据获取接口、下单接口的详细说明可以参考【第一遍来啦童鞋】
最后简单实现一下每隔30秒循环调用上面策率和下单的脚本,这样就完成了7 * 24 程序化交易(撒花一次)!
总结:
上一篇,数据君实现了一次程序化的买入和卖出,今天实现了一个基于均值指标量化的策略,当然这是个很简单很简单很简单的策略,也仅仅是一个策略,量化要关注的还有很多,一个完整的量化交易除了买入和卖出的信号,还需要市场大势的判断、资金的管理、风险的控制、投资标的的选择等等,下篇量化君会介绍一个很流行的量化开源框架【backtrade】,正式开启量化的大门。