您好, 期货双均线策略是一种常见的量化交易策略,其基本原理是利用短期均线与长期均线的交叉来发出买入或卖出信号。下面我将提供一个简单的Python示例代码,该代码使用`pandas`库处理数据,并使用`matplotlib`库绘图展示结果。请确保已经安装了必要的库,如果没有安装,可以通过pip命令安装它们:
```bash
pip install pandas matplotlib yfinance
```
接下来是Python代码示例:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import yfinance as yf
# 定义股票代码和日期范围
ticker = 'CL=F' # WTI原油期货合约
start_date = '2022-01-01'
end_date = '2024-10-27'
# 下载数据
data = yf.download(ticker, start=start_date, end=end_date)
# 计算短期和长期均线
short_window = 40
long_window = 100
data['Short_MA'] = data['Close'].rolling(window=short_window, min_periods=1).mean()
data['Long_MA'] = data['Close'].rolling(window=long_window, min_periods=1).mean()
# 创建新的列用于存储买入卖出信号
data['Signal'] = 0.0
data['Signal'][short_window:] = np.where(data['Short_MA'][short_window:] > data['Long_MA'][short_window:], 1.0, 0.0)
data['Position'] = data['Signal'].diff()
# 绘制图表
plt.figure(figsize=(14,7))
plt.plot(data['Close'], label='Close Price', color='blue', alpha=0.5)
plt.plot(data['Short_MA'], label=f'{short_window} Day MA', color='orange')
plt.plot(data['Long_MA'], label=f'{long_window} Day MA', color='green')
# 绘制买入信号
plt.plot(data[data['Position'] == 1].index,
data['Short_MA'][data['Position'] == 1],
'^', markersize=10, color='g', lw=0, label='Buy Signal')
# 绘制卖出信号
plt.plot(data[data['Position'] == -1].index,
data['Short_MA'][data['Position'] == -1],
'v', markersize=10, color='r', lw=0, label='Sell Signal')
请注意,这只是一个基础示例,实际应用中可能需要根据具体的交易需求和市场特性进一步调整和优化策略。例如,可以添加止盈止损机制、仓位管理等功能。此外,真实交易前应该先进行充分的历史回测,以验证策略的有效性。
想不想深入了解期货量化交易、数据回测、策略优化?赶快预约我领取资料,我会帮助你提升交易策略的成功效率。还是那句话,万事开头难,这里说的只是抛砖引玉,如果你是量化小白,找个老手带你入门是很重要的,有问题就通过电话或微信联系我吧,还有现成的内部量化策略,低回撤,收益稳定,免编程,直接用!
发布于2024-10-28 09:09 上海

