📑 查看全课大纲(第 20 / 59 节)
- 1.量化投资必备基础知识
- 2.趋势型策略及模型原理
- 3.均值回复型策略及模型原理
- 4.配对交易策略及模型原理
- 5.量化策略研发流程与基本技能
- 6.常用的量化平台概述及如何选择
- 7.如何量化一个主观策略思路
- 8.常用技术指标及指标计算过程
- 9.如何编写指标代码
- 10.指标的物理意义
- 11.技术指标的应用技巧
- 12.更多的交易决策
- 13.编写程序去量化一个趋势型技术指标
- 14.编写趋势型技术指标的性能评价
- 15.策略对交易成本和持仓周期的影响
- 16.股票池策略的原理及基本框架
- 17.基于多因子分析的股票池设计与实现
- 18.股票池的性能评估
- 19.使用定制化财务因子构建股票池
- 20.趋势型策略原理及股票池机制的设计
- 21.趋势型择时信号的设计方法与编程实现
- 22.趋势型策略的回测与性能评估
- 23.优化趋势型策略的思路及方法
- 24.量化体系中的风险控制思想
- 25.风险的度量-波动率
- 26.常用的风险控制方法
- 27.实现止盈止损模块以提高策略性能
- 28.策略性能的评估与优化
- 29.探讨波动率与风险的关系
- 30.量化策略中的经典资金管理模型
- 31.用python编程实现资金管理模块
- 32.构建一个完善的量化交易策略
- 33.趋势型量化策略必备的期货知识
- 34.期货量化工具介绍
- 35.商品期货趋势型策略原理
- 36.用TB编写商品期货趋势型策略(上)
- 37.用TB编写商品期货趋势型策略(下)
- 38.分析优化商品期货趋势型策略的方法思路
- 39.期货交易策略的注意事项
- 40.均值回复型策略的原理
- 41.A股市场有没有稳定的均值回复效应?
- 42.编写一个均值回复型股票量化策略
- 43.编写多空组合策略进行策略改进
- 44.在策略中实现头寸管理进行策略优化
- 45.套利策略原理及常见套利类型
- 46.用MC开发一个跨品种套利交易策略(上)
- 47.用MC开发一个跨品种套利交易策略(下)
- 48.统计套利之股票配对交易策略
- 49.实盘中的细节问题:加减仓
- 50.关于高频交易
- 51.如何评价实盘量化策略的性能
- 52.量化系统的工作过程及研发流程
- 53.运气or实力
- 54.量化实盘交易需要满足什么条件
- 55.未来函数的坑
- 56.实盘数据接口异常的自动报警
- 57.交易系统的压力测试
- 58.自动运行的交易策略,什么时候需要人工干预
- 59.预案准备和实盘心理建设
趋势型策略原理及股票池机制的设计
约 20 分钟
📺 正在播放小象官方高清录播(支持倍速与清晰度调节)
趋势型策略原理及股票池机制的设计
小象实战讲义 · 进阶量化交易实战:迭代式的量化策略研发 本讲义仅用于编程与量化方法教学,不构成任何投资建议。
单只标的的趋势策略极易受到个股黑天鹅与长时间盘整磨损的困扰。将趋势型择时逻辑与动态多因子股票池有机结合,在具备高动量与成长潜力的精选股票池内捕捉大级别突破行情,是实现稳健复利的核心机制。
💡 核心导读
- 趋势策略与股票池协同机制的两级火箭:
- 一级火箭(股票池选优):每月初在全市场中按相对强弱(RPS)精选出排名前 5 名的高动能股票池;
- 二级火箭(趋势择时进出场):在股票池内,个股触发唐奇安通道突破(Donchian Breakout)或双均线金叉时开仓,跌破动态止损线时止损出场;
- 低相关分散与资金动态再平衡:
- 限制单只个股持仓上限(如不超过总资金 10%),实现跨板块趋势捕捉。
┌─────────────────────────────────────────────────────────────┐
│ 趋势择时与股票池协同驱动拓扑图 │
└──────────────────────────────┬──────────────────────────────┘
│
┌─────────────────────────────┴─────────────────────────────┐
▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐
│ 多因子股票池 (一级火箭) │ │ 趋势择时执行 (二级火箭) │
├─────────────────────────┤ ├─────────────────────────┤
│ • 每月重平衡 │ │ • 每日动态监控 │
│ • RPS 动量 > 85 分位 │ │ • 唐奇安 20 日突破开仓 │
│ • 财务质量基本面及格 │ ──────── 选出 30 只备选标的 ───► │ • ATR 吊灯跟踪止损平仓 │
└─────────────────────────┘ └─────────────────────────┘一、相对强弱指标(RPS)与动态股票池联动
相对价格强度(Relative Price Strength, RPS)衡量个股过去 日涨幅在全市场股票中的分位数排名:
只有 的领涨强势股才能进入趋势交易备选池,有效避开弱势盘整股对资金的无谓占用。
import pandas as pd
import numpy as np
def calculate_market_rps(df_returns: pd.DataFrame, window: int = 120) -> pd.Series:
"""
计算截面相对强弱分位数 RPS
"""
returns_n = df_returns.pct_change(window).iloc[-1]
rps_series = returns_n.rank(pct=True) * 100.0
return rps_series二、股票池内趋势择时信号生成与仓位限制
在入选池内,个股收盘价突破过去 20 日最高价时触发买入信号。为控制组合集中度风险,单只标的最大分配权重为 。
{i, t} = (P{i, t} > \max_{1 \le k \le 20} P_{i, t-k}) \land (i \in \mathcal{S}_{pool})
def generate_pool_trend_signals(df_prices: pd.DataFrame, pool_symbols: list) -> pd.DataFrame:
"""
股票池内趋势突破信号生成
"""
signals = pd.DataFrame(index=df_prices.index)
for sym in pool_symbols:
high_20 = df_prices[sym].rolling(20).max().shift(1)
signals[sym] = (df_prices[sym] > high_20).astype(int)
return signals📝 动手练一练
编写 Python 仿真测试,模拟 RPS 筛选前 5 名股票池并在池内触发趋势突破交易:
import pandas as pd
import numpy as np
def run_pool_trend_test():
np.random.seed(42)
dates = pd.date_range('2023-01-01', periods=100)
# 模拟 20 只股票
symbols = [f'S_{i:02d}' for i in range(20)]
price_data = {}
for s in symbols:
price_data[s] = 100.0 * np.cumprod(1.0 + np.random.normal(0.0005, 0.02, 100))
df_prices = pd.DataFrame(price_data, index=dates)
# 1. 计算 RPS 选出 Top 5
rps = calculate_market_rps(df_prices, window=60)
top_symbols = list(rps.nlargest(5).index)
# 2. 生成趋势信号
signals = generate_pool_trend_signals(df_prices, top_symbols)
total_signals = signals.sum().sum()
print("================ 股票池趋势协同策略测试 ================")
print(f"入选 Top 5 强势股票池: {top_symbols}")
print(f"股票池内累计触发突破次数: {total_signals} 次")
assert len(top_symbols) == 5, "股票池筛选数量不正确!"
print("✅ 股票池机制与趋势策略协同验证 PASS")
print("======================================================")
if __name__ == '__main__':
run_pool_trend_test()运行结果输出:
================ 股票池趋势协同策略测试 ================
入选 Top 5 强势股票池: ['S_08', 'S_14', 'S_16', 'S_19', 'S_10']
股票池内累计触发突破次数: 115 次
✅ 股票池机制与趋势策略协同验证 PASS
======================================================本章小结
- 两级火箭驱动机制:一级火箭通过多因子股票池锁定强势领涨主线,二级火箭利用技术突破精准择时。
- 严格单票权重控制:通过等权重或风险平价限制单一标的暴露上限,防范个股踩雷风险。
- 动态淘汰与更新:跌出 RPS 阈值或触发止损的标的立即移出股票池,资金迅速释放至高分候选标的。
📋 行动清单 (Action Checklist)
- 运行股票池趋势测试代码,测算 RPS 阈值(80 vs 90)对交易胜率的影响;
- 为趋势信号增加成交量放大(Volume > 1.5 * VMA)确认条件;
- 预习下一节,深入掌握趋势择时信号的设计方法与状态机实现。
— 小象教研组
配套学习资源与课件
🎁 免费学习资源
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问