Files
playbook/skills/tsl-api-reference/references/codegen/module/ts-factor-attribution.md
T

688 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 业绩归因 / 风格因子
## `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
标准化方法 1Z值法
可见性:`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