期货双均线趋势跟随策略Python源码
还有疑问,立即追问>

均线期货

期货双均线趋势跟随策略 Python 源码

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

1个有赞回答
咨询TA
首发回答

您好, 下面是一个使用Python编写的简单期货双均线趋势跟随策略的示例代码。这个策略使用了`backtrader`库,这是一个广泛使用的开源量化交易平台,适合回测和实盘交易。此策略基于短期和长期移动平均线(MA)的交叉来决定买入或卖出信号。如果你想要更详细的策略和资料,记得通过电话或微信预约我领取!


安装依赖
首先,确保您已经安装了`backtrader`库。可以通过pip安装:

```bash
pip install backtrader
```

双均线趋势跟随策略代码
```python
import backtrader as bt
import datetime

创建一个继承自bt.Strategy的类
class DualMAStrategy(bt.Strategy):
params = (
('short_period', 5), # 短期均线周期
('long_period', 20), # 长期均线周期
)

def __init__(self):
# 初始化短期和长期移动平均线
self.short_ma = bt.indicators.SimpleMovingAverage(self.data.close, period=self.params.short_period)
self.long_ma = bt.indicators.SimpleMovingAverage(self.data.close, period=self.params.long_period)

def next(self):
if not self.position: # 如果当前没有持仓
if self.short_ma[0] > self.long_ma[0]: # 短期均线上穿长期均线
self.buy() # 买入
else: # 如果已有持仓
if self.short_ma[0] < self.long_ma[0]: # 短期均线下穿长期均线
self.sell() # 卖出

创建Cerebro引擎实例
cerebro = bt.Cerebro()

 添加策略
cerebro.addstrategy(DualMAStrategy)

加载数据
data = bt.feeds.YahooFinanceData(
dataname='CL=F', # 这里以原油期货为例
fromdate=datetime.datetime(2023, 1, 1),
todate=datetime.datetime(2024, 1, 1)
)
cerebro.adddata(data)

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

设置佣金
cerebro.broker.setcommission(commission=0.001)

打印起始资金
print('Starting Portfolio Value: %.2f' % cerebro.broker.getvalue())

运行回测
cerebro.run()

打印结束资金
print('Ending Portfolio Value: %.2f' % cerebro.broker.getvalue())

绘制结果
cerebro.plot()
```
希望这段代码能帮助您理解如何实现一个简单的双均线趋势跟随策略。如果您有更多问题或需要进一步的帮助,请随时告诉我!


要想入门量化交易不踩坑,或者觉得量化做起来有点复杂,不知道从哪儿开始,可以直接加我微信或电话交流学习,让你低成本免费实现量化,还有现成的量化策略模型,免编程,直接用,一对一帮你快速上手!

发布于23小时前 上海

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

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

   免费体验>>

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