期货双均线策略Python代码哪里有啊?你能教我吗
还有疑问,立即追问>

均线期货

期货双均线策略Python代码哪里有啊?你能教我吗

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

1个回答
咨询TA
首发回答

您好,期货双均线策略Python代码我这里有 ,我可以为您提供一个期货双均线策略的Python代码示例。以下是一个简单的双均线策略实现,您可以根据自己的需求进行调整和优化:


```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from WindPy import w

# 启动Wind API
w.start()

# 获取数据
raw_data = w.wsd("002617.SZ", "close", "2019-01-01", "2020-04-03", "Fill=Previous")
if raw_data.ErrorCode == 0:
fm = pd.DataFrame(raw_data.Data, index=raw_data.Fields, columns=raw_data.Times).T
fm['LMA'] = fm.CLOSE.rolling(12, min_periods=0).mean() # 长均线
fm['SMA'] = fm.CLOSE.rolling(6, min_periods=0).mean() # 短均线
fm['position'] = 0 # 持仓状态
fm['trade'] = 0 # 交易信号
fm['time'] = raw_data.Times

# 策略逻辑
def Strategy(fm):
for i in range(12, len(fm) - 1):
if (fm.SMA[i - 1] < fm.LMA[i - 1]) & (fm.SMA[i] > fm.LMA[i]) & (fm.position[i] == 0):
fm.iloc[i, 4] = 1 # 金叉,买入
fm.iloc[i + 1, 3] = 1
elif (fm.SMA[i - 1] > fm.LMA[i - 1]) & (fm.SMA[i] < fm.LMA[i]) & (fm.position[i] == 1):
fm.iloc[i, 4] = -1 # 死叉,卖出
fm.iloc[i + 1, 3] = 0
else:
fm.iloc[i + 1, 3] = fm.iloc[i, 3]
fm['ret'] = fm.CLOSE.pct_change(1).fillna(0)
fm['nav'] = (1 + fm.ret * fm.position).cumprod()
fm['benchmark'] = fm.CLOSE / fm.CLOSE[0]
return fm

这段代码首先使用WindPy库获取股票数据,然后计算长短均线,并根据均线的交叉情况生成交易信号。最后,评估策略的性能,包括夏普比率、年化收益率和最大回撤等指标。您可以根据自己的需求调整均线周期、股票代码和时间范围等参数。希望这个示例对您有所帮助!


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

发布于2024-11-3 21:45 上海

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

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

   免费体验>>

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