大家好,我是橙哥!在现代投资市场中,量化交易凭借其依靠数据和算法来做出理性决策的优势,成为了越来越多投资者的核心工具。今天,我们将结合一个实际的量化交易策略,向你展示如何通过
真实强度指数(TSI)
和
指数移动平均线(EMA)
来构建一个有效的趋势跟踪策略,并通过回测结果来验证其可行性。
惊人的回测结果:策略回报爆炸性增长
在回测过程中,我们采用了从
2020年1月2日到2024年12月31日
的数据进行模拟交易。最初的投资金额为
100,000元
,最终的资金达到了
2,990,064元
,也就是赚取了
2890.06%
的回报!
请在文末获取本文完整源代码和回测结果。
不仅如此,策略的
最大回撤
为
37.53%
,虽然回撤在某些市场条件下较大,但回报的增长明显高于风险,展示了这个策略的强大盈利潜力。接下来,我们将逐步介绍如何通过代码构建这个策略,每一部分代码的功能和背后的逻辑。
一、数据预处理:保证数据质量
在构建量化交易策略时,数据质量至关重要。为了确保后续的分析不受数据错误或缺失的影响,我们需要先对数据进行清洗和处理。具体来说,我们需要确保数据是数值类型,且没有缺失值,日期格式也要符合要求。
这段代码首先将数据框中的
开盘价(Open)
、
最高价(High)
、
最低价(Low)
、
收盘价(Close)
和
成交量(Volume)
转换为数值型数据,确保在后续计算中不会因为数据类型不匹配导致出错。使用
errors='coerce'
选项,无法转换的值会被处理为缺失值(NaN),然后通过
dropna()
删除这些缺失值。最后,我们将数据的索引列转换为日期时间格式,以便后续的时间序列处理。
二、计算 TSI 和 EMA:核心技术指标的计算
在量化交易策略中,技术指标是帮助我们做出买卖决策的关键工具。在这个策略中,我们使用
真实强度指数(TSI)
和
指数移动平均线(EMA)
作为核心指标。TSI 用于衡量市场的动量,EMA 用于识别趋势。
在这段代码中,我们通过自定义的
calculate_tsi()
函数计算了 TSI 指标,
long_period
和
short_period
分别是 TSI 的长期周期和短期周期参数。然后,通过
calculate_ema()
函数计算 EMA 指标,
ema_period
是 EMA 的周期参数。
-
TSI: 当 TSI 为正时,表示市场动量向上,适合买入;当 TSI 为负时,表示市场动量向下,适合卖出。
-
EMA: EMA 是一个加权的移动平均线,它能 够平滑价格数据,帮助我们判断价格是否处于上涨或下跌趋势。
三、生成买入和卖出信号:策略的核心逻辑
一旦我们计算出 TSI 和 EMA,就可以根据这两个指标来生成买入和卖出信号。具体规则如下:
-
买入信号: 当 TSI 大于零且收盘价高于 EMA 时,市场存在上涨动能,发出买入信号。
-
卖出信号: 当 TSI 小于零且收盘价低于 EMA 时,市场可能下跌,发出卖出信号。
在这里,我们根据 TSI 和 EMA 的值生成了入场和退出信号。具体而言,当 TSI 为正并且收盘价高于 EMA 时,策略发出买入信号;当 TSI 为负且收盘价低于 EMA 时,策略发出卖出信号。这种基于趋势的信号有助于我们在正确的时间进场并及时退出。
四、回测:验证策略的效果
在我们生成了交易信号后,接下来就是验证策略是否有效的关键步骤——回测。通过回测,我们能够看到这个策略在历史数据中的表现,判断它是否能够在真实市场中盈利。
在这段代码中,我们使用了网格搜索的方法,对
TSI
和
EMA
的多个参数组合进行了测试。
tsi_long_range
、
tsi_short_range
和
ema_range
分别定义了 TSI 长期周期、短期周期和 EMA 周期的不同取值范围。通过遍历这些参数组合,我们可以找到表现最好的参数配置,从而优化策略的回报。
五、回测结果:评估策略表现
回测结果提供了策略在历史数据上的详细表现。最终的回测结果显示,通过采用
10 周期的 TSI 长期周期
、
5 周期的 TSI 短期周期
和
30 周期的 EMA
配置,策略在过去几年中实现了
2890.06%
的回报,表现非常强劲。
通过这些回测结果,我们能够得出以下结论:
总回报
:通过策略,从 100,000 元起步,最终达到了 2,990,064 元,回报达到了 2890.06%。
最大回撤
:最大回撤为 37.53%,虽然有一定的亏损幅度,但相较于总回报,仍处于合理范围。
胜率
:胜率为 54.17%,策略的整体表现非常稳健。
利润因子
:利润因子为 2.56,意味着每亏损 1 元,策略就能带来 2.56 元的利润,显示出高效的盈利能力。
六、总结与应用
通过这篇文章,我们深入解析了如何构建一个基于
TSI
和
EMA
的量化交易策略。从数据预处理、技术指标计算到交易信号生成,再到回测和优化,每一步都有其重要性。回测结果显示,这个策略能够有效捕捉市场的趋势波动,并在历史数据中取得了令人印象深刻的回报。
在实际应用中,量化交易不仅能够帮助我们避免情绪化交易,还能够利用科学的策略和系统化的回测来确保我们的投资决策更为精准。希望通过本文的介绍,你能够掌握如何构建量化交易策略,并在未来的投资中获得更多的收益。
长按下方扫码 获取 本文完整源码 :
点击阅读原文加入 宽客邦量化俱乐部