# 业绩归因 / 风格因子 ## `TSRM_FactorAttribution` 声明:class 风格因子归因框架 ### `fRegType` 声明:field 回归方式 1 可见性:`public` 类型:integer ### `fconfig` 声明:field 归因配置 可见性:`public` 类型:table ### `fIsCacheReMatrix` 声明:field 是否缓存回归矩阵 0 可见性:`public` 类型:boolean ### `fAbnormalType` 声明:field 极值处理方法 0:中位数法 可见性:`public` 类型:integer ### `fStandarizeType` 声明:field 标准化方法 1:Z值法 可见性:`public` 类型:integer ### `fGridNo` 声明:field 网格数目 5 可见性:`public` 类型:integer ### `attributionTest()` 声明:function 归因主程序 可见性:`public` 返回:array ### `init_process()` 声明:function 用于用户接入自定义的配置初始化,与数据预处理逻辑,AttributionTest内部在开始归因计算 可见性:`public` 返回:array ### `getTimeSeries()` 声明:function 获取时间序列,一维数组 可见性:`public` 返回:array ### `getPortfolioWeightandReturn(v_end_t)` 声明:function T日组合个券期初权重(比例(%))及 T日个券涨幅,这里的涨幅指个券T日在组合里的涨幅 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | -------------------------------- | | `v_end_t` | datetime | 当前计算日期或查询区间的结束日期 | 返回:array ### `getBenchmarkWeightandReturn(v_end_t)` 声明:function 基准权重表,数据表结构如下。注意,当FindexId 有值时,则不需要重载此方法 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | ------------------ | | `v_end_t` | datetime | 日期类型,归因日期 | 返回:array ### `userCalFactors(data, v_end_t)` 声明:function 将指定日的外部自定义因子值合并到天软因子值表;用于第三方因子参与归因 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | ------------------------------------------------------------------------------------------------- | | `data` | array | 二维数组,天软因子值表。此参数传进来作用有两点:1、为取本地因子得到样本;2、与本地 因子值合并返回 | | `v_end_t` | datetime | 日期 | 返回:array ### `getMarketStocks(v_end_t)` 声明:function 返回指定日市场全部个股,使用场景如:在全A里面做回归计算风格因子收益,而基准只是 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | -------------------------------- | | `v_end_t` | datetime | 当前计算日期或查询区间的结束日期 | 返回:array ### `getFactorRegressionValue_User(vendt)` 声明:function 返回用户自定义截面回归后的因子收益数据,只在FRegType=-1时才使用 可见性:`public` | 参数 | 类型 | 说明 | | ------- | -------- | -------------------------------------------------------- | | `vendt` | datetime | 截面回归结果对应的评价截止日期;仅在自定义回归方式下使用 | 返回:array ### `getStocksBeta(v_end_t)` 声明:function 返回指定日市场全部个股的贝塔,FRegTye=3,CAPM+多因子分解方法专用 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | -------------------------------- | | `v_end_t` | datetime | 当前计算日期或查询区间的结束日期 | 返回:array ### `getMarketReturn(v_end_t)` 声明:function 返回指定日市场收益,FRegTye=3,CAPM+多因子分解方法专用 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | -------------------------------- | | `v_end_t` | datetime | 当前计算日期或查询区间的结束日期 | 返回:array ### `getEventReturn(v_end_t)` 声明:function 返回指定日最新的事件收益数据,事件因子归因专用 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | -------------------------------- | | `v_end_t` | datetime | 当前计算日期或查询区间的结束日期 | 返回:array ### `getStocksEventDate(v_end_t)` 声明:function 返回指定日最新的个股事件发生日,事件因子归因专用 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | -------------------------------- | | `v_end_t` | datetime | 当前计算日期或查询区间的结束日期 | 返回:array ### `setPerioDQCYTD(v_end_t)` 声明:function 用于设置归因周期的期初昨日,当且仅当GetPortfolioWeightandReturn返回的结果中不含字段 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | ------------------ | | `v_end_t` | datetime | 日期类型,归因日期 | 返回:date ### `getPerioDQCYTD(v_end_t)` 声明:function 返回期初昨日,只用于查询,重载请用SetPerioDQCYTD 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | ------------------ | | `v_end_t` | datetime | 日期类型,归因日期 | 返回:date ### `getPerioDBedT(v_end_t)` 声明:function 返回当期开始日,即期初昨日后的第一个交易日 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | ------------------ | | `v_end_t` | datetime | 日期类型,归因日期 | 返回:date ### `getDataStoreHome()` 声明:function 返回缓存根目录,FisCacheReMatrix为真时,回归矩阵缓存在此目录 可见性:`public` 返回:string ### `getRegressionMatrix(v_end_t)` 声明:function 返回指定日的回归矩阵,主要作为调试用,FisCacheReMatrix为真时已把每期的回归矩阵缓存 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | -------- | | `v_end_t` | datetime | 日期类型 | 返回:string ### `debugreturnFactorValueByEndT(v_end_t)` 声明:function 返回 vEndT归因时所使用到的因子值,因子值包括原值与标准化处理过因子值 可见性:`public` | 参数 | 类型 | 说明 | | --------- | -------- | -------- | | `v_end_t` | datetime | 日期类型 | 返回:array ### `getPSummaryReturn()` 声明:function 返回组合总收益分解和风险分解情况 可见性:`public` 返回:array ### `getPFactorExposure()` 声明:function 返回因子敞口的统计分析 可见性:`public` 返回:array ### `getPFactorReturn()` 声明:function 返回因子收益率统计分析 可见性:`public` 返回:array ### `getPFactorContri()` 声明:function 返回风格因子贡献的统计分析和风险分解情况 可见性:`public` 返回:array ### `getPFactorContri2(if_annual)` 声明:function 返回风格因子贡献细分情况、IR与 T值 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------- | -------------------------------------------------------------- | | `if_annual` | boolean | 是否年化,默认为否。若为真,则收益贡献相关、信息比率为年化数据 | 返回:array ### `getPAssetContri()` 声明:function 返回资产选择贡献统计分析和风险分解情况 可见性:`public` 返回:array ### `getPStockSummaryReturn(rety)` 声明:function 个券层专用,返回个券在总收益各个分解项(总收益、基准收益等)上的【累计贡献(%)】 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | ------------------------------------------------------------------------- | | `rety` | integer | 返回统计指标,预留参数,当前仅支持返回个券对各收益分解项的累计收益贡献(%) | 返回:array ### `getPStockFactorContri(rety)` 声明:function 个券层专用,返回个券在各个因子上的【累计贡献(%)】 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | --------------------------------------------------------------------- | | `rety` | integer | 返回统计指标,预留参数,当前仅支持返回个券在各因子上的累计收益贡献(%) | 返回:array ### `getPStockFactorExposure(rety)` 声明:function 个券层专用,返回个券在各个因子上的【平均敞口】 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | -------------------------------------------------------------- | | `rety` | integer | 返回统计指标,预留参数,当前仅支持返回个券在各因子上的平均敞口 | 返回:array ### `getPStockSummaryRisk(rety)` 声明:function 个券层专用,返回个券的各个分解项(总收益、基准收益等)在总风险与跟踪误差上的【风 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | ------------------------------------------------- | | `rety` | integer | 返回统计指标 取值 含义 0 风险贡献 1 风险贡献率(%) | 返回:array ### `getPStockFactorRisk(rety)` 声明:function 个券层专用,返回个券的各因子在总风险与跟踪误差上的【风险贡献】或【风险贡献率(%)】 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | ------------------------------------------------- | | `rety` | integer | 返回统计指标 取值 含义 0 风险贡献 1 风险贡献率(%) | 返回:array ### `getPSummaryReturnDetail(re_ty)` 声明:function 返回组合总收益分解的序列 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | `re_ty` | int | 取值如下 取值 含义 -1 每日贡献度(%),且将二维表转为立体表 0 每日收益贡献(%) 1 每日累计贡献度(%)与每日累计增量贡献度(%) 2 最后一期累计贡献度(%) | 返回:array ### `getPFactorContriDetail(re_ty, classlevel)` 声明:function 返回风格因子归因序列 可见性:`public` | 参数 | 类型 | 说明 | | ------------ | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `re_ty` | int | 返回数据类型,取值如下 | | `classlevel` | int | 风格因子类型 取值 含义 1 ⚫ 只输出合成大类因子贡献详情,当前只支持一级分类, ⚫ 根据 FFactorArr的大类因子字段合成 0、默认 FFactorArr中全部参与归因的因子 GetPFactorContriDetail2 ⚫ | 返回:array ### `getPFactorContriDetail2(re_ty)` 声明:function 返回风格因子贡献细分序列,每个因子贡献都可拆分为两部分,累计贡献=因子配置+因子择 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | `re_ty` | int | 取值如下 取值 含义 -1 每日贡献度(%),且将二维表转为立体表 0 每日收益贡献(%) 1 每日累计贡献度(%)与每日累计增量贡献度(%) 2 最后一期累计贡献度(%) | 返回:array ### `getPAssetContriDetail(ty)` 声明:function 返回资产选择贡献的时间序列数据 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | ---------------------------------- | | `ty` | int | 结果查询的时间序列或统计类型选择项 | 返回:array ### `getPFactorExposureDetail(rety)` 声明:function 返回因子敞口的详情(时间序列) 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | --------------------------------------------------------------------------------------------- | | `rety` | integer | 返回数据类型,取值如下: 取值 含义 -1 ⚫ 立体表,且增加组合暴露、基准暴露 默认,其他 每日敞口 | 返回:array ### `getPFactorReturnDetail(ty)` 声明:function 返回因子收益率的时间序列 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | ------------------------------------------------------------------------------------------------------- | | `ty` | int | 返回数据类型,取值如下 取值 含义 0 收益率(%) 1 累计收益率(%) 7.8 结果查询&回归检验 GetPRegresSquared ⚫ | 返回:array ### `getPRegresSquared()` 声明:function 返回回归 R 方序列 可见性:`public` 返回:array ### `getPRegresTTest()` 声明:function 返回回归 T值序列 可见性:`public` 返回:array ### `getPVIF()` 声明:function 返回风格因子 VIF 可见性:`public` 返回:array ### `getPEventExposureDetail(rety)` 声明:function 返回事件因子敞口的详情(时间序列) 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | --------------------------------- | | `rety` | integer | 个券/因子统计结果的返回口径选择项 | 返回:array ### `getPEventExposure()` 声明:function 返回事件因子敞口的的统计分析 可见性:`public` 返回:array ### `getPEventContriDetail(rety)` 声明:function 返回事件因子贡献的详情(时间序列) 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | --------------------------------- | | `rety` | integer | 个券/因子统计结果的返回口径选择项 | 返回:array ### `getPEventContri()` 声明:function 返回事件因子贡献的统计分析 可见性:`public` 返回:array