加強特徵工程,在原有的特徵上多加了衡輛波動性、動量、價格偏離度。
總報酬率下降了從Day13的-2.09%變成了-1.95%
平均準確度從0.5227提升到了0.5265
# ATR (Average True Range) — 衡量波動性
high_low = df['high'] - df['low']
high_close = (df['high'] - df['close'].shift(1)).abs()
low_close = (df['low'] - df['close'].shift(1)).abs()
tr = pd.concat([high_low, high_close, low_close], axis=1).max(axis=1)
df['ATR'] = tr.rolling(window=14).mean()
# Momentum (動量)
df['Momentum'] = df['close'] - df['close'].shift(10)
# 價格偏離度
df['Price_vs_MA20'] = df['close'] - df['MA20']
df['Price_vs_MA50'] = df['close'] - df['MA50']
df = df.dropna() # 移除 NaN 值