量化投资怎么用MACD和Boll做成策略?简短介绍
还有疑问,立即追问>

量化投资

量化投资怎么用MACD和Boll做成策略?简短介绍

叩富问财 浏览:27 人 分享分享

1个回答
咨询TA
首发回答

您好, 使用MACD(Moving Average Convergence Divergence)和Bollinger Bands(布林带)构建量化投资策略是一种常见的方法。这两种技术指标可以相互补充,帮助你更准确地识别买卖信号。以下是一个简短的介绍和示例代码,展示如何使用这两种指标构建一个量化交易策略。


1. 布林带(Bollinger Bands):布林带由中心线(通常为N日移动平均线,如20日均线)和上下两条价格通道线(通常为N日价格标准差)组成。当价格触及下轨时,市场可能处于超卖状态;当价格触及上轨时,市场可能处于超买状态。
2. MACD(移动平均收敛发散指标):MACD由DIF(快速EMA与慢速EMA的差值)、DEA(DIF的EMA)和MACD柱(DIF与DEA的差值)组成。MACD柱上穿DEA柱通常被视为买入信号,下穿则为卖出信号。
3.  风险控制:设置止损和止盈点来控制风险。例如,当收盘价高于止损水平时,触发止盈信号。


以下是一个使用Python和Backtrader库实现上述策略的示例代码:

Python
import backtrader as bt
import datetime
import yfinance as yf

创建策略类
class MACDBollStrategy(bt.Strategy):
params = (
('fast_period', 12),
('slow_period', 26),
('signal_period', 9),
('bband_period', 20),
('bband_dev', 2),
)

def __init__(self):
# 计算MACD指标
self.macd = bt.indicators.MACD(self.data.close,
period_me1=self.params.fast_period,
period_me2=self.params.slow_period,
period_signal=self.params.signal_period)

计算布林带指标
self.bband = bt.indicators.BBands(self.data.close,
period=self.params.bband_period,
devfactor=self.params.bband_dev)

def next(self):
买入信号
if self.macd.macd[0] > self.macd.signal[0] and self.data.close[0] > self.bband.top[0]:
if not self.position:
self.buy()

卖出信号
if self.macd.macd[0] < self.macd.signal[0] and self.data.close[0] < self.bband.bot[0]:
if self.position:
self.sell()

加载数据
data = bt.feeds.PandasData(dataname=yf.download('AAPL', start='2020-01-01', end='2021-12-31'))
 创建Cerebro引擎
cerebro = bt.Cerebro()

添加数据
cerebro.adddata(data)

添加策略
cerebro.addstrategy(MACDBollStrategy)

设置初始资金
cerebro.broker.setcash(100000.0)

运行回测
cerebro.run()

输出最终资金
print(f'Final Portfolio


这种策略结合了布林带的超买超卖判断和MACD的趋势反转信号,旨在实现较低的入场价格,并包含止盈止损方法来锁定利润和控制风险。


想不想深入了解期货量化交易、数据回测、策略优化?赶快预约我领取资料,我会帮助你提升交易策略的成功效率。还是那句话,万事开头难,这里说的只是抛砖引玉,如果你是量化小白,找个老手带你入门是很重要的,有问题就通过电话或微信联系我吧,还有现成的内部量化策略,低回撤,收益稳定,免编程,直接用!

发布于3小时前 上海

当前我在线 直接联系我
收藏 分享 追问
举报
咨询TA

期货量化工具免费领,一键识别支撑、压力位,告别无效盯盘
您是不是也有以下困扰?可以免费领取试一下:
1、新手一枚,不知道如何下手
2、想把握每个波动机会,频繁操作,被市场打脸
3、抓不住买卖时机,做空它就涨,做多它就跌!
4、被情绪左右,亏损后还想继续操作,越亏越大

   免费体验>>

收藏 分享 追问
问题没解决?向金牌答主提问, 最快30秒获得解答! 立即提问
免责声明:本站问答内容均由入驻叩富问财的作者撰写,仅供网友交流学习,并不构成买卖建议。本站核实主体信息并允许作者发表之言论并不代表本站同意其内容,亦不代表本站对该信息内容予以核实,据此操作者,风险自担。同时提醒网友提高风险意识,请勿私下汇款给作者,避免造成金钱损失。
同城推荐 更多>
相关文章
回到顶部