策略逻辑
一、策略设计逻辑与核心目标
该策略是专门针对 ST 股票设计的短线交易系统,核心逻辑基于 "事件驱动 + 技术面验证" 的思路,试图捕捉 ST 股票在特定市场环境下的短期交易机会。策略的核心目标是:在严格控制风险的前提下,利用 ST 股票的高波动性和事件敏感性(如摘帽预期、重组消息等)获取超额收益。
ST 股票因其特殊属性(业绩连续亏损、存在退市风险),往往呈现出与普通股票不同的价格波动特征:波动幅度更大、受消息面影响更显著、存在阶段性炒作机会。策略正是基于这些特征,构建了一套从选股到交易执行的完整闭环。
二、初始化模块:策略基础规则设定
初始化模块是策略运行的基础,决定了回测与实盘交易的底层规则,主要包含四部分内容:
1. 回测环境配置
- 真实价格回测:确保回测使用真实市场成交价格(非复权价格),提高回测真实性。
- 防未来函数:禁用未来函数,避免策略使用 "还未发生" 的数据(如用当日收盘价预测当日走势),保证交易逻辑的合法性。
2. 交易成本设置
策略采用贴近 A 股市场实际的成本参数:
- 印花税:卖出时收取 0.05%(A 股现行标准),买入时不收取。
- 佣金:买卖均收取 0.01%,但每笔交易最低佣金 5 元(不足 5 元按 5 元收取)。
- 滑点:设置固定滑点 0.01 元 / 股,模拟实际交易中买卖价差造成的成本。
这些参数直接影响策略的收益计算,设置越贴近实际,回测结果参考价值越高。
3. 核心策略参数
- 最大持仓数量限制,通过分散投资降低单一股票风险。
- 每日筛选出的候选股票列表,作为买入池。
- 持仓中处于跌停状态的股票列表,用于特殊风险处理。
4. 定时任务调度
策略通过函数设置了严格的时间驱动机制,模拟实盘交易中的关键时间节点:
- 9:25(开盘前):执行选股函数,完成当日选股。
- 9:31(开盘后 1 分钟):执行买入函数,避免开盘初期的极端波动。
- 11:28(上午收盘前 2 分钟)和 14:55(下午收盘前 5 分钟):执行卖出函数,把握日内交易的关键卖出窗口。
- 每根 K 线(默认 5 分钟):执行检测函数,实时监控风险。
这种时间安排既保证了交易的及时性,又避免了盘中过度交易。
三、盘前选股模块:多维度筛选逻辑详解
选股函数是策略的核心,通过 6 层筛选从 ST 股池中精选出符合条件的候选股,每一层筛选都有明确的逻辑目标:
1. 初始池构建:获取 ST 股票列表
通过函数获取前一交易日的所有 ST 股票,这是策略的基础选股范围。选择 ST 股的逻辑是:
- ST 股票因存在退市风险,往往估值较低,一旦出现业绩改善或重组预期,容易产生较大涨幅。
- ST 股票的投资者关注度相对集中,价格波动更大,短线交易机会更多。
2. 季节性筛选:国九条规则应用
在特定月份(1 月 15-31 日、4 月 15-31 日、12 月 15-31 日)启用基本面筛选,这些月份是 A 股年报、季报集中披露期,ST 股基本面变化频繁:
- 筛选逻辑:要求股票满足 "净利润为正、营业收入超 1 亿元、ROE 和 ROA 均为正" 等条件。
- 目的:在 ST 股中排除那些基本面持续恶化、退市风险极高的股票,保留有改善潜力的标的。
- 效果:经测试,该筛选可使初始 ST 股池数量减少 30%-50%,显著降低踩雷风险。
3. 技术面筛选:趋势与量能验证
通过技术指标进一步过滤,确保所选股票具备短期上涨动能:
- 10 日均线之上:收盘价高于 10 日均线,表明短期处于多头趋势。
- 量能放大:当日成交量大于前一日,但不超过 10 倍,既保证有资金关注,又避免异常放量(如主力出货)。
- 价格强度:收盘价高于前一日最低价,显示日内买盘较强。
- 股价门槛:股价高于 1 元,规避濒临退市的超低价股。
这一步筛选的核心是 "量价配合",确保资金在推动股价上涨,而非单纯的价格波动。
4. 形态筛选:涨停模式识别
通过函数筛选特定涨停形态的股票:
- 前日涨停:前一交易日收盘价等于涨停价,表明有资金强势介入。
- 昨日不涨停:昨日收盘价不等于涨停价,避免追高连续涨停的股票,降低回调风险。
这种 "涨停后调整" 的形态在 ST 股中较为常见,往往是短期继续上涨的前兆,策略专门捕捉这类机会。
5. 开盘价过滤:控制买入时机
要求当日开盘价在昨日收盘价的 0.95-1.01 倍之间:
- 低于 0.95 倍:开盘跌幅过大,可能存在未公开利空,规避。
- 高于 1.01 倍:开盘涨幅过高,买入成本过高,降低收益空间。
这一过滤能有效避免在极端开盘价下买入,提高入场性价比。
6. 最终排序:综合评分
按 "换手率 × 开盘价 / 昨日收盘价" 因子排序,优先选择得分高的股票:
- 换手率高:股票活跃度高,流动性好,便于买卖。
- 开盘价 / 昨日收盘价合理:结合价格位置与活跃度,平衡风险与收益。
最终筛选结果存入列表,作为当日买入候选。
四、交易执行模块:买卖逻辑与风险控制
1. 买入逻辑
买入策略遵循 "分散、等量、择时" 三大原则:
- 分散持仓:最多持有 4 只股票,每只股票资金分配大致均等,避免单一股票风险过大。
- 资金管理:可用资金平均分配给每只待买股票,确保持仓比例均衡。
- 交易限制:
- 不买停牌股:无法成交,占用资金。
- 不买涨停 / 跌停股:涨停股买入成本高,跌停股存在持续下跌风险。
买入时间选择在 9:31,既避开了开盘集合竞价的极端波动,又能尽早入场把握当日机会。
2. 卖出逻辑:多场景风险控制
(1)定时卖出
在每日收盘前的关键时间点(11:28 和 14:55)执行,卖出条件为 "未涨停且满足以下任一条件":
- 止盈条件:持仓有盈利(无论多少),遵循 "落袋为安" 原则,避免盈利回吐。
- 高位出货条件:昨日涨停但今日未续涨,这类股票往往短期见顶概率高。
- 止损条件:亏损超过 3%,严格控制单笔交易风险。
(2)实时止损
每 5 分钟检查一次,专门针对 "亏损超过 3%" 的情况,比定时卖出更灵敏,能在盘中快速止损,防止亏损扩大。
两种卖出机制结合,形成了 "日常止盈 + 紧急止损" 的双层防护网。
3. 跌停特殊处理
针对 ST 股可能出现的极端行情(跌停),策略设计了专门的处理机制:
- 实时监控持仓股,若股价触及跌停价,加入跌停列表。
- 一旦跌停板打开(股价回升至跌停价以上),立即清仓,避免继续下跌造成更大损失。
这一机制对 ST 股尤为重要,因为 ST 股跌停后可能出现连续跌停,及时出逃能有效控制风险。
五、辅助函数解析:策略的 "基础设施"
策略依赖多个辅助函数实现数据处理和条件判断,这些函数是策略正常运行的基础:
1. 日期处理函数
- 判断当前日期是否在特定区间(1/4/12 月的 15-31 日),决定是否启用国九条筛选。
- 计算指定日期的前 N 个交易日或自然日,解决 A 股非交易日(周末、节假日)的日期计算问题。
- 实现日期格式在字符串、datetime、date 之间的转换,确保不同函数间的数据兼容性。
2. 股票筛选工具
- 筛选指定日期收盘价等于涨停价的股票,用于识别强势股。
- 筛选指定日期收盘价不等于涨停价的股票,用于排除过度上涨的股票。
六、策略优劣势分析
1. 策略优势
- 针对性强:专门针对 ST 股设计,充分利用其高波动、高弹性的特点。
- 风险控制严格:3% 止损 + 跌停处理 + 持仓分散,多重机制控制风险。
- 逻辑清晰:从选股到交易的每一步都有明确的市场逻辑支撑,而非单纯的参数优化。
2. 潜在风险
- ST 股政策风险:监管层对 ST 股的监管政策可能收紧(如退市新规),导致策略失效。
- 流动性风险:部分 ST 股成交量小,可能出现买入后无法卖出的情况。
- 黑天鹅风险:ST 股可能突发退市公告,导致股价连续跌停,止损机制可能失效。
该策略通过系统化的筛选和严格的风险控制,为 ST 股交易提供了一套可执行的框架,但需注意 ST 股本身的高风险性,实盘操作时务必保持谨慎。
#炒股日记##周度策略#本文作者可以追加内容哦 !