【重磅】AI Alphas(A股版)

alpha
alpha101
ai_alphas
alpha策略
stockranker
标签: #<Tag:0x00007f0859cf70e8> #<Tag:0x00007f0859cf6f58> #<Tag:0x00007f0859cf6dc8> #<Tag:0x00007f0859cf6c88> #<Tag:0x00007f0859cf6af8>

(smthkoer) #2

很有意义的研究


(matrixreloaded) #3

很好的东西,期待后续!

  1. 看实验做的交易成本是万三加千一卖出,后面短期成本分析用的是千十五开始的,是不是说短期交易成本如果不是特别大的话对交易本身没有太大影响?
  2. 282个因子能不能把这篇文章引用的都放到因字库里面去,起个别名,这样就不用再重新输入这些表达式了,方便很多。
  3. 风险分析是不是已经有源码或者对应函数了?这个要是放到 标准函数确实方便很多了。
  4. 不太理解的是风险模型如何定义这些风险因子的?我的意思是它如何反映到风险归因上面的?比如这个国泰君安100因子我能从概念上理解它和股东风险有关系,但是是如何反映到这个度量标准上的呢??有具体定义函数嘛?

  5. (非常重要)对于回溯性的分析很重要,但是有没有一套方法可以指导我们知道因子已经失效了。这个问题非常关系,因为回溯性的分析在实战中意义不大,原因是如果我们不能有效的切换有效的因子,我们就无法得到正收益。比如这个总市值因子,2016年有效,那么2017年一开始如果知道这厮就卧倒不灵了?难道每年的前3个月卧倒不交易吗?等着数据出来再看情况?这肯定不行的,因为如果是第4个月风格又变了呢?不可能风格总是在每年第一个月就定下来吧?我很想知道这里面的一些方法论,指导因子的挖掘。否则就是问题转成了另一个不可知问题,用一个未知问题回答了另一个未知问题,用不可知的因子切换情况问题回答了股票收益不可预测的问题。如果是这样的,等于未来做股票投资的最后祈祷的问题是:
    1. 祈祷以前股票起作用的因子未来还接着起作用,而且不是像2016到2017年的画风突变。
    2. 祈祷转变过程都在一年开始。
    3. 祈祷因子转换的过程足够缓慢和线性。

我觉得这第六个问题是所有问题的核心,有没有一些可以作为实战的方法论是迫切想知道的东西,至少有一些指导性的分析可以作为参考,这将是非常有意义的,非常希望大家共同讨论,如果能有人发个牛贴解释清楚,就不胜感激了!跪谢~~

感谢宽客学院这个牛贴~~鼓掌~


(iQuant) #4

谢谢您的认可。

  1. 是的,对交易成本不太敏感。因为股票本来已经是T+1,交易频率低

  2. 这个建议很好,我们来支持

  3. 风险分析:BigQuant已经上线了一部分因子风险暴露分析,具体见如下示例代码的 risk_analyze()

    # 调用交易引擎
    m6 = M.trade.v1(
        instruments=None,
        start_date=conf.split_date,
        end_date=conf.end_date,
        prepare=prepare,
        initialize=initialize,
        handle_data=handle_data,
        order_price_field_buy='open',       # 表示 开盘 时买入
        order_price_field_sell='close',     # 表示 收盘 前卖出
        capital_base=100000,               # 初始资金10万
        benchmark='000300.SHA',             # 比较基准,不影响回测结果
        # 通过 options 参数传递预测数据和参数给回测引擎
        options={'hold_days': conf.hold_days, 'model_id': m5.model_id}
    )
    
    # 调用风险分析
    m6.risk_analyze()
  4. 本篇研报是尝试用AI模型分析因子和收益/风险非线性的关系

  5. 单个因子的有效性不可能一直好,总是有波动和回撤,否则就是无风险收益,会被套利交易者吃掉。想要拿到单个因子的收益,就必须承担相应的风险。
     
    实战的解决一个方案是分散化,比如多因子。不同因子之间的波动和回撤不是同时发生,相关性比较低,这样多个因子之间的波动会相互抵消,使得多因子组合的风险和回撤显著降低,风险收益比提高。关键点是组合里的有效因子/策略足够多,足够分散化,保证不会同时回撤。


(matrixreloaded) #5

想知道类似这个图是如何对应到这些因子上的。这个有没有具体的函数呢?或者是代码之类的。我的意思是比如风险模型中的股东因子具体是怎样定义的?如果有源码是最好的了。。如果没有讲清楚也可以,因为这样我才知道那么多因子里面为什么要20日的成交量标准差有可能会导致股东因子暴露的原因是合理的。


(iQuant) #6

这部分内容属于风格因子分析的内容。举个例子,假设一个组合全部是小市值股票,那么该组合在市值风格因子上的具体数值就非常小,因此风险暴露图中,柱状图的数值就非常小,可能为负数。

BigQuant的风险分析一共涉及十几类大类风格因子,为保证因子的客观性和准确性,每个大类因子又是通过各个小因子等权组合构建而成。具体小因子的定义、公式、代码暂时还没有发布,因为收益分析、组合优化等模块还未完善。如果对此感兴趣可以参考下列文献:


(matrixreloaded) #7

大概明白了。多谢资料!


(matrixreloaded) #8

还想请教一下有没有多因子相关性的一些研究可以参考,比如判别几个因子之间的相关性变化的情况?那如果一些因子的变化有一定线性下降,那就可以暂时终止?


(fornewday) #9

非常具有开创性的一篇文章。感谢作者。


(hanzi) #11

写的很好,能按表1给一份282个“因子明细预览”说明表吗,附件里没有说明字段,看起来很痛苦,在因子库里也找不到这282个因子,万分感谢!


(iQuant) #12

您好。附件2有因子完整列表。

按构建方式,里面有四类因子:

  • 因子库因子,例如:“rank_pe_lyr_0” 参考文档为:因子库

  • 来自于国外研报的因子,例如"wq_101" 参考链接为:101 Formulaic Alphas

  • 来自于国内券商研报的因子,例如“jtja_9” 参考链接为:基于短周期价量特征的多因子选股体系

  • 因子组合,例如“(high_1-close_1)/close_0” ,这些因子是来自于因子库的因子进行组合构建好的新的因子。

第二、第三点事来自于研报的因子,两个研报内容里都有因子的具体解释以及怎样计算因子,wq_101和gtja_9后缀的数字“101” 和 “9”都有特别的含义,与研报里因子顺序一一对应,比如wq_101对应的是WorldQuant里面第101个因子。

希望对你有所帮助!


(eason3146) #13

您好,很优秀的报告,关于市净率单因子比较,能够解释具体是用哪个因子作为输入数据呢?


(iQuant) #14

就是市净率排序因子,具体为“rank_pb_lf_0”,可在因子库中查询到。


(eason3146) #15

传统和AI的区别是在于个股排序的变化还是个股权重的变化?


(iQuant) #16

区别在于模型算法。
AI策略是用的机器学习算法,传统的策略是线性模型。


(soft05jun) #17

值得收藏的贴,干活满满。


(chaoskey) #18

不错,学习了。


(ghw) #19

抱歉没懂啊,
同个因子比如市净率难道AI选出的前5名和传统选出的前5名会不一样?
可以通俗的讲解一下吗?


(小Q) #20

算法不一样,选出来的股票是不一样的


(ghw) #21

能通俗的说一说吗?
我是小白哦
刚才看了下券商研报,提到:
"训练阶段,根据历史的因子值X和收益r,训练监督学习模型r=g(X, f),得到模型自由参数的估计量f"
是不是关键在这个"自由参数的估计量f"上?因为这个F,所以,不再仅仅根据因子值rank?

那这个f和传统的线性回归残差值之间,有什么联系呢?

我是小白啊,来这里的好多小白啊,请通俗的讲解一下吧


(小Q) #22

传统回归使用的是线性回归模型。本文是使用的机器学习监督模型,属于不同的算法。和线性回归一样,监督学习也是一种拟合算法,在拟合的过程中由于损失函数不同、求极值的方式不同等等,导致的最终算法是不一样的。
机器学习是一个宽广的海洋,建议多储备一些机器学习理论知识。
下文是一篇入门的好文章,建议阅读:什么是机器学习?