IC值

1、计算每日因子IC值

ic_date = pe_factor.calc_factor_information_coefficient(group_adjust=0, by_group=0, method='rank')
    def calc_factor_information_coefficient(self, group_adjust=False, by_group=False, method=None):"""计算每日因子信息比率 (IC值)参数:group_adjust:- True: 使用行业中性收益计算 IC (行业收益被认为是每日各个行业股票收益按照weight列中权重加权的均值)- False: 不使用行业中性收益by_group:- True: 分行业计算 IC- False: 不分行业计算 ICmethod:- 'rank': 用秩相关系数计算IC值- 'normal': 用普通相关系数计算IC值"""if method is None:method = 'rank'if method not in ('rank', 'normal'):raise ValueError("`method` should be chosen from ('rank' | 'normal')")if method == 'rank':method = spearmanrelif method == 'normal':method = pearsonrreturn pef.factor_information_coefficient(self._clean_factor_data,group_adjust=group_adjust,by_group=by_group,method=method)
def factor_information_coefficient(factor_data, group_adjust=False, by_group=False, method=stats.spearmanr
):"""通过因子值与因子远期收益计算信息系数(IC).参数----------factor_data : pd.DataFrame - MultiIndex一个 DataFrame, index 为日期 (level 0) 和资产(level 1) 的 MultiIndex,values 包括因子的值, 各期因子远期收益, 因子分位数factor_quantile,因子分组group(可选), 因子权重weights(可选)group_adjust : bool是否使用分组去均值后的因子远期收益计算 IC.by_group : bool是否分组计算 IC.Returns-------ic : pd.DataFrame因子信息系数(IC)."""def src_ic(group):f = group['factor']_ic = group[get_forward_returns_columns(factor_data.columns)] \.apply(lambda x: method(x, f)[0])return _icfactor_data = factor_data.copy()grouper = [factor_data.index.get_level_values('date')]if group_adjust:factor_data = demean_forward_returns(factor_data, grouper + ['group'])if by_group:grouper.append('group')#with语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等with np.errstate(divide='ignore', invalid='ignore'):ic = factor_data.groupby(grouper).apply(src_ic)return ic

函数calc_factor_information_coefficient调用factor_information_coefficient

2、打印信息比率(IC)相关表

'''
一般来说IC大于3%(因子反过来的时候就小于-3%),则认为因子比较有效。
IC.Std
IR=IC.Mean\IC.Std
p-value   p值,判断IC的统计分布,一般要求小于5%或1%。在假设检验中,如果p>0.05,则接受原假设H0。如果p<0.05或p<0.01,则拒绝原假设H0,接受备择假设H1。
IC Skew   偏度
IC Kurtosis  峰度'''
# 打印信息比率(IC)相关表
pe_factor.plot_ic_hist(group_adjust=False, method='rank')'''
IC Skew              period_1 > 0    正偏态period_10<0     负偏态period_20<0     负偏态IC Kurtosis          period_1<3      廋尾period_10<3     廋尾period_20<3     廋尾p-value(IC)          <0.05            在显著性水平0.05下拒接原假设,即认为均值不为零
'''

3、画信息比率(IC)时间序列图。要求持续大于0,若出现一段时间连续小于0,则需要进行分析研究。

截面收益

def regression_test(clean_factor_data):'''用回归法进行截面 规律统计a: 回归系数b: 截距t: t检验统计量'''    factor = prepare.demean_forward_returns(clean_factor_data)cols = utils.get_forward_returns_columns(factor.columns)grouper = factor.index.get_level_values('date')def aa(df):s = pd.Series()for i in utils.get_forward_returns_columns(factor.columns):y = df[i]x = df['factor']x = sm.add_constant(x)wls_model = sm.WLS(y,x)results = wls_model.fit()b,a =results.paramst = results.tvalues[1]s = s.append(pd.Series([a,b,t],index=[i+'_a',i+'_b',i+'_t']))return srt = factor.groupby(grouper)[cols.append(pd.Index(['factor']))].apply(aa)return rtrt = regression_test(clean_factor_data)

华泰单因子测试之估值类因子(回归法)相关推荐

  1. 华泰单因子测试之估值类因子(因子数据获取分析处理)

    华泰单因子测试之估值类因子 pe(price-to-earning ratio) 市盈率,PE = 流通市值/最近4个季度的净利润:最近 4 个季度的净利润按如下方法计算: 1-4 月,最近 4 个季 ...

  2. 华泰单因子测试之换手率类因子

    一.因子选择 二. 因子收益 1)绘制各分位数各周期的平均收益(收益数值不是重点,主要用于观察是否具有单调性) #绘制各分位数各周期的平均收益(收益数值不是重点,主要用于观察是否具有单调性) plot ...

  3. 因子和(类素数筛选法)

    (忙着A题,总结会慢慢跟上~) 1409: 因子和 Time Limit: 1 Sec Memory Limit: 128 MB [Submit][Status][Web Board] Descrip ...

  4. 【量化交易】 量化因子 情绪类因子计算

    量化因子 - 情绪类因子 中证500,近三年超额收益因子排序 10日成交量标准差 VSTD10 10日成交量去标准差 成交量的5日指数移动平均 VEMA5 成交量的5日指数移动平均 成交量的10日指数 ...

  5. VaR模型中的风险因子和估值框架

    在一个大型的组合中,有成千上万只不同的证券,但不同证券的价格可能受到同样的因素所驱动,比如同一个国家的债券几乎都受到该国的基准利率所影响. 为了简化VaR的计算,通常将那些最根本的因素挑选出来,这些因 ...

  6. 高频量价因子在股票和期货中的表现 - 动量类因子

    引言 >>> 研究目的 本文参考海通证券研报<高频量价因子在股票和期货中的表现>,对其动量类因子--趋势强度因子和改进反转因子,进行单因子分析测试,以从各个方面考察因子的 ...

  7. 用聚宽量化炒股-财务因子选股-1成长类因子选股-1

    量化选股是利用数量化的方法选择股票组合,期望该股票组合能够获得超越基准收益率的投资行为. 量化选股可以分为两类:基本面选股和技术面选股. 在实际的股票投资中,往往利用基本面选出要操作的股票,然后根据技 ...

  8. 【量化交易】量化因子 基础科目衍生类因子计算

    基础科目衍生类因子 量化交易,基础科目衍生类因子计算逻辑. 净运营资本 net_working_capital 流动资产 - 流动负债 营业总收入TTMtotal_operating_revenue_ ...

  9. 用python做股票因子分析_Python与量化多因子——机器学习方法在因子合成上的应用...

    1. 前言最近要工作了,工作好难找啊.看到好多要求要有机器学习这方面的经验的,虽然我对传统因子模型这块做了很多工作,但是机器学习却没怎么接触. 从我自身的理解来看,在股票的多因子模型上,机器学习或者深 ...

最新文章

  1. python logger
  2. jvm性能调优 - 17案例实战_每日上亿请求量的电商系统 老轻代垃圾回收参数如何优化
  3. 微信小程序开发打开另一个小程序的实现方法
  4. c语言使用求余方式的转化为二进制程序,C语言第三讲 程序结构 (下).ppt
  5. ad采样做按键开关_磐石按键测试机解决各种按键测试问题
  6. [Android]安装 Android Studio 第一行Android代码
  7. 程序简单教程:飞秋官方下载
  8. 苏宁官方辟谣“员工猝死”:因个人身体原因晕倒
  9. eSIM物联网卡的优点有哪些
  10. 面试题——轻松搞定面试中的“虚
  11. python中将数组存储为二进制文件并读取
  12. day11--Matplotlib--柱形图与盒图
  13. 频繁刷新页面websocket会报错_代码优化:Node+WebSocket+Vue聊天室
  14. (莱昂氏unix源代码分析导读-49) 字符缓冲区
  15. hdu 2295(DLX+二分)
  16. C#扩展名关联【转】
  17. 【酱菜物联】微信小程序实现远程控制LED灯
  18. android 自定义Preference CheckBoxPreference ListPreference的用法
  19. AF(操作者框架)系列(1)-LabVIEW中的模块化应用概述
  20. Java实现提现到支付宝功能

热门文章

  1. 360前端星计划学习笔记0410
  2. 芒格最新演讲:中国的水有些聪明人已经蹚进去了,时候到了更多人会进场
  3. imac起死回生,在iMAC 27 2011 mid 上裸机安装windows10
  4. 无网络下imac重装系统
  5. 使用Python工具包Openpyxl进行Excel处理
  6. 微型计算机系统构成的核心部分是,计算机系统组成及工作原理题目
  7. 新电脑从另外一台电脑完整拷贝环境,不需要安装环境
  8. 初创企业如何做高效持续交付
  9. Plant Simulation 更改字体样式
  10. pv=nrt_中学物理之pV=nRT应用总结篇