python 写一个 股票量化交易例子
时间: 2023-07-01 13:10:04 浏览: 244
python股票量化系统
5星 · 资源好评率100%
好的,这里是一个简单的股票量化交易的例子。请注意,这只是一个简单的示例,实际的交易策略需要更加复杂的模型和算法来开发。
首先,我们需要导入一些必要的库:
```
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import datetime as dt
import yfinance as yf
```
然后,我们需要获取股票数据并对其进行处理:
```
start = dt.datetime(2015,1,1)
end = dt.datetime(2021,1,1)
data = yf.download('AAPL', start, end)
data['SMA_50'] = data['Adj Close'].rolling(window=50).mean()
data['SMA_200'] = data['Adj Close'].rolling(window=200).mean()
data.dropna(inplace=True)
data['Signal'] = np.where(data['SMA_50'] > data['SMA_200'], 1, -1)
data['Position'] = data['Signal'].shift(1)
data.dropna(inplace=True)
```
在这个例子中,我们使用了 AAPL 股票的历史数据,并计算了 50 天和 200 天的移动平均线。然后,我们使用这些移动平均线来生成交易信号。如果 50 天移动平均线大于 200 天移动平均线,则发出买入信号(1),否则发出卖出信号(-1)。
接下来,我们需要计算每天的收益率,并计算出我们的策略在该时间段内的累计收益率:
```
data['Returns'] = np.log(data['Adj Close'] / data['Adj Close'].shift(1))
data['Strategy'] = data['Position'] * data['Returns']
data[['Returns', 'Strategy']].cumsum().apply(np.exp).plot(figsize=(10, 6))
plt.show()
```
最后,我们可以绘制出我们的策略和股票价格的收益曲线,以便比较它们的表现。
这只是一个简单的示例,实际的交易策略需要更加复杂的模型和算法来开发。
阅读全文