简介:本文为小散投资者提供一套基于Python的量化策略,通过识别底部放量跳空上扬形态,实现一分钟内筛选强势股,提升交易效率与胜率。
在技术分析中,“底部放量跳空上扬”是典型的反转信号,结合了量价关系与形态学双重验证:
为实现“一分钟筛选”,需将技术分析转化为可量化的条件:
以下代码基于pandas和tushare(或akshare)实现,假设已获取股票日线数据:
import pandas as pddef select_strong_stocks(df):"""筛选底部放量跳空上扬的强势股:param df: 日线数据DataFrame,包含'open', 'high', 'low', 'close', 'volume'列:return: 符合条件的股票代码列表"""# 计算均线df['ma20'] = df['close'].rolling(20).mean()df['ma60'] = df['close'].rolling(60).mean()# 底部条件:当前价低于均线,且均线呈上升趋势bottom_condition = (df['close'].iloc[-1] < df['ma20'].iloc[-1]) & \(df['close'].iloc[-1] < df['ma60'].iloc[-1]) & \(df['ma20'].iloc[-1] > df['ma20'].iloc[-2]) & \(df['ma60'].iloc[-1] > df['ma60'].iloc[-2])# 放量条件:当日成交量 > 前5日平均成交量的1.5倍df['avg_vol_5'] = df['volume'].rolling(5).mean()volume_condition = df['volume'].iloc[-1] > 1.5 * df['avg_vol_5'].iloc[-1]# 跳空条件:当日开盘价 > 前一日最高价,且缺口未回补gap_condition = (df['open'].iloc[-1] > df['high'].iloc[-2]) & \(df['close'].iloc[-1] > df['high'].iloc[-2])# 上扬条件:当日涨幅 ≥ 3%up_condition = (df['close'].iloc[-1] / df['close'].iloc[-2] - 1) >= 0.03# 综合筛选if bottom_condition and volume_condition and gap_condition and up_condition:return [df['code'].iloc[-1]] # 假设df包含'code'列else:return []# 示例:批量筛选(需结合股票池数据)stock_pool = [...] # 股票池代码列表results = []for code in stock_pool:df = get_stock_data(code) # 获取日线数据函数selected = select_strong_stocks(df)results.extend(selected)print("符合条件的强势股:", results)
数据源选择:
tushare(需API权限)或akshare(免费)获取实时数据。参数调整:
风险控制:
扩展功能:
假设2023年10月某日,通过策略筛选出股票A:
通过量化策略,小散投资者可克服情绪化交易,实现:
行动建议:
量化投资不是“圣杯”,但通过科学方法,小散也能在市场中占据一席之地!