V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
raquant
V2EX  ›  投资

简单选择量化因子,即可构建交易策略

  •  
  •   raquant · 2017-05-10 16:31:22 +08:00 · 3791 次点击
    这是一个创建于 2790 天前的主题,其中的信息可能已经有所发展或是发生改变。

    多因子模型是应用最广泛的一种选股模型,基本原理是采用一系列的因子作为选股标准,满足这些因子的股票则被买入,不满足的则卖出。

    基本概念

    举一个简单的例子:如果有一批人参加马拉松,想要知道哪些人会跑到平均成绩之上,那只需在跑前做一个身体测试即可。那些健康指标靠前的运动员,获得超越平均成绩的可能性较大。多因子模型的原理与此类似,我们只要找到那些对企业的收益率最相关的因子即可。

    各种多因子模型核心的区别第一是在因子的选取上,第二是在如何用多因子综合得到一个最终的判断。 一般而言,多因子选股模型有两种判断方法,一是打分法,二是回归法。

    打分法就是根据各个因子的大小对股票进行打分,然后按照一定的权重加权得到一个总分,根据总分再对股票进行筛选。回归法就是用过去的股票的收益率对多因子进行回归,得到一个回归方程,然后再把最新的因子值代入回归方程得到一个对未来股票收益的预判,然后再以此为依据进行选股。

    多因子选股模型的建立过程主要分为候选因子的选取、选股因子有效性的检验、有效但冗余因子的剔除、综合评分模型的建立和模型的评价及持续改进等 5 个步 骤。

    候选因子的选取

    候选因子的选择主要依赖于经济逻辑和市场经验,但选择更多和更有效的因子无疑是增强模型信息捕获能力,提高收益的关键因素之一。

    例如:在 2011 年 1 月 1 日,选取流通市值最大的 50 支股票,构建投资组合,持有到 2011 年底,则该组合可以获得 10%的超额收益率。这就说明了在 2011 年这段时间,流通市值与最终的收益率之间存在正相关关系。

    从这个例子可以看出这个最简单的多因子模型说明了某个因子与未来一段时间收益率之间的关系。同样的,可以选择其他的因子,例如可能是一些基本面指标,如 PB、PE、EPS 增长率等,也可能是一些技术面指标,如动量、换手率、波动等,或者是其它指标,如预期收益增长、分析师一致预期变化、宏观经济变量等。

    同样的持有时间段,也是一个重要的参数指标,到底是持有一个月,还是两个月,或者一年,对最终的收益率影响很大。

    选股因子有效性的检验

    一般检验方法主要采用排序的方法检验候选因子的选股有效性。例如:可以每月检验, 具体而言,对于任意一个候选因子,在模型形成期的第一个月初开始计算市场中每只正常交易股票的该因子的大小, 按从小到大的顺序对样本股票进行排序,并平均分为 n 个组合,一直持有到月末,在下月初再按同样的方法重新构建 n 个组合并持有到月末,每月如此,一直重复到模型形成期末。

    上面的例子就已经说明了这种检验的方法,同样的可以隔 N 个月检验,比如 2 个月,3 个月,甚至更长时间。还有一个参数是候选组合的数量,是 50 支,还是 100 支,都是非常重要的参数。具体的参数最优的选择,需要用历史数据进行检验。

    有效但冗余因子的剔除

    不同的选股因子可能由于内在的驱动因素大致相同等原因,所选出的组合在个股构成和收益等方面具有较高的一致性,因此其中的一些因子需要作为冗余因子剔除, 而只保留同类因子中收益最好,区分度最高的一个因子。例如成交量指标和流通量指标之间具有比较明显的相关性。流通盘越大的,成交量一般也会比较大,因此在选股模型中,这两个因子只选择其中一个。

    冗余因子剔除的方法: 假设需要选出 k 个有效因子,样本期共 m 月,那么具体的冗余因子剔除步骤为:

    • 先对不同因子下的 n 个组合进行打分,分值与该组合在整个模型形成期的收益相关,收益越大,分值越高

    • 按月计算个股的不同因子得分间的相关性矩阵;

    • 在计算完每月因子得分相关性矩阵后,计算整个样本期内相关性矩阵的平均值

    • 设定一个得分相关性阀值 MinScoreCorr,将得分相关性平均值矩阵中大于该阀值的元素所对应的因子只保留与其他因子相关性较小、有效性更强的因子,而其它因子则作为冗余因子剔除。

    综合评分模型的建立和选股

    综合评分模型选取去除冗余后的有效因子,在模型运行期的某个时间开始,例如每个月初,对市场中正常交易的个股计算每个因子的最新得分并按照一定的权重求得所有因子的平均分。最后,根据模型所得出的综合平均分对股票进行排序,然后根据需要选择排名靠前的股票。例如,选取得分最高的前 20%股票,或者选取得分最高的 50 到 100 只股票等等。

    举个例子:可以构建一个多因子模型为( PE,PB,ROE ),在月初的时候,对这个几个因子进行打分,然后得分最高的 50 个股票作为投资组合,在下个月按照同样的方法进行轮换替换。持续一段时间后,考场该投资组合的收益率是否跑赢比较基准,这就是综合评分模型的建立和后验过程。

    当然这个例子是一个最简单的例子,实战中的模型可能会比较复杂,比如沃尔评分法就是一个复杂的多因子模型,它是对股票进行分行业比较,算个每个行业的得分高的组合,然后再组合成投资篮子。

    模型的评价及持续改进

    一方面,由于量选股的方法是建立在市场无效或弱有效的前提之下,随着使用多因子选股模型的投资者数量的不断增加,有的因子会逐渐失效,而另一些新的因素可能被验证有效而加入到模型当中;另一方面,一些因子可能在过去的市场环境下比较有效,而随着市场风格的改变,这些因子可能短期内失效,而另外一些以前无效的因子会在当前市场环境下表现较好。

    另外,计算综合评分的过程中,各因子得分的权重设计、交易成本考虑和风险控制等都存在进一步改进的空间。因此在综合评分选股模型的使用过程中会对选用的因子、模型本身做持续的再评价和不断的改进以适应变化的市场环境。

    多因子的模型最重要是两个方面:一个是有效因子,另外一个是因子的参数。例如到底是 PE 有效还是 ROE 有效;到底是采用 1 个月做调仓周期还是 3 个月做调仓周期。这些因子和参数的获取只能通过历史数据回测来获得。但是在回测过程中,要注意,不能过度优化,否则结果可能反而会不好。

    影响股价走势的主要因子包括

    • 市场整体走势(市场因子,系统性风险)
    • 估值因子(市盈率、市净率、市销率、市现率、企业价值倍数、PEG 等)
    • 成长因子(营业收入增长率、营业利润增长率、净利润增长率、每股收益增长率、净资产增长率、股东权益增长率、经营活动产生的现金流量金额增长率等)
    • 盈利能力因子(销售净利率、毛利率、净资产收益率、资产收益率、营业费用比例、财务费用比例、息税前利润与营业总收入比等)
    • 杠杆因子(负债权益比、资产负债率等)
    • 动量反转因子(前期涨跌幅等)
    • 交易因子(前期换手率、量比等)
    • 规模因子(流通市值、总市值、自由流通市值、流通股本、总股本等)
    • 股价因子(股票价格)
    • 红利因子(股息率、股息支付率)
    • 股价波动因子(前期股价振幅、日收益率标准差等)
    • 市场预期因子(预测净利润增长率、预测主营业务增长率、盈利预测调整等)。

    如果你真的是程序员,进入镭矿 raquant量化平台亲自试试吧。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2835 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:16 · PVG 22:16 · LAX 06:16 · JFK 09:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.