# 业绩归因 / 风格因子 ## `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