[原创] 定量分型速率交易策略

定量分型速率交易策略的由来

定量分型速率系统的灵感主要来源于物理学。
物理学对速度的定义是:单位时间内移动的距离。
如果把价格看做是距离,那么在金融市场里,速度的定义——单位时间内价格变化的大****r /> 如果单位时间里价格变化很大,通常这样的行情被称之为急速行情;如果单位时间里价格变化的很小,这样的行情被称之为缓速行情。所以,速度是把时间和价格综合在一起的自然法则,通过对速度的深入了解,能帮助我们在更大程度上认知这个市场。
如果速率上升,代表能量正在增强,能有效的预知行情上升趋势。
如果速率下降,代表能量衰竭,能感知到市场行情平缓或下跌的风险。
每次交易使用一定的手数进行成交,所以叫做定量分型速率交易系统。

 

需要准备的知识

最高价(HHV):特定周期内达到的最高价。
最低价(LLV):特定周期内达到的最低价。
移动平均线(MA) :特定周期收盘价平均值的连线。
回归斜率(SLOPE):特定周期线性回归的斜率。(也就是我们说的速率)

线性方程OLS斜率公式如下:

数学公式是非常复杂的,但在FMZ平台已经为我们写好了麦语言语法公式(SLOPE)
我们查看麦语言语法手册可见算法如下:


过程是复杂了一点,但大家完全不用去考虑这么多。直接调用公式就行了。

 

指标设计:

1. 先计算出一定时间周期内的最高价和最低价
2. 取这2个价格的平均值
3. 对平均值计算一个移动平均线
4. 求均线的回归斜率

通过对指标的设计,我们运行一下回测可以看到在主图中,我们得到了35个周期的最高点(黄线)、
最低点(绿线),他们的平均值(红线)、以及对红线计算的平滑价格均线(粗条紫线)

接着我们可以在附图中计算回归斜率ss,它代表了均线的上升和下降速率。

 

交易策略设计:

由上图可以看出,绿色箭头分别表示了斜率最低处的拐点,橙色箭头分别标注了斜率高处的拐点,
顺图反应在k线上,也能明显感受到上涨的减弱和下跌的减弱位置。
如果在拐点处操作买入卖出,能提早对行情进行有效操作,而不是在高位或者低处追涨杀跌。

设计思路是:
斜率不断上升,意味行情动能增加,可能产生止跌或者上升。
斜率不断下降,意味行情动能衰弱,可能产生停涨或者下跌。

使用麦语言设计表达如下:

 

回测与总结

这样我们就完成了这套算法的设计,接下去我们使用系统回测一下一年的情况,

标的物是okex季度合约btc;
回测周期是2019年1月1日至今,时间周期1小时;
初始账户3个btc,手续费万5;
设定每次交易手数固定200张。


通过回测可以看出,这个收益是比较平滑稳健的,
在这一个回测当中全年交易1261笔;
预估收益4.68个币;
年化收益约140%;
最大回撤14%;
夏普比率0.117.

 

源码分享:

点击前往复制策略 https://www.fmz.com/strategy/183416
以上分享是我设计的一些思路和内容,下面是麦语言全部代码,
给大家参考学习研究。如需转载,请注明出处谢谢。

(*backtest
start: 2019-01-01 00:00:00
end: 2020-02-03 00:00:00
period: 1h
exchanges: [{"eid":"Futures_OKCoin","currency":"BTC_USD"}]
args: [["TradeAmount",200,126961],["ContractType","quarter",126961]]
*)

len:=35;//设计周期数

hh^^HHV(H,len);//取一定周期内的最高价
ll^^LLV(L,len);//取一定周期内的最低价
hl2^^(hh+ll)/2;//最高价、最低价的平均值
avg^^MA(hl2,5);//对平均值计算平滑移动均线

ss:SLOPE(avg,len);// 对均线计算回归斜率

ss<REF(ss,1),SPK;//当斜率变小说明行情动能减弱,有下跌趋势,平多做空
ss>REF(ss,1),BPK;//当斜率变大说明行情动能不断增加,有上升趋势,平空做多
AUTOFILTER;
免责声明:信息仅供参考,不构成投资及交易建议。投资者据此操作,风险自担。
如果觉得文章对你有用,请随意赞赏收藏
253528688 947396707 1239151479 3人赞赏收藏
相关推荐
相关下载
登录后评论
Copyright © 2019 宽客在线