2811 0

[交易策略] (一点小发现)双均线跑EOS相当于捡钱 [推广有奖]

  • 0关注
  • 0粉丝

小学生

42%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
59 点
帖子
5
精华
0
在线时间
5 小时
注册时间
2018-8-30
最后登录
2018-9-4

楼主
等待戈多宽客 发表于 2018-8-31 19:27:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
前言:建立快速均线ma_fast和慢速均线ma_slow,股价变化期间快速均线和慢速均线会出现交叉点,快速均线上穿慢速均线称为金叉,作为买入点,慢速均线下穿快速均线称为死叉,作为卖出点。
何谓均线?
例如,前5日收盘价分别为10,10.5,12,15,14,那么5日均线:

如下图所示,蓝色线是BTC/USDT每分钟收盘价,红色线是5日均线。从图上可以看出来5日均线比收盘价变化更加平滑。
双均线
两条周期不同的均线,例如下图中红色和黄色分别表示5日均线和10日均线。

红色快速均线向上穿过黄色慢速均线时形成金叉,红色快速均线向下穿过黄色慢速均线时形成死叉。看了上图,是不是萌发出一种想法:如果我们在金叉信号出现的时候买入,在死叉信号出现的时候卖出,不就可以获取正的收益了吗?
下面进行第一个双均线策略(金叉时买入,死叉时卖出)。回测交易币对BTC/USDT,回测平台是币宽(可以在官网www.nextfintech.io下载)。以下默认您已经初步学会如何使用币宽平台了。
策略相关说明:
  • 回测时间:2018-01-01至2018-07-01
  • K线频率:3600s
  • 初始资金:10000 USDT
  • 交易手续费率:0.2%
  • 均线参数:快速10日均线,慢速30日均线
  • 回测交易所和币对:BINANCE的BTC/USDT
策略代码如下:
  1. # coding=utf-8
  2. from __future__ import print_function, absolute_import
  3. from nf.api import *
  4. import pandas as pd
  5. import talib as ta

  6. def init():
  7.     global trade
  8.     global exchange
  9.     global front
  10.     global base
  11.     global symbol
  12.     global freq
  13.     global data
  14.     global fast
  15.     global slow

  16.     trade=False
  17.     exchange='BINANCE'
  18.     front='btc'
  19.     base='usdt'
  20.     symbol=get_symbol(exchange,front,base)
  21.     freq='3600s'
  22.     fast=10
  23.     slow=30
  24.     subscribe(symbol,freq,slow+1)
  25.     print('init__')

  26. def on_bar(bars):
  27.     global trade
  28.     global exchange
  29.     global front
  30.     global base
  31.     global symbol
  32.     global freq
  33.     global fast
  34.     global slow

  35.     records=context.data(symbol,freq,slow+1)
  36.     ma_fast=ta.MA(records['close'],fast)
  37.     ma_slow=ta.MA(records['close'],slow)
  38.     if trade==False and ma_fast.iloc[-2]<ma_slow.iloc[-2] and ma_fast.iloc[-1]>ma_slow.iloc[-1]:
  39.         if get_positions(exchange,base)[0]['available']>records['close'].iloc[-1]:
  40.             print('买入')
  41.             buy_vol=get_positions(exchange,base)[0]['available']/records['close'].iloc[-1] *0.7
  42.             order_buy=order_volume(symbol,buy_vol,side=1,position_effect=1,order_type=1,price=records['close'].iloc[-1])
  43.             print('买单详情:',order_buy)
  44.             trade=True
  45.     if trade==True and ma_fast.iloc[-2]>ma_slow.iloc[-2] and ma_fast.iloc[-1]<ma_slow.iloc[-1]:
  46.         if len(get_positions(exchange,front))!=0:
  47.             print('卖出')
  48.             sell_vol=get_positions(exchange,front)[0]['available']
  49.             order_sell=order_volume(symbol,sell_vol,side=1,position_effect=1,order_type=1,price=records['close'].iloc[-1])
  50.             print('卖单详情:',order_sell)
  51.             trade=False
  52.             print('on_bar处理结束')

  53. def on_execution_report(execrpt):
  54.     print('成交回报:',execrpt)

  55. def on_error(code,info):
  56.     print('错误代码:',code,'错误代码说明',info)

  57. def on_backtest_finished(indicator):
  58.     print('绩效对象打印:',indicator)

  59. if __name__ == '__main__':
  60.     run(strategy_id='2bb52f11-8730-11e8-ab81-00ffa9185dbb',
  61.         filename='main.py',
  62.         mode=2,
  63.         token='6778ebc60a3b004bcc7286a5566a28df')
复制代码

回测结果如下(所有结果按每日公允汇率币/USD结算):
累计收益率:-24.33%
年化收益率:-38.62%
基准收益率:-79.03%
最大回撤:36.47%
Alpha:-0.04
Beta:0.46
从回测结果可以看出,双均线策略实现了超额收益,但是总体收益不佳。下图是BTC/USDT的行情走势图,2月份至3月份和4月份至5月份明显处于上升趋势,1月至2月份市场处于下跌趋势,3月份至4月份和5月份至7月份市场处于震荡下跌趋势。
双均线优化
均线策略属于趋势策略,在趋势市场中表现较好,但是在震荡市场中会持续出现回撤,且存在一定的滞后性,均线周期越大滞后性越明显。基于此,我们可以认为价格在120日均线之上时处于多头趋势市场,因此开仓条件调整为:当价格在120日均线之上,且快速均线上穿慢速均线时,开仓买入。
回测结果:
累计收益率:-14.36%
年化收益率:-25.02%
基准收益率:-79.03%
最大回撤:37.82%
Alpha:0.06
Beta:0.41
从回测结果看,在增加了价格处于120日均线之上时,累计收益率和年化收益率都有了明显提升。
小结:均线策略适合于趋势市场,具有右侧交易性质,且周期越长的均线滞后性越明显,需要和其他趋势判断指标和仓位控制进行优化。本片作为第一篇量化策略比较简单,读者有兴趣的话可以自己回测以下其他的均线指标(例如指数加权平均线和简单易懂平均线),用python的talib库可以快速计算这些指标。
声明:本文主要用于共同探讨和学习,请勿直接用于实盘交易。
后续将推出更多系列的量化策略,欢迎大家关注,共同交流。
未经本人允许,禁止转载。币宽


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2026-1-28 07:09