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