大家好,我是橙哥!股市如战场,想要稳中求胜?量化交易作为一项结合技术分析、算法和数据的强大工具,是股市交易中的利器。而布林带策略作为一种经典的技术分析工具,在众多交易者中获得了广泛应用。今天我将分享一个基于 布林带挤压(Bollinger Bands Squeeze) 的量化策略,用代码带你“躺赚”! 特斯拉(TSLA)3年回测收益超40%,跑赢基准收益近40倍! 我们将通过一份详细的代码,深入探讨 布林带挤压策略在量化交易中的实现,结合数据获取、策略回测、结果分析等多个方面 ,帮助大家更好地理解这一策略的应用。 请在文末获取本文完整代码。
布林带挤压策略的核心概念
布林带是一种基于股价波动性和统计学原理的技术指标,由三条线组成:
-
上轨线 :是中期移动平均(SMA)加上标准差的倍数。
-
下轨线 :是中期移动平均减去标准差的倍数。
-
中轨线 :是简单移动平均线(SMA)。
布林带的核心优势在于它能够反映市场的波动性。 通过上轨和下轨的设置,布林带能帮助交易者 识别市场的超买或超卖区域 ,而中轨则提供了一个平衡点。布林带的宽度会随着市场波动性的变化而变化, 宽度越大,市场波动性越强;宽度越小,市场波动性越弱。
其中, 布林带挤压(Bollinger Band Squeeze)是布林带策略中的一个重要信号,它代表着市场的波动性减少,通常预示着市场即将出现剧烈波动。 这种现象通常会出现在价格横盘整理的时期,当布林带宽度变小,意味着市场上的价格波动范围被压缩,随后可能会出现价格的剧烈突破。因此, 布林带挤压策略就是在布林带挤压发生时提前布局,等待价格突破的时机。
布林带挤压策略的核心思想是 利用布林带宽度挤压的现象来捕捉市场即将出现的波动 ,通常在这种时期,价格会在布林带的上下轨之间震荡,直到某一方的突破。 布林带挤压常常是潜在的“爆发点” ,价格往往会突破某一方向并快速运动。
第一部分:数据获取、布林带计算与图形展示
- 数据获取与处理
在任何量化交易策略中,数据获取是最基础的一步。
我们通过
Twelve Data
API来获取特斯拉(TSLA)股票的历史日线数据。
以下代码通过发送API请求,获取指定时间段内的股票数据,并将其转化为Pandas DataFrame格式,以便后续处理:
通过这段代码,我们成功地获取了特斯拉的历史数据,并整理成适合分析的格式。特别要注意,API返回的数据包括股票的多个属性,如开盘价、收盘价、最高价、最低价等,我们只保留了收盘价,以便进行后续的布林带计算。特斯拉的股价走势图如下所示:
- 布林带计算
布林带的计算基于简单移动平均(SMA)和标准差(STD)。通过以下代码,我们计算了布林带的上轨、下轨和带宽:
在这里,我们设置了20天的移动平均周期,标准差倍数为2,计算了布林带的上下轨线。布林带宽度(
BB_Width
)则是上轨与下轨的差,反映了市场的波动性。
- 识别布林带挤压(Squeeze)
布林带挤压(Squeeze)是交易者常用的技术信号,它表明市场波动性处于低点,预示着未来可能出现剧烈的价格波动。通过以下代码, 我们计算布林带宽度在过去50天内的最小值来识别Squeeze信号 :
当布林带的宽度达到过去50天的最小值时,我们将其标记为Squeeze点,预示着市场可能会发生大的价格波动。
- 绘制布林带图形
为了便于理解,我们通过Matplotlib将布林带和收盘价绘制成图,并突出显示Squeeze点:
通过这段代码,我们能够直观地看到布林带的上下轨和收盘价,以及那些可能预示着市场即将发生波动的Squeeze点。 图中的紫色点即为Squeeze信号,它们通常代表市场即将出现突破。
第二部分:策略回测与资金管理
- 数据获取
我们首先定义了必要的参数,如股票代码、时间间隔、开始与结束日期,然后通过API获取数据。以下是获取数据的完整代码:
- 计算布林带
使用与第一部分相同的
calculate_bollinger_bands
函数,我们计算了布林带,并为后续策略提供了基础:
- 交易策略
我们根据布林带挤压和价格突破的条件定义了交易信号:
• 进入信号 :当股价突破上轨或出现Squeeze。
• 退出信号 :当股价跌破下轨。
- 回测与资金管理
通过
vectorbt
库,我们可以进行策略回测,模拟实际交易。初始资金设定为100,000美元,并加入了手续费和止损条件:
- 结果分析
通过回测,我们得到了策略的详细统计数据,包括总回报、胜率、最大回撤等:
结合特斯拉(TSLA)从2022年1月至今的股价走势,我们可以看到这套布林带策略在波动性较大的市场中表现出了卓越的盈利潜力。 在754天的交易期内,策略的回报率达到40.35%,大幅超越了基准回报率的0.98%,在特斯拉股价经历大幅波动时展现了强大的盈利能力。
特斯拉的股价在这段时间内有过几次剧烈波动,包括2022年初的震荡和2024年末的再次突破,这正是布林带策略所擅长的领域。 通过布林带挤压的信号,策略能够在市场波动性低迷时提前布局,并在价格突破布林带上轨时迅速入场,成功捕捉到上涨趋势。 在2022年到2023年期间,特斯拉股价的剧烈波动和快速上涨阶段,布林带策略便能够精准跟进,获得丰厚的回报。
总结
通过本篇文章, 我们全面分析了布林带挤压量化交易策略的实现过程 。从数据获取、布林带计算到交易信号生成,我们逐步展示了如何通过算法在市场中寻找交易机会。同时,结合
vectorbt
库的回测功能,我们能够评估策略的表现并进行风险管理。 通过不断优化参数和结合其他技术指标,布林带挤压策略可以成为我们在波动市场中的重要工具。
长按下方扫码 获取 本文完整源码 :
点击阅读原文加入 宽客邦量化俱乐部