回测曲线美如画,实盘跑起来就拉胯。
动量策略刚触发买入信号,均值回归就亮起卖出警报。
市场没有圣杯,只有策略的调酒师。
去年用这个策略抓住英伟达行情,持续盈利。核心是”强者恒强”四个字:
数据抓取 获取清洗行情
import pandas as pd
import yfinance as yf
# 获取标普500两年数据
spy = yf.download('SPY', start='2023-01-01', end='2025-01-01')
动量计算 识别趋势强度
def calc_momentum(data, window=30):
data['return'] = data['Close'].pct_change()
# 计算30日收益率排名
data['mom_rank'] = data['return'].rolling(window).rank(pct=True)
return data
信号生成 设置交易阈
data['signal'] = 0
# 前10%强势股买入
data.loc[data['mom_rank'] > 0.9, 'signal'] = 1
# 后10%弱势股卖空
data.loc[data['mom_rank'] < 0.1, 'signal'] = -1
均值回归:恐慌中的”物极必反”
- 构建通道 捕捉极端价位
def build_bollinger(data, window=20):
# 中轨=20日均线
data['ma'] = data['Close'].rolling(window).mean()
# 2倍标准差通道
data['upper'] = data['ma'] + 2*data['Close'].rolling(window).std()
data['lower'] = data['ma'] - 2*data['Close'].rolling(window).std()
return data
- 逆向交易 反人性操作
data['signal'] = 0
# 跌破下轨买入
data.loc[data['Close'] < data['lower'], 'signal'] = 1
# 突破上轨卖出
data.loc[data['Close'] > data['upper'], 'signal'] = -1
当策略互相冲突
2024年3月的噩梦记忆犹新:
- 动量策略追涨AI概念股
- 均值回归抄底银行股
- 美联储加息双杀,单日亏损18%
策略杀手场景:
# 趋势转折点(如政策突变)
if market_volatility > 40:
momentum_strategy.fail()
mean_reversion_strategy.fail()
解决方案
现在我的交易系统这样运作:
# 趋势强度检测
trend_strength = calc_trend_index(data)
if trend_strength > 0.7: # 强趋势市场
activate(momentum_strategy, allocation=0.8)
elif trend_strength < 0.3: # 震荡市场
activate(mean_reversion_strategy, allocation=0.7)
else: # 混合状态
blend_strategies(ratio=0.5)
写在最后
策略是地图,市场是地形。
屏幕反光中看见自己早生的白发,突然理解前辈的话:
真正赚钱的不是策略,是理解策略为何失效的能力。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/1724821
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!