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

量化策略布林带解读

一、布林带定义

布林带是基于移动平均线标准差进行计算的,核心逻辑是通过统计学原理界定价格的波动范围。布林带由三条线构成,中轨线上轨线下轨线。其中,中轨线反映价格的平均趋势,上轨线与下轨线分别界定价格的波动边界。

二、布林带计算公式

通常采用N日移动平均线来计算中轨线,N通常取20。计算公式为:
MB=1N∑i=1NCi MB=\frac{1}{N}\sum_{i=1}^{N}C_i MB=N1i=1NCi
其中,CiC_iCi为收盘价,N为计算周期。
上轨线(UB)和下轨线(MB)则是分别在中轨线基础上加减K倍的标准差,一般K=2。
这个2倍标准差来源于统计学中的正态分布,约95%的价格会落在该区间内,可以界定价格的正常波动范围。这个95%和显著性检验里面的5%的原理是一致的,还有3西格玛和6西格玛区间,都是来源于这个正态分布。

三、布林带的意义

1、衡量市场的波动性

当布林带的宽度,即上轨线和下轨线之间的距离可以直接反映市场波动程度。
当布林带开口扩大,即宽度增加时,说明价格波动加剧,市场可能进入强势趋势,例如持续上涨或下跌。
当布林带收口变窄时,即宽度减小,说明价格波动减弱,市场可能进入盘整阶段,即将迎来趋势的转折。

2、识别超卖和超买状态

当价格触及或突破上轨线时,说明价格处于超买状态,可能面临回调压力。
当价格触及或突破下轨线时,说明价格处于超卖状态,可能存在反弹的机会。

3、提供支撑和阻力参考

布林带的上轨线经常作为阻力位,价格上涨至此后可能遇阻回落。下轨线常作为支撑位。

四、python实现

尽管实现起来不难,不过还是有第三方算法库可以帮忙实现

import talib
upper_band, middle_band, lower_band = talib.BBANDS(close,          # 输入的价格序列(通常为收盘价,需为numpy数组或pandas Series的.values属性)timeperiod=20,  # 计算移动平均的周期(默认20,代表过去20个周期的平均价格)nbdevup=2,      # 上轨线的标准差倍数(默认2,用于计算上轨:中轨+2×标准差)nbdevdn=2,      # 下轨线的标准差倍数(默认2,用于计算下轨:中轨-2×标准差)matype=0        # 移动平均类型(默认0,0=SMA(简单移动平均),1=EMA(指数移动平均),2=WMA(加权移动平均)等)
)

平滑类型具体来说有以下几种:
•0:​​SMA(简单移动平均)​​:算术平均,最常用,对所有数据赋予同等权重;
缺点:因为所有数据的权重相同,SMA对近期价格变化反应略显迟缓,例如说价格突破时,趋势可能已经运行了一段时间,具有滞后性。为了改进这个问题,于是出现了下面的方法。

•1:​​EMA(指数移动平均)​​:近期数据权重更高,更敏感于价格变化;
•2:​​WMA(加权移动平均)​​:按时间顺序赋予递增权重(近期数据权重最大);
•3:​​DEMA(双指数移动平均)​​:进一步平滑EMA,减少滞后性;
•4:​​TEMA(三重指数移动平均)​​:更彻底地消除滞后性,适用于高频交易。

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

相关文章:

  • Java Spring(1)- Spring基础
  • AI提升SEO关键词效果新策略
  • PostgreSQL【应用 04】加解密扩展 pgcrypto 使用实例(加密、导出、导入、解密流程说明)
  • 信息技术发展
  • Flink Redis广播方案
  • 深度学习④【经典卷积神经网络演进:从LeNet到ResNet(重要意义)的架构革命】
  • Uniapp中自定义导航栏
  • 使用qianjkun uniapp 主应用 集成 vue微应用
  • Android 使用MediaMuxer+MediaCodec编码MP4视频
  • 把 AI 塞进「智能手环」——基于心率变异的零样本压力监测手环
  • sqlserver: count(*)
  • TCP和HTTP的keep-alive的区别
  • 嵌入式第四十天(TCP并发服务端(IO多路复用))
  • 【Python 入门】(1)Python 语言基础(语法特点)
  • OSI模型和TCP/IP模型区别是什么
  • JAVA全栈Redis篇————Redis常用数据类型概述
  • 如何快速copy复制一个网站,或是将网站本地静态化访问
  • 电力电子中的变压器原理、作用、选型与测量指南-超简单解读
  • 雷达传感器和红外传感器的区别
  • MCP tutorials
  • HOOPS Communicator 2025.6.0更新发布:WebViewer UI全面进化,BIM支持再升级
  • C++(Qt)软件调试---vspkg安装crashpad(34)
  • 浅谈 Java 中的 import static 使用方式
  • Docker 是什么?
  • RabbitMQ-高级特性
  • 机器视觉学习-day09-图像矫正
  • 客户预充值系统(一) - 数据库设计与数据插入
  • JVM——八股文
  • curl、python-requests、postman和jmeter的对应关系
  • DJI无人机云哨DroneID技术解析:天空中的数字身份证