AI 原生量化投研平台AI-native quantitative research platform
正在加载…Loading…
页面仍在加载,可以继续等待,或重新加载。The page is still loading. You can keep waiting or reload.
部分页面资源未能加载,请重新加载。Some page resources could not load. Please reload.
设备当前处于离线状态,恢复连接后可以继续等待或重新加载。Your device is offline. Once connected, you can keep waiting or reload.
传统技术指标因子是一套基于日频行情数据构建的**经典技术分析因子集合**,主要使用 open、high、low、close、volume、amount 基础行情字段,通过量能异动、市场情绪、价格趋势、震荡波动、极值高低点、量价交互统计六大维度,系统刻画股票短期、中期、长期的交易状态与资金行为特征。
200 个字段 · 主键 date + instrument
本文整理 198 个全量传统技术指标因子体系的构成、变量含义、指标分类与特征说明,覆盖全维度传统技术分析特征,可作为量化因子研究、特征工程、选股建模的标准基础文档。
传统技术指标因子是一套基于日频行情数据构建的经典技术分析因子集合,主要使用 open、high、low、close、volume、amount 基础行情字段,通过量能异动、市场情绪、价格趋势、震荡波动、极值高低点、量价交互统计六大维度,系统刻画股票短期、中期、长期的交易状态与资金行为特征。
198 个技术因子完全基于传统经典技术指标,包含 MACD、KDJ、BOLL、RSI、CCI、BIAS、OBV、VR、PSY、MFI、CR、ARBR 等数十类经典技术模型,同时多周期窗口全覆盖,解释性更强、贴合实盘技术分析逻辑、适配量化趋势、震荡、情绪各类行情策略。
| 类别 | 数量 | 主要刻画内容 |
|---|---|---|
| 量能成交类因子 | 10 | 刻画成交量、成交额相对历史周期的异动偏离,识别放量、缩量、量能波动、量比异动,反映市场交易活跃度。 |
| 能量情绪类因子 | 20 | 基于心理线、成交量比率、资金流、人气意愿、能量潮指标,量化市场多空情绪、资金博弈与市场热度。 |
| 趋势均线类因子 | 30 | 覆盖长短均线、指数平滑、MACD、动力指标、乖离率、趋势斜率,刻画价格趋势方向、强弱与偏离度。 |
| 震荡波动类因子 | 48 | 包含 CCI、乖离震荡、区间震荡、顶底背离、价格偏离指标,量化超买超卖、震荡幅度、价格区间特征。 |
| 极值位置类因子 | 40 | 通过多周期高低点、价格分位数、极值相对位置,判断阶段支撑压力、价格相对高低位置。 |
| 量价交互统计类因子 | 50 | 融合价格涨跌结构与成交量变化,统计涨跌比例、量能贡献、量价匹配度、趋势资金稳定性。 |
| 合计 | 198 | 全覆盖传统技术分析体系,量、价、势、浪、情、位六大维度完整闭环。 |
| 字段 | 含义 |
|---|---|
| open | 当日开盘价 |
| high | 当日最高价 |
| low | 当日最低价 |
| close | 当日收盘价 |
| volume | 当日成交量 |
| amount | 当日成交额 |
198 技术指标因子体系全部基于纯历史滚动窗口计算,无未来函数、无外部数据依赖,所有因子均做了除零保护、空值兼容、异常值修复,可直接用于实盘回测与机器学习建模。
本套因子:
统一复权口径 所有价格、量能字段建议统一使用后复权数据,保证时序连续性,避免价格跳空导致的因子失真。
异常值与缺失值处理 因子包含大量比值、标准差、滚动回归、分母运算,需对停牌数据、一字涨跌停、极小分母做缺失填充与去极值处理。
横截面标准化与中性化 多股票建模时,需每日进行标准化、行业中性、市值中性,消除截面偏差。
无未来函数保障 所有指标仅使用当期与历史滚动数据,严格符合实盘落地要求,可直接用于训练、回测、实盘选股。
冗余特征筛选 198 因子存在多窗口同源指标冗余,可通过 IC 值、相关性、特征重要性筛选最优子因子集,提升模型稳定性。
TA198 因子表名: cn_stock_factors_ta_198 因子字段名为:sma_5,sam_10...,vhf 文档用例 下面示例均使用 dai.query(...).df() 读取数据。
dt = '2026-05-20'
sql = f"""select *from cn_stock_factors_ta_198where date = '{dt}'order by date, instrument"""
df = dai.query(sql).df()dfdt = '2026-05-20'
sql = f"""selectdate,instrument,sma_5from cn_stock_factors_ta_198where date = '{dt}'order by date, instrument"""
df = dai.query(sql).df()dfdt = '2026-05-20'ins = ['000002.SZ', '600000.SH', '603968.SH']
ins_str = ",".join([f"'{x}'" for x in ins])
sql = f"""select *from cn_stock_factors_ta_198where date = '{dt}'and instrument in ({ins_str})order by date, instrument"""
df = dai.query(sql).df()dfdt = '2026-05-20'ins = ['000002.SZ', '600000.SH', '603968.SH']factors = [sma_5', 'sma_10', 'sma_20']
ins_str = ",".join([f"'{x}'" for x in ins])factor_str = ", ".join(factors)
sql = f"""selectdate,instrument,{factor_str}from cn_stock_factors_ta_198where date = '{dt}'and instrument in ({ins_str})order by date, instrument"""
df = dai.query(sql).df()dfstart_dt = '2026-05-01'end_dt = '2026-05-20'
sql = f"""select *from cn_stock_factors_ta_198where date >= '{start_dt}'and date <= '{end_dt}'order by date, instrument"""
df = dai.query(sql).df()dfSELECT date, instrument, sma_5, sma_10, sma_20, sma_60, sma_120 FROM cn_stock_factors_ta_198 WHERE date >= '2026-10-06' ORDER BY date LIMIT 100
SELECT date, instrument, sma_5, sma_10, sma_20, sma_60, sma_120 FROM cn_stock_factors_ta_198 WHERE date >= '2026-10-06' ORDER BY date LIMIT 100