Commit 92c88995 authored by Dr.李's avatar Dr.李

neutralize excess return before calculating ic and portfolio return

parent ad3cf547
......@@ -43,6 +43,7 @@ def cs_impl(ref_date,
target_pos = pd.merge(target_pos, total_data[['code'] + constraint_risk], on=['code'])
activate_weight = target_pos.weight.values
excess_return = np.exp(target_pos.dx.values) - 1.
excess_return = factor_processing(excess_return, [], total_risk_exp.values, []).flatten()
port_ret = np.log(activate_weight @ excess_return + 1.)
ic = np.corrcoef(excess_return, activate_weight)[0, 1]
x = sm.add_constant(activate_weight)
......
# 市场以及策略回顾
## 摘要
* 分析
* 风格上,最近发生显著反转的是`SIZE`因子。
* `GROWTH`因子在全市场上面表现较好。但在任意一个单独的指数上面,表现并不稳健;
* `EARNYILD`在除创业板上,都发生了回撤;
* `LIQUIDITY`至今为止仍然是比较强的反向指标;
* 当前策略有比较稳定的市场(`BETA`)以及流动性(LIQUIDTY)正向暴露;
* 行业上,`COMPUTER`以及`Electronics`是最近相对表现比较好的行业。
* 建议的措施
* 可以考虑适当保留负向的`SIZE`暴露;
* 建议将`LIQUIDITY`作为alpha因子使用,或者保持一定的负向`LIQUIDTY`暴露;
* 控制`EARNYILD`的正向暴露。
* 控制`BETA`暴露至中性;
* 适当高配`COMPUTER`以及`ELectronics`;
## 风格因子
我们考察优矿的的10个风格因子,在各个不同股票池上面的表现。观察周期从2010年至今。
### 全市场股票(去除上市三个月以内的新股)
* 主要的alpha因子是:`EARNYILD`以及`GROWTH`。其中:
* 进入2018年2月份以后,`EARNYILD`因子出现回撤。
* `GROWTH`上次比较大的回撤发生在2016年下半年。之后一直是稳步向上的,这和我们的传统印象不符。
* `LIQUIDTY`以及`SIZENL`是比较稳定的反向alpha因子;
* `SIZE`因子在2017年之后发生了反转,同时在2018年1月中下旬开始开始下滑。
* 其他相对有趋势性的因子包括:`BETA``MOMENTUM`以及`BTOP`。但是不够稳定。
<iframe
width="600"
height="400"
seamless
frameBorder="0"
scrolling="no"
src="http://10.63.6.13:8088/superset/explore/table/2/?form_data=%7B%22datasource%22%3A%222__table%22%2C%22viz_type%22%3A%22line%22%2C%22slice_id%22%3A8%2C%22granularity_sqla%22%3A%22trade_date%22%2C%22time_grain_sqla%22%3Anull%2C%22since%22%3A%22100+years+ago%22%2C%22until%22%3A%22now%22%2C%22metrics%22%3A%5B%22avg__ic%22%5D%2C%22groupby%22%3A%5B%22factor%22%5D%2C%22limit%22%3A50%2C%22timeseries_limit_metric%22%3Anull%2C%22order_desc%22%3Atrue%2C%22color_scheme%22%3A%22bnbColors%22%2C%22show_brush%22%3Afalse%2C%22show_legend%22%3Atrue%2C%22rich_tooltip%22%3Atrue%2C%22show_markers%22%3Afalse%2C%22line_interpolation%22%3A%22linear%22%2C%22contribution%22%3Afalse%2C%22x_axis_label%22%3A%22%22%2C%22bottom_margin%22%3A%22auto%22%2C%22x_axis_showminmax%22%3Atrue%2C%22x_axis_format%22%3A%22smart_date%22%2C%22y_axis_label%22%3A%22%22%2C%22left_margin%22%3A%22auto%22%2C%22y_axis_showminmax%22%3Atrue%2C%22y_log_scale%22%3Afalse%2C%22y_axis_format%22%3A%22.3s%22%2C%22y_axis_bounds%22%3A%5Bnull%2Cnull%5D%2C%22rolling_type%22%3A%22cumsum%22%2C%22time_compare%22%3Anull%2C%22num_period_compare%22%3A%22%22%2C%22period_ratio_type%22%3A%22growth%22%2C%22resample_how%22%3A%22mean%22%2C%22resample_rule%22%3A%221M%22%2C%22resample_fillmethod%22%3Anull%2C%22annotation_layers%22%3A%5B%5D%2C%22where%22%3A%22%22%2C%22having%22%3A%22%22%2C%22filters%22%3A%5B%7B%22col%22%3A%22type%22%2C%22op%22%3A%22%3D%3D%22%2C%22val%22%3A%22style%22%7D%2C%7B%22col%22%3A%22horizon%22%2C%22op%22%3A%22%3D%3D%22%2C%22val%22%3A%2220b%22%7D%2C%7B%22col%22%3A%22universe%22%2C%22op%22%3A%22%3D%3D%22%2C%22val%22%3A%22ashare_ex%22%7D%5D%7D&standalone=true&height=400"
>
</iframe>
### 沪深300
相对于全市场而言,沪深300有自己独特的地方:
* `GROWTH`在沪深300上不是显著的alpha因子,这应该是和沪深300成分股以成熟公司为主;
* `LIQUIDTY`的反向alpha特性在沪深300上并没有全市场上表现的那么显著;
* `MOMENTUM`具有最高的累积IC;
* `SiZE`效应在2017之后的反转,比全市场更加显著。
### 中证500
相对于全市场而言,中证500有自己独特的地方:
* `EARNYILD`以及`GROWTH`的表现与全市场的表现相对一致;
* `LIQUIDTY`效应要比沪深300好;
* `SIZE`的反转效应在中证500上并不显著;
## 行业因子
行业因子的表现要更加复杂而难以把握,只能做一些推测性的总结。
### 全市场股票(去除上市三个月以内的新股)
* 直到最近,行业中`Computer``Electronics`以及`Media`等技术人才密集型行业是相对IC表现最高的行业;
* `CommeTrade``CHEM`以及`Transportation`等传统行业是IC表现最差的行业;
* 行业的IC风险波动很大;
* 周期性行业确实对应了比较到的IC波动,例如:`Mining``IronSteel`
### 沪深300
整体上与全市场效应类似。
### 中证500
* `Electronics`特别强势;`computer`也是相对比较好的行业;
## 当前策略的风格分析
### 收益估值 - `EARNYILD`
在我们现行所有的策略中,都具有比较稳定的`EARNYILD`的正向暴露,比例从40% ~ 70%不等。
### 成长因子 - `GROWTH`
当前策略并没有对`GROWTH`因子进行控制,但是整体来说,`GROWTH`因子的暴露都不高,从-22% ~ 9%不等。
### 市场因子 - `BETA`
当前策略对`BETA`因子的历史暴露不是很一致,在2017年12月之前暴露比较低,并且偏负向。进入三月份以后,`BETA`暴露显著为正(除了沪深300)。
### 市值因子 - `SIZE`
市值因子是受控因子,整体符合预期,处于0附近无暴露状态。
### 流动性因子 - `LIQUIDTY`
在2017年年末以后,组合一直有比较稳定的正向流动性暴露。
##
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment