多因子选股逻辑
发布时间:12小时前阅读:7
一、多因子选股策略的三大核心逻辑架构
一个严谨的多因子模型通常由以下三个基础模块构成:
- 因子构建与提取:因子可以分为大类,如价值类因子(市盈率PE、市净率PB)、成长类因子(净利润增长率)、动量类因子(过去20日涨幅)以及质量类因子(资产负债率)。策略的首要任务是定期调取股票池中所有个股的这些底层数据。
- 因子去极值与标准化:由于不同因子的量纲不同(例如PE通常是几十,而ROE是百分之几),无法直接相加。同时,市场中常存在极端的异常值。因此,必须在代码端通过数学方法(如MAD绝对值中位数法)剔除极值,并将所有因子进行标准化处理,使其转化为均值为0、标准差为1的无量纲得分。
- 综合打分与换仓:将各个因子的得分按照预设的权重进行线性加权求和,计算出每只股票的综合得分。策略自动买入得分最高的前N只股票,并在下一个调仓周期(如每月第一个交易日)重复此流程,动态剔除得分落后的个股。
二、PTrade平台中的核心编程执行步骤
在PTrade终端的Notebook环境中,普通投资者可以借助平台自带的 get_fundamentals 接口,非常高效地实现这一模型:
- 定义选股空间与提取因子: 在策略的选股触发函数中,设定目标股票池为“沪深300”成分股。调用基本面数据查询函数,白描代码如: q = query(fundamentals.e_valuation.pe_ratio, fundamentals.e_profit.roe).filter(fundamentals.e_valuation.symbol.in_(security_list))df = get_fundamentals(q, date=current_date) 这行指令可以瞬间将全市场或指定股票池内所有个股的实时市盈率和净资产收益率数据拉取到一个二维数据表中。
- 数据处理与加权: 利用PTrade内置的Pandas环境,对获取的数据表进行清洗,剔除停牌或缺失数据的个股。通过简单的矩阵运算,设定市盈率权重为-0.5(PE越低越好,故取负值),ROE权重为0.5,计算出综合得分并进行降序排列: df['score'] = df['pe_ratio'] * (-0.5) + df['roe'] * 0.5target_stocks = df.sort_values(by='score', ascending=False).head(20).index.tolist() 这就精准筛选出了得分最高的前20只目标个股。
- 一键调仓执行: 遍历当前的账户持仓,对于不再属于 target_stocks 列表的股票,调用 order_target 函数将其持仓股数调整为0(即全额卖出);随后,将空闲出来的资金平均分配,对新入选的个股执行自动买入,完成一键量化换仓。
策略逻辑再严谨,也需要稳定高效的实盘环境来落地。当前,普通投资者获取专业交易通道的门槛已显著降低,以国金证券为例,10万资金门槛即可开通QMT/PTrade权限,使这类复杂的全自动多因子选股与调仓策略得以完美在实盘执行。为了让缺乏深厚编程功底的传统交易者能够顺利理顺多因子代码的编写与去极值算法,平台专门配备了专业的量化社群答疑与长周期实操指导服务。与此同时,平台的基础两融业务也已全面支持便捷的全线上开通,极大地便利了多因子策略在信用账户中开展融券对冲或杠杆操作。
温馨提示:投资有风险,选择需谨慎。
什么是量化多因子选股?有用吗?


问一问

+微信
分享该文章
