请用python给我写一个量化策略
时间: 2023-07-04 20:09:19 浏览: 49
好的,下面是一个简单的移动平均线策略的 Python 代码:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 获取股票数据
data = pd.read_csv('stock_data.csv')
# 计算10日移动平均线
data['MA10'] = data['Close'].rolling(window=10).mean()
# 计算20日移动平均线
data['MA20'] = data['Close'].rolling(window=20).mean()
# 创建一个新的列,当10日移动平均线超过20日移动平均线时为1,否则为0
data['signal'] = np.where(data['MA10'] > data['MA20'], 1, 0)
# 计算收益率
data['return'] = np.log(data['Close'] / data['Close'].shift(1))
# 计算策略收益率
data['strategy_return'] = data['signal'].shift(1) * data['return']
# 计算累计收益率
data['cum_strategy_return'] = (data['strategy_return'] + 1).cumprod()
# 绘制收益曲线
plt.plot(data['cum_strategy_return'])
plt.show()
```
在这个策略中,我们计算了股票的10日移动平均线和20日移动平均线,并创建了一个新的列 signal,当10日移动平均线超过20日移动平均线时为1,否则为0。然后,我们计算收益率和策略收益率,并使用累计收益率来绘制收益曲线。