以下是基于K线横盘、洗盘、堆量特征识别主力资金信号的Python策略示例。该程序通过量化技术特征,结合成交量分析来捕捉主力动向:
“`python
import pandas as pd
import numpy as np
import talib as ta
import matplotlib.pyplot as plt
def detect_main_force_signals(data, period=20, vol_mult=2.0):
“””
主力资金信号检测函数
参数:
data – 包含OHLCV的DataFrame
period – 横盘检测周期
vol_mult – 洗盘成交量倍数
“””
df = data.copy()
# 1. 横盘条件:价格波动率<3%
df[‘high_20’] = df[‘high’].rolling(period).max()
df[‘low_20’] = df[‘low’].rolling(period).min()
df[‘volatility’] = (df[‘high_20’] – df[‘low_20’]) / df[‘low_20’]
df[‘sideways’] = np.where(df[‘volatility’] < 0.03, 1, 0)
# 2. 洗盘条件:异常成交量+价格震荡
df[‘ma5_vol’] = df[‘volume’].rolling(5).mean()
df[‘vol_peak’] = np.where(df[‘volume’] > vol_mult * df[‘ma5_vol’], 1, 0)
df[‘body’] = (df[‘close’] – df[‘open’]) / df[‘open’]
df[‘shadow’] = (df[‘high’] – df[‘low’]) / df[‘low’] – abs(df[‘body’])
df[‘shakeout’] = np.where((df[‘vol_peak’]==1) &
(df[‘shadow’] > 0.05) &
(abs(df[‘body’]) < 0.02), 1, 0)
# 3. 堆量条件:连续放量+量能趋势
df[‘ma5_vol’] = df[‘volume’].rolling(5).mean()
df[‘ma60_vol’] = df[‘volume’].rolling(60).mean()
df[‘volume_up’] = df[‘ma5_vol’] > df[‘ma60_vol’]
df[‘vol_trend’] = df[‘volume_up’].rolling(3).sum() == 3
# 综合信号(横盘中出现洗盘且开始堆量)
df[‘signal’] = np.where((df[‘sideways’]==1) &
(df[‘shakeout’]==1) &
(df[‘vol_trend’]==1), 1, 0)
return df
# 数据获取示例(需替换为实际数据源)
url = “https://stockdata.example.com/AAPL.csv”
df = pd.read_csv(url, parse_dates=[‘date’], index_col=’date’)
# 生成信号
signals = detect_main_force_signals(df)
# 可视化结果
plt.figure(figsize=(16,8))
plt.plot(df[‘close’], label=’Price’)
plt.scatter(signals[signals[‘signal’]==1].index,
df[‘close’][signals[‘signal’]==1],
color=’red’, marker=’^’, s=100, label=’Main Force Signal’)
plt.title(‘Main Capital Trading Signals’)
plt.legend()
plt.show()
“`
核心逻辑解析:
1. **横盘检测**(sideways):
– 计算20周期最高价与最低价波动率
– 波动率<3%时判定为横盘
2. **洗盘识别**(shakeout):
– 成交量达到5日均量2倍以上
– K线实体<2%且影线>5%(长影线震荡)
– 价格未突破横盘区间
3. **堆量确认**(vol_trend):
– 5日成交量均线>60日均线
– 连续3日维持放量趋势
参数优化建议:
– 横盘周期:可根据个股特性调整20-30日
– 波动率阈值:3%-5%之间调整
– 成交量倍数:1.5-3倍根据市场环境调整
注意事项:
1. 需结合大盘环境使用,熊市中信号可靠性降低
2. 建议配合MACD/RSI等指标确认趋势强度
3. 出现信号后应等待价格突破横盘区间再行动
4. 需用历史数据进行参数优化和回测验证
该策略通过量化主力操盘常见特征,帮助投资者识别资金异动。实际应用中建议结合基本面分析和市场环境综合判断,可加入止损机制控制风险。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/1227411
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!