GithubHelp home page GithubHelp logo

quant's Introduction

基于Fama-French因子模型的配对交易策略

一、策略简介

1.配对交易

配对交易是一种统计套利策略,利用两只具有长期均衡定价关系的股票的短期价格偏离来进行套利。通过计算两只股票的相关性或者协整关系来找到股票对,本文通过协整检验来选择股票对(具有协整关系的股票对价差是均值回复的),如果两只股票具有长期均衡关系,短期的价差偏离会产生套利机会,当价差低于均衡价差时,买入价格较高的股票,同时卖出价格较高的股票;当价差高于均衡价差时,买入价格较低的股票,同时卖出价格较低的股票。但由于A股市场存在买空限制,所以本策略只进行买入平仓操作。

2.Fama-French五因子模型

1993年,Fama和French发表了三因子模型,认为股票的超额收益可以用以下三个因子来解释:市场风险(股票市场的期望超额收益)、市值、账面市值比来解释,随后他们发现除了上述风险,盈利因子和投资水平因子同样可以带来个股的超额收益,也就是对个股的超额收益具有解释能力。将这两个因子加入到三因子模型中,就有了后来的Fama-French五因子模型

3.策略**

我们认为,同一市场内,能够具有长期均衡关系的股票对必然受相同因素的影响,我们借鉴Fama-French的思路,将其理论中的四个因子作为影响股票价格的重要因素,认为市值,公司估值,盈利水平和投资水平这四个方面相近的股票更有可能存在长期的均衡关系,这里不考虑市场因子是由于市场所有股票都会收到相同的市场因素的影响。我们在每个行业内,分别按照市值,PB(反应公司的估值水平),ROE,总资产增长率对股票进行分层筛选,选出股票池,此时股票池中有来自各个行业的一对股票对,然后对以上股票对进行协整检验,如果满足协整关系,则作为我们选定的股票对,进行交易。

二、模型介绍

1. 模型假设

在实际的价格波动构成中,训练期内具有协整关系的股票在样本外时间里,往往协整关系就被破坏了,从而造成价差无法在规定时间内收敛或者价差不收敛,并且可能会进一步扩大。因此,我们认为在一段较长时间内具有协整关系的证券可能在之后稍短的时期内,继续维持协整关系。 市值,PB(反应公司的估值水平),ROE和总资产增长率是影响公司股票价格的主要因素。

2. 模型框架

配对交易策略在实施过程中可以分为以下内容1)股票对的选定; 2)交易信号参数的设定;3)根据交易信号进行交易。

3.模型步骤

1)股票对定性与定量筛选 我们对股票组合进行了一系列的定性和定量筛选:1、剔除所有ST和*ST股票;2、提出上市时间未满1年的股票;3、按照申万三级行业分类,按照四因子筛选

2) 股票对协整检验 上面我们说明了配对交易策略是使用两只具有长期均衡关系的股票对价差短期内偏离均衡关系来进行套利的。那么我们用什么来衡量长期均衡关系是由为重要的。下面我们将介绍能够检验股票对具有长期均衡关系的协整检验。 股票价格序列一般是非平稳的时间序列,但是,当两个非平稳的时间序列之间存在协整关系,所谓两个非平稳时间序列的的协整关系是两个变量的回归后的残差是平稳的时间序列,这里平稳是假设股票价格序列和股票价格序列的长期均衡关系是:这里是协整系数,是A股票价格对B股票价格的溢价,是残差序列,若是平稳序列,则这对股票对的价格是具有协整关系,也就是具有长期均衡关系。我们首先对两只股票价格序列进行回归,得到残差序列;然后对残差序列进行ADF平稳性检验,若残差序列通过平稳性检验,证明了股票对存在长期均衡关系,可以进行配对交易策略;否则不成立。选出N对股票,每一对股票等权重分配初始资金的1/N.

3) 回归两只股票价格计算股票对价差 下面我们将股票池中每一对股票对中股票A的价格与股票B的价格进行回归,目的是算出这两个股票以怎样的线性组合构成平稳序列,计算得到的回归系数,计算价差序列:由上面的协整关系可以得知,价差序列是平稳系列,长期会存在均值回复的特征。将价差序列标准化,得到Z-score,具体计算方法为,即将价差减去价差序列的均值除以价差序列的标准差,需要说明的是,价差序列标准化以后不会影响其平稳性。当Z-score大于1,将该股票对的资金全仓买入价格较低的股票B,进行套利;当Z-score小于-1,全仓买入价格较低的股票A;当股票的价格介于-1和1之间,以p,q的比例持有A,B两只股票,在本策略中,p = q = 0.5。

4) 设置交易参数与交易信号 为了在最大程度接近真实的交易情况,我们使用日度数据来进行计算。由于经典的配对交易是通过一买一卖来进行套利的,但是A股市场存在买空限制,所以本策略只进行买入平仓操作:当股票价差向上突破阈值时,此时买入价格比较低的股票,即涨幅较小的股票,等待价差缩小,被低估的股票价格预期会上涨;当股票价差向下突破阈值时,此时买入价格比较低的股票,即跌幅较大的股票,等待价差缩小,同样预期被低估的股票价格会上涨。我们按照12个月为移动时间窗口,每隔1个月按照申万三级行业和Fama-French四因子筛选股票对,检验每一个行业筛选出的股票对的协整关系,选择协整关系显著的股票对进行交易;每一个月检验一次协整关系,如果协整关系被破坏,将原有的股票对从股票池中剔除,选择新的满足具有强协整关系并且显著的股票对进入股票池,否则继续持有。

5)止损条件 由于本策略在全行业内选股,所以我们以中证500指数为标准,设置止损线:10日内上证指数跌幅超过k%,选择平仓,这里分别设置参数k=5和8。

quant's People

Contributors

ktry1991 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.