请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3364737 新帖:1

Smart beta 指数增强策略——基于Tushare因子接口

汇市风云榜发表于:6 月 10 日 12:00回复(1)

【Introduction】

  • 本策略给出利用标准的CAPM风险模型通过因子暴露做指数增强的模板,策略构建相对于某种特定风格因子的最小风险组合权重,亦可扩展为构建多因子线性叠加下的最优组合权重。因子数据来源于Join quant新开放的通联数据接口Tushare,原理性分析请参考投资研究。

【Tushare数据】

  • Tushare数据接口简单易用,其登陆需要token,可采用如下的方式

  • import tushare as ts

  • ts.set_token('714a0f7c9e8b05df2f7b7c931a53e3fb06f42bb04ae2b8cf32704b542bd5f291')
  • mkt = ts.Market()
  • factorData = mkt.StockFactorsOneDay(tradeDate='',secID='')

基于CAPM风险因子暴露的$Smart \ \beta $指数增强策略¶

【$Smart \ \beta $】¶

  • 指数投资产品在市场上逐渐占据越来越多的份额和地位,如ETF、分级基金等,这些指数基金有着重要且多样的投资价值。故名思议,指数产品就是投资标的池为某个指数的成分股。那么,具体如何投资这些指数呢?
  • 通常会有两类投资指数的方式:
    • 被动型指数跟踪:试图完全跟踪指数,不追求超额收益,收益完全来自于$\beta $
    • 增强型指数跟踪:在跟踪指数的同时,追求一定的超额收益,$smart \ \beta $就是用来寻找这个超额收益
  • 由于股票池就是投资标的的成分股,所以$smart \ \beta $用来寻找优于标的权重组合

【因子特征组合】¶

  • 资产有很多属性,例如贝塔、预期收益率、市盈率、市值等,通常称为因子。每个股票对应于某个因子都有特定的数值,这个数值我们称之为股票在该因子中的暴露度。从线性空间的角度,因子即代表了某种维度,而因子的暴露度就代表了股票在这个维度上的映射数值。

  • 假设股票池 $\mathbf{s}$ = [$s_1$,$s_2$,...,$s_n$],因子 $\mathbf{a}$ = [$a_1$,$a_2$,...,$a_n$] 是相应股票对应的因子暴露度。通过条件优化,可构建一个资产组合 $\mathbf{p}$ = [$w_1$,$w_2$,...,$w_n$],使$\mathbf{p}$对于该属性的暴露度为某种设定值$c$,即:$\sum_{i=1}^n a_iw_i = c$,这样能使资产组合权重精确的偏向于某种风格因子,获取这种风格因子的超额收益。

  • 依CAPM模型,将风险定义为超额收益率的年化标准差,变量声明如下:

    • $\mathbf{w}$:风险资产的头寸权重,即组合在每只风险资产上的投资权重;
    • $\mathbf{V}$:风险资产超额收益率间的协方差矩阵;
    • $\mathbf{a}$:风险资产的因子数据
  • 可以将因子特征组合求解简单描述成以下QP问题:

    • min $\mathbf{w}^T\mathbf{V}\mathbf{w}$
    • s.t. $\mathbf{w}^T\mathbf{a} = 1$
  • 针对任意定义的因子 $\mathbf{a}$,都可通过求解上述QP问题获得指数偏向于该风格因子的Smart $\beta $资产组合。

【风格因子】¶

  • 昨天社区上线了新功能:回测/模拟中可以访问网络,并能从Tushare库上拿数据。Tushare背靠通联数据海量的数据商城接口,意味着接入Tushare库的话在Join quant也可以拿到优矿DataAPI中的海量数据(可直接在策略模板中引入Tushare的第三方库,利用token登陆,不过有的数据用tushare接口获取需要付费)。

  • 本文构建了上述QP问题通用的handler类库,并测试了通联因子“FinancingCashGrowRate”特征组合的表现。

全部回复

0/140

量化课程

    移动端课程