量化交易策略通常基于数学模型和算法来决定何时买入或卖出资产。
移动平均线交叉策略
这是一个基于价格移动平均线交叉来决定买入和卖出时机的策略。简单移动平均线(SMA)是一种分析工具,用于平滑价格数据,以创建一个常跟踪价格的趋势指标。
import numpy as np
import pandas as pd
# 假设df是包含价格数据的DataFrame,其中有一个名为'Close'的列,代表每日收盘价
def moving_average_crossover_strategy(df, short_window, long_window):
signals = pd.DataFrame(index=df.index)
signals['signal'] = 0.0
# 短期和长期移动平均线
signals['short_mavg'] = df['Close'].rolling(window=short_window, min_periods=1).mean()
signals['long_mavg'] = df['Close'].rolling(window=long_window, min_periods=1).mean()
# 创建信号
signals['signal'][short_window:] = np.where(signals['short_mavg'][short_window:]
> signals['long_mavg'][short_window:], 1.0, 0.0)
# 生成交易指令
signals['positions'] = signals['signal'].diff()
return signals
在这个策略中,当短期移动平均线上穿长期移动平均线时,我们买入;当短期移动平均线下穿长期移动平均线时,我们卖出。