用python写一个量化投资策略
时间: 2024-05-06 14:16:16 浏览: 146
量化策略代码,量化策略代码太难写啦,Python
5星 · 资源好评率100%
好的,下面是一个简单的均线策略的Python代码:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv('data.csv')
data['Date'] = pd.to_datetime(data['Date'])
data.set_index('Date', inplace=True)
# 计算5日和20日均线
data['SMA5'] = data['Close'].rolling(window=5).mean()
data['SMA20'] = data['Close'].rolling(window=20).mean()
# 生成交易信号
data['Signal'] = np.where(data['SMA5'] > data['SMA20'], 1, 0)
# 计算收益率
data['Returns'] = np.log(data['Close'] / data['Close'].shift(1))
# 计算策略收益率
data['StrategyReturns'] = data['Signal'].shift(1) * data['Returns']
# 计算累计收益率
data['CumulativeReturns'] = np.exp(data['Returns'].cumsum()) - 1
data['CumulativeStrategyReturns'] = np.exp(data['StrategyReturns'].cumsum()) - 1
# 绘制收益曲线
plt.plot(data['CumulativeReturns'], label='Market Returns')
plt.plot(data['CumulativeStrategyReturns'], label='Strategy Returns')
plt.legend()
plt.show()
```
这个程序实现了一个简单的均线策略,如果5日均线上穿20日均线就买入,反之就卖出。你可以将你的数据替换为`data.csv`文件中的数据,然后运行这个程序,就可以得到策略的收益曲线。当然,这只是一个简单的示例,实际的量化投资策略可能会更加复杂。
阅读全文