量化交易策略通常基于数学模型和算法来决定何时买入或卖出资产。
移动平均线交叉策略
这是一个基于价格移动平均线交叉来决定买入和卖出时机的策略。简单移动平均线(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
在这个策略中,当短期移动平均线上穿长期移动平均线时,我们买入;当短期移动平均线下穿长期移动平均线时,我们卖出。