给我写一个单均线策略量化交易程序
时间: 2023-11-13 12:04:40 浏览: 94
好的,我可以为您提供一个简单的单均线策略量化交易程序的代码示例。请注意,这仅仅是一个示例,您需要自行根据实际情况进行修改和优化。
```python
import pandas as pd
import numpy as np
import yfinance as yf
# 定义策略函数
def MA_strategy(ticker, ma_period):
# 获取数据
data = yf.download(ticker)
# 计算均线
data['MA'] = data['Adj Close'].rolling(ma_period).mean()
# 计算买卖信号
data['Signal'] = np.where(data['Adj Close'] > data['MA'], 1, -1)
# 计算每天持有的股票数量
data['Position'] = data['Signal'].shift(1) * 1000 # 假设每次交易1000股
# 计算每天的收益
data['PnL'] = data['Position'] * (data['Adj Close'] - data['Adj Close'].shift(1))
# 计算累计收益
data['Cumulative PnL'] = data['PnL'].cumsum()
return data
# 运行策略函数
data = MA_strategy('AAPL', 20)
# 输出结果
print(data.tail())
```
上面的代码使用了Python中的pandas和yfinance库,通过下载AAPL的历史价格数据,并且计算20日均线。然后根据股价与均线的关系计算买卖信号,进而计算每天持有的股票数量、每天的收益和累计收益。最后输出结果。
请注意,这个策略非常简单,实际应用时需要进行更多的优化和改进,例如添加止损和止盈等条件。
阅读全文