Python数字货币量化交易开发——策略记录(一)

前言

本篇开始正式在优化回测系统的过程中,开始检验各类策略的可行性。另外从这一篇开始就粉丝可见拉,感觉干货会慢慢多起来。
_
_

Episode 4.1. 双均线dif指标的策略

其实很多技术面的分析方向,无非就是对应震荡和单边两种行情的预测,最后落实到算法反而异常简单明了,为防止自己在研究过程中被各路‘投资大神’绕进去而迷信各类指标,倒不如决定一下自己的策略研究方向。

首先来分析一下两种行情:
1、震荡:所谓震荡行情的本质,是在周期内市值不发生明显变化,这样的行情非常适合诸如均仓、网格交易等等方法的算法套利手段,并且都有非常不俗的表现,而长期的熊市风险就成了一颗定时炸弹一般随时有可能引爆;
2、单边:不管是合约交易还是现货交易,判断对买卖多空的时机后长期持有就成了说起来容易做起来难的策略手法,这无异于未卜先知。

于是结合这两类的理解,很多人开始思考有什么稳定又不依靠趋势的交易策略,从而衍生除了搬砖,也就是利用在各个交易所之间套利的策略。

我的第一套策略也就随之诞生,在发生非趋势类的上涨或下跌时(也可以解释为有大资金在某一交易所做了一笔市价交易发生了单交易所变动),此时搬砖机器人首先就会平衡各大交易所之间的价差,而我作为一个小资金体量的散户,在这个时候执行对应的卖出和买入操作就是我的核心思想。

使用一个简易版的dif指标,长短均线的差值来表示抵消趋势后的交易方向,从而决定是否交易。
此时自己做回测系统的优势也便体现了出来,在参数上你可以做无限大的循环来跑出最优解。

'''
symbol_交易标的
ini_account_dict_初始账户余额
fee_费率
days_回测天数
period_长均线长度
short_p_短均线长度
dif_rate_指标水位线
trade_cold_完成一次交易后静默时间与较短均线的倍率
ifchart_是否绘图
complex_control_是否进行多组数据复合回测
'''

symbol='BTC/USDT'
ini_account_dict={
     'init_balance':15000,'init_stocks':0}
fee = 0.002
days='max'
net_step=0.2
period= 30
short_p=2
dif_rate=0.01
trade_cold=4

回测结果:
账户余额:{
     'balance': 3128.9102, 'stocks': 0.6061}
回测周期:13.29天  回测周期内收益率:17.51%  年化收益率:7698.66%
---------------------------------------------------------------------
周期内价格波动:37.76%  最低点:-7.86%  最高点:26.92%
策略最大收益率:18.23%  最大回撤:-3.65%  平均仓位:69.18%

Python数字货币量化交易开发——策略记录(一)_第1张图片在写下博文的那一天起往回退1min级别的13.29天的数据,相对优秀的策略大概是这个交易结果,而不难发现,我的平均仓位在69%,而这样的一个半网格类操作的收益应当符合以下公式:

max_profit_rate/position_rate > max_market_rate
#18.23%/69.18%=26.35%    <37.76  无效

也就是只有上述成立 我的策略才是有效的,不然只是因为只做单边交易在无限上涨行情中的顺带收益罢了。所以说计算下来这部分策略其实是无效的,而在交易记录中也可以看出端倪,当中有很长一段时间没有交易,理论上的搬砖平衡价位的时间早已过去。

从结果上说 虽然这部分简单的套利逻辑是无效的,但也明确了我的一个研究点,使用自建的回测系统的最大优势:

可一次性跑多组数据组合来探测市场的交易习惯

从这个点深挖的话其实有很多东西可以做,通过不断学习一些策略和算法,对算法交易来做更高级的‘圈养’,将参数调到最优,其实这也是很多期货庄家在做的事,而数字货币这样一个24小时交易的市场,实在太适合深挖这个套利方向了。

今天就更到这里。

你可能感兴趣的:(数字货币交易,区块链,比特币,算法)