问题: 用写一个股票量化交易的代码,股价收盘突破8日均线就买入,跌破8日均线就卖出
回答:
以下是一个简单的股票量化交易代码实现:
import yfinance as yf
# 获取股票历史数据
ticker = yf.Ticker('AAPL')
df = ticker.history(period="1y")
# 计算8日均线
df['MA8'] = df['Close'].rolling(window=8).mean()
# 将第一个7天的数据删掉,因为需要8个数据才能计算8日均线
df = df.iloc[8:]
# 初始化持仓
holding = False
# 遍历每个交易日
for index, row in df.iterrows():
close_price = row['Close']
ma8_price = row['MA8']
# 如果今天收盘价突破8日均线并且没有持仓,则买入股票
if close_price > ma8_price and holding == False:
holding = True
buy_price = close_price
print("买入", index, close_price)
# 如果今天收盘价跌破8日均线并且持仓,则卖出股票
if close_price < ma8_price and holding == True:
holding = False
sell_price = close_price
print("卖出", index, close_price)
# 计算盈亏
profit = sell_price - buy_price
print("盈亏", profit)
其中,使用了库来获取股票历史数据,计算8日均线时使用了的函数。然后,用一个for循环遍历每个交易日,并根据收盘价和均线判断是否需要买入或卖出股票,在完成一笔交易后计算盈亏并输出。具体实现可以根据需求进行修改。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...