克隆策略

1、实操中如何操作open-open轮仓,集合竞价的话卖出的钱还没回来,买不了股票。

  • 考虑在9点25分后挂单买入,9点30分撤单并检查卖出剩余所有股票并补漏失败的买单。实际操作也可以手动近似执行twap分笔买入

2、如果是用t_wap进行交易,是否需要更换标签为t_wap相关价格。

  • 需要替换价格为t_wap的对应时间段均价即可。

3、如果想采用分钟级别数据来进行标注训练模型,还能不能把日频的因子作为训练的一部分一起传入模型中进行训练?

  • 可以把日频因子抽取后合并到分钟数据DataFrame中,需要现在分钟数据构建一个新的day列,修改日频因子的date列为day,按day做合并

4、一般训练用的数据 训练集和验证集的划分有什么窍门这样? 如何知道我的模型已经训练饱满? 不需要再输入过多的拟合数据集作为训练?

  • 回到了因子验证和因子组合的问题,欠拟合/过拟合的问题,训练集回测/分组回测决定了模型上限(是否欠拟合),验证集的回测/分组回测决定了是否过拟合,跟选的因子组合有关,但判定方法类似考察因子稳定性、分组单调性等。

5、请问如何构造全市场涨停股数以及占比,全市场上涨股数以及占比这种因子?

  • condition=where(price_limit_status_0==3,1,0)
  • ratio=group_sum('',condition) /group_sum('',1)

6、请问对测试集中标的进行筛选,比如把测试集中当日收盘价高于开盘价(close_0>open_0)的标的剔除出测试集,这样类似的筛选是否会产生过拟合的风险?如果有,这样的过拟合可以怎么检验?同时,如果会产生过拟合风险,那么大盘风控是否也是过拟合的一种?

  • 是有过拟合风险,因子的效果是变动的,监控手段1:分组收益是否区分度显著,监控手段2:因子收否还便宜,因子估值、因子换手率
  • 一个事实是熊市中大部分因子的头部分组收益会回撤,只不过是比基准回撤大/小而已,存在大部分因子/策略失效的时候,风控的意义在于通过降低仓位方式应对因子失效/头部快速回撤,可以思考大盘是否反映/代表了系统性的因子风险这个假设是否在大部分情况下成立。

7、如何上手写出一个好策略

再论因子和因子组合,看懂常见术语,理解量化潜台词

  • 数据预处理:原始数据-> 去极值 -> 缺失值行业中位数填充处理 -> 标准化 -> 行业市值中性化 -> 分层测试累积收益率 -> 回归计算因子IC、ICIR等指标

    评估指标IC,定义为当期各股票因子值与下一期各股票收益率的相关系数,IC绝对值越大, 表明因子有效性越高。 这里的相关系数有两种计算方法,一种是常用的皮尔逊相关系数,即线性相关系数。另一种是斯皮尔曼相关系数,也叫作秩相关系数(rankIC),这种相关系数反映的是两个变量之间单调的相关关系,对于非线性关系的变量,效果更好。

    评估指标IR又称为信息比率,衡量某一投资组合优于一个特定指数的的风险调整超额报酬。也可以计算ICIR作为替代,即ICIR=IC/std(IC)

  • 考虑策略构建流程:因子分析(多空收益、分组区分度、ICIR、|IC|绝对值占比等)->筛选因子进行组合(机器学习/线性/相关性分析/可解释性/正交化)->因子权重(机器学习/手动加权/最优化ICIR/等权重)->股票打分score(prediciton/sum(因子暴露ICIC_ratio))->股票按score截取过滤确认每日股票池->确认股票池的每日权重(模版策略的非等权重法/等权重/优化器)->回测

  • 什么是阿尔法因子, 什么是风险因子?

image|200x128

左上角的第一幅图中,因子收益率在大部分时间为正,但波动较大。这说明该因子虽然可以贡献超额收益,但是其自身波动也带来了它对应的系统性风险。

在右上角的第二幅图中,因子收益率在大部分时间为正,且波动很小。这说明该因子不但可以稳定的贡献超额收益,其自身的系统风险也非常低。这在理论上是最优秀的收益因子。

在左下角的第三幅图中,因子收益率时正时负,波动很大,在统计上无法贡献非0的超额收益。因此,该因子无法带来超额收益,但是它可以显著的描述某种系统性风险。因此这个因子是一个优秀的风险因子,但它不是收益因子。

在右下角的第四幅图中,因子收益率在过去显著为正,可以贡献稳定的超额收益,但是在最近不再有效,转变为纯粹的风险因子,无法贡献超额收益,仅能产生系统性风险。

哲学上讲:你能掌控的因子就是阿尔法因子,不能掌控的是风险因子 数学上讲:风险因子以解释力强为标准(横截面R2),阿尔法因子以收益可控性强为标准(你能预测的)

  • Barra多因子体系是什么

Barra使用一套标准的流程和因子体系来进行投资组合的分析,根据历史数据解释投资组合的市场收益和风险来源,并通过组合优化进行产品的收益-风险匹配优化,并确定组合中投资标的权重。

MSCI 发布了中国股权市场的最新模型CNE6,建立了三层风格因子体系,CNE6 的因子体系试图解释市场的收益率做到风险控制,这套因子大概能够解释股票收益率33.63%的变动,但CNE6 的因子体系对股票收益率的解释并不完备。

image|400x223

image|400x286

考虑了因子的数据质量、因子可比性、稳定性和因子相关性,做了因子时间轴上的半衰期加权平均、去极值、标准化、中性化、正交化等数据处理流程。

缺失值处理:首先对全部因子缺失的个股做行业中位数填充,合并大类因子时只选用有数据的小类因子合并,将缺失的小类因子权重等权分配在有数据的小类因子上,这样可以避免估计缺失值导致的偏差。 对于所有小类因子数据都缺失导致的合并后大类因子数据缺失的情况,用回归法填充。

问题:模型的解释能力是否充足?实际上66%的收益变动无法解释,但有比没有好。找不到赚钱的稳定阿尔法因子一夜暴富,那就控制住系统性风险放大资金管理规模。

  • 借鉴Barra的因子处理流程,构建自己的Alpha因子组合

工具:利用因子重要度对模型评估,利用分组收益、IC_IR等评价工具对因子的下期收益预测能力做评估

目的:因子重要度差距过大可能模型过拟合(尽量避免),模型得到的prediction作为新的因子排序分组收益曲线对股票有线性区分能力

关注点:单因子本身的评价指标、因子的方向、因子之间的相关性、算法模型组合后因子的评价指标/分组能力

策略的常见自定义逻辑

  • 设置止盈条件
  • 设置止损条件
  • 设置定期轮仓逻辑
  • 设置固定持仓股票数量轮动
  • 设置早盘买卖/尾盘买卖的资金回笼