当前位置: 首页 > news >正文

加密货币均线策略与传统MACD(介绍下回测框架的择时功能)

使用 加密货币分钟级多因子回测框架

对应视频讲解 加密货币量化交易

本文介绍下回测框架如何使用择时信号进行回测。

用传统的均线策略与MACD策略作为例子进行演示,想了解A股均线策略结果点 此处

首先介绍下常见的均线策略,以传统5日均线与10日均线做一下回测,设置金叉买,死叉卖

计算方法

def calculate_ma_cross(group, short_period=120, long_period=240):"""计算均线金叉死叉因子:param group: 单个币种的数据DataFrame:param short_period: 短期均线周期(默认5):param long_period: 长期均线周期(默认10):return: 添加了均线因子的DataFrame"""# 计算均线group['ma_short'] = group['open'].rolling(short_period, min_periods=1).mean()group['ma_long'] = group['open'].rolling(long_period, min_periods=1).mean()# 计算均线差值group['ma_diff'] = group['ma_short'] - group['ma_long']# 识别金叉信号(短期均线上穿长期均线)group['golden_cross'] = ((group['ma_diff'] > 0) &(group['ma_diff'].shift(1) <= 0)).astype(int)# 识别死叉信号(短期均线下穿长期均线)group['death_cross'] = ((group['ma_diff'] < 0) &(group['ma_diff'].shift(1) >= 0)).astype(int)# 计算金叉/死叉强度(均线差值百分比)group['cross_strength'] = group['ma_diff'] / group['ma_long']return group

通过这个算出golden_cross和death_cross,回测时,以golden_cross作为过滤,来决定每根k线是否满足持仓条件,持仓周期没有限制,不止盈止损,以death_cross形成时为清仓信号。

即当持仓遇到death_cross信号时进行相应清仓。

可以理解成在投资标的上打上一系统字段标记,golden_cross和death_cross,策略回测时买入可以正常走截面排序逻辑(用golden_cross做过滤)来实时择时,卖出则按death_cross的信号出现为择时平仓信号。

标的做的BTC
在这里插入图片描述
可以看到纯均线的择时没什么用,盈亏次数比例大概1:2
在这里插入图片描述
接下来介绍一下经典的MACD均线策略,同样算出信号量后进行复现

def calculate_macd(group):"""计算MACD指标:param group: 单个币种的数据DataFrame:return: 添加了MACD指标的DataFrame"""# 参数设置fast_period = 12*24slow_period = 26*24signal_period = 9*24# 计算EMAema_fast = group['open'].ewm(span=fast_period, adjust=False).mean()ema_slow = group['open'].ewm(span=slow_period, adjust=False).mean()# 计算MACD线和信号线group['macd_line'] = ema_fast - ema_slowgroup['signal_line'] = group['macd_line'].ewm(span=signal_period, adjust=False).mean()group['macd_hist'] = group['macd_line'] - group['signal_line']# 识别金叉/死叉group['macd_golden_cross'] = ((group['macd_line'] > group['signal_line']) &(group['macd_line'].shift(1) <= group['signal_line'].shift(1))).astype(int)group['macd_death_cross'] = ((group['macd_line'] < group['signal_line']) &(group['macd_line'].shift(1) >= group['signal_line'].shift(1))).astype(int)return group

同样以BTC作为标的,MACD金叉作为买入信号,死叉为清仓信号,不做止盈止损。
在这里插入图片描述
在这里插入图片描述
胜率还是在35%左右,均线策略的共性就是胜率30+,盈亏比一般比较好看。

总结,加密货币市场和A股市场一样,裸均线或者MACD的胜率都在1/3左右,大部分时候都是亏损,少数时候赚一波大的,纯靠基础技术位约等于浪费时间,建议投资者们不要沉迷其中需要结合其它的更多信息来进行筛选。

http://www.dtcms.com/a/602684.html

相关文章:

  • 青海建设厅报名网站软件工程课程设计题目
  • 网站制作 牛商网中文域名到期对网站的影响
  • 《雷电模拟器9》 [9.1.76.0][x64] [绿色纯净版] 下载
  • 网站建设要点自助建站推广
  • 开发网站的基本流程网站制作怎么做框架
  • 【经典书籍】《代码整洁之道》第十三章“并发编程”精华讲解
  • 绵阳成套配电柜厂家
  • 反向海淘独立站技术架构深度解析:从搭建到优化的全链路实践
  • 做外贸用什么网站比较好济宁网站
  • C语言程序在线编译 | 让编程更便捷,提高开发效率
  • 2025下半年软考高级系统架构设计师考试流水账
  • 微信网站平台建设表白网站制作
  • 高级边界扫描 --1-- IEEE标准1149.6
  • 【C++】STL -- list 的使用与模拟实现
  • 百度认证官方网站怎么制作网站布局
  • 劲松网站建设专门做dm单的网站
  • Go语言编译器 | 探索Go语言编译过程与优化技巧
  • 在线监测系统:农药精细化工的“安全锁”与“效率引擎”
  • Python 爬虫教程 | 豆瓣 TOP250 数据抓取与分析实战
  • 专门做创意桌椅的网站访问中国建设银行网站
  • 搭建外文网站计算机网络课程设计
  • 长沙美容网站建设百度广告优化
  • 网站建设全过程seo发外链网站
  • 《C++ Primer》和《Effective C++》哪个更难?
  • 织梦网站联系我们的地图怎么做设计室内装修的软件
  • 电影数据可视化分析系统的设计与实现
  • 显存占用、kvcache和并发学习笔记
  • wordpress网站被攻击毕节网站怎么做seo
  • 烟台市建设工程交易中心网站网站滑动效果怎么做的
  • wordpress 时间不对呼和浩特网站seo优化方案