【研报复现】华泰证券——高股息率模型精选打新底仓
发布时间:2017/11/30 09:43:33 5574 4
# 简介 华泰高股息率模型精选打新底仓的目的是在高股息股票中选择可以长期持有的打新底仓。因此打新策略可以获得两个收益:1.新股中签收益;2.股息收益。 > 红利ETF发展潜力巨大 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201711/30/173515e7fznkf3mhpf0e63.png) 在其背后蕴含的意义是:以高股息等条件筛选出的股票,是收益稳健的股票,甚至是一个阶段性强于沪深300的股票,因为其中的估值因子和股息因子也可以作为alpha因子。 > 股息因子有alpha属性 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201711/30/173129g6r4d066le2vl7rm.png) 作为低风险策略,股息产品和打新产品都很容易卖,这也给量化一个启示:不卖最牛最复杂的策略,只卖别人都看的懂的策略。 ### 打新规则 深交所规定根据投资者持有的市值确定其网上可申购额度,持有市值1万元以上(含1万元)的投资者才能参与新股申购,每5000元市值可申购一个申购单位,每500股为一个申购单位,不足5000元的部分不计入申购额度。 上交所规定根据投资者持有的市值确定其网上可申购额度,每1万元市值可申购一个申购单位,不足1万元的部分不计入申购额度。每一个申购单位为1000股,申购数量应当为1000股或其整数倍,但最高不得超过当次网上初始发行股数的千分之一,且不得超过9999.9万股。 本文数据来自于万德,经过对齐,横轴为日期,纵轴为股票。 > 打新底仓选股规则 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201711/30/170250nlr369o398ip9pjc.jpg) > 数据清洗 %% 高股息底仓 clear,clc load data; %% 选取回测时间 beginDate = datenum('2010-01-01'); hs300 = hs300(:,monthlyDate>=beginDate); pe = pe(:,monthlyDate>=beginDate); ps = ps(:,monthlyDate>=beginDate); divident = divident(:,monthlyDate>=beginDate); dailyDate = dailyDate(2:end); ret = ret(:,dailyDate>=beginDate); monthlyDate = monthlyDate(:,monthlyDate>beginDate); dailyDate = dailyDate(:,dailyDate>beginDate); % 交易所 exchange = zeros(length(stockList),1); for i=1:length(exchange) code = stockList{i}; if code<=600000 exchange(i) = 1; end end > 股票池构造 %% 生成股票池 stock_pool = zeros(size(hs300)); for i=1:length(hs300(1,:)) % 沪深300股票池 idx1 = hs300(:,i)==1; % PE temp = pe(idx1,i); temp = temp(temp>0); % 剔除小于0的PE pe_limit = quantile(temp,0.6); idx2 = pe(:,i)<=pe_limit; % PS idx3 = ps(:,i)<=2.5; idx = idx1&idx2&idx3; % 股息率 temp = divident((exchange==0)&(idx),i); [~,idx4] = sort(temp); try d_sz = temp(idx4(end-24)); catch tt = idx5(end); d_sz = temp(tt); end temp = divident((exchange==1)&(idx),i); [~,idx5] = sort(temp); try d_sh = temp(idx5(end-24)); catch d_sh = temp(idx5(1)); end idx6 = (divident(:,i)>=d_sz)&(exchange==0)&(idx); idx7 = (divident(:,i)>=d_sh)&(exchange==1)&(idx); idx = idx6+idx7; stock_pool(:,i) = idx; end >结果回测 %% 回测 ret_record = []; for i=1:length(monthlyDate)-1 start_time = monthlyDate(i); end_time = monthlyDate(i+1); temp_stock_pool = stock_pool(:,i); % 当前股票池 temp_ret = ret(:,(dailyDate>=start_time)&(dailyDate<end_time))'; % 选取当个换仓区间的股票收益率数据,行为股票,列为日期 temp_ret(isnan(temp_ret)) = 0; % 无交易数据的收益率记为0 temp_ret_cum = ret2tick(temp_ret); % 计算净值曲线 temp_ret_cum = mean(temp_ret_cum(:,temp_stock_pool==1),2); % 求选择股票的累计收益率曲线的平均值 temp_ret_pool = tick2ret(temp_ret_cum); ret_record = [ret_record;temp_ret_pool]; end ret_cum_record = ret2tick(ret_record); % 净值曲线 plot(ret_cum_record) xlim([1,length(ret_cum_record)]) 经测试,打新底仓自2010年1月1日至2017年9月30日,年化收益率为7.71%,年化波动率为24.96%。这与研报中2005年4月29日 到 2016年11月30日 回测期间内年化收益率21.99%,夏普比率0.72差异巨大。下面进入我们的研报思考。 > 回测收益率曲线 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201711/30/172204k9lsmnh3lbillhc8.png) ## 策略思考 本文测出来的结果和原本研报的结果感觉差异巨大,一方面是本文测试很粗糙,另一方面就不得不说研报的“粉饰”能力。研报“粉饰”的目的,不外乎于获得更多的市场关注,从而能够扬名新财富,获得机构打点,为市场创造更多的方法和观点。“粉饰”并不同于作假,而是把策略好的部分展现给大家看,这种行为无可厚非,根据我的总结“粉饰”有以下几种,需要注意: 1. 回测时间选取 2. 回测样本选取 3. 加入特殊的筛选步骤,优化结果,而且该步骤易被忽视 4. 结果展示取巧,比如线走得直但是收益率低的,倾向于图片展示,线走得波动大的,倾向于表格展示。 5. 多做回测,优化参数,取结果好的,或者大规模测试,掩盖缺陷 那研报“粉饰”,阅读的意义何在呢? 研报其实重在思想,每位卖方研究员大佬将其多年的思考融合其中形成风格和理解,这是读研报的关键,获取他们的发现问题能力,思考问题角度,解决问题的步骤,变为自己的东西。 ## 参考 华泰证券-金融工程专题-林晓明-高股息率打新底仓实证 华泰证券-金融工程专题-林晓明黄晓彬-【华泰金工-红利系列报告之一】a股红利指数比较研究 华泰证券-金融工程专题-林晓明黄晓彬-【华泰金工-红利系列报告之二】红利因子的有效性研究
0个赞 收藏
发表评论
0条评论
contact@digquant.com.cn

联系

邮箱

0755-8695-2080

联系

电话

关注

微信

关注

QQ

回到

顶部