321 lines
12 KiB
Markdown
321 lines
12 KiB
Markdown
# 净值归因 / 因素回归
|
|
|
|
## `TSBF_RegressionAnalysis`
|
|
|
|
声明:class
|
|
|
|
基于收益率的因素回归分析框架
|
|
|
|
<!-- tags: 统计 回报率 投资收益 拟合 净值分析 因素回归 收益分解 -->
|
|
|
|
### `fifConstant`
|
|
|
|
声明:field
|
|
|
|
是否包含常数项,true 表示包含 true
|
|
|
|
可见性:`public`
|
|
|
|
类型:bool
|
|
|
|
### `fAlpha`
|
|
|
|
声明:field
|
|
|
|
显著性水平 0.05
|
|
|
|
可见性:`public`
|
|
|
|
类型:real
|
|
|
|
### `fifPrincomp`
|
|
|
|
声明:field
|
|
|
|
是否主成分回归,true 表示主成分回归 false
|
|
|
|
可见性:`public`
|
|
|
|
类型:bool
|
|
|
|
### `fifLimit`
|
|
|
|
声明:field
|
|
|
|
是否约束系数,true 表示约束系数 false
|
|
|
|
可见性:`public`
|
|
|
|
类型:bool
|
|
|
|
### `fa`
|
|
|
|
声明:field
|
|
|
|
nil 表示无不等式约束,空数组表示空的不等式约束,如果有不等
|
|
|
|
可见性:`public`
|
|
|
|
类型:array
|
|
|
|
### `main()`
|
|
|
|
声明:function
|
|
|
|
回归主函数,得到回归结果,用于后续的分析
|
|
|
|
<!-- tags: 执行 因素回归 回归分析 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:array
|
|
|
|
### `rarSquare()`
|
|
|
|
声明:function
|
|
|
|
获取回归的 R 方,必须要在运行 Main 函数后调用
|
|
|
|
<!-- tags: 查询 执行 拟合 拟合优度 决定系数 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:real
|
|
|
|
### `ravif()`
|
|
|
|
声明:function
|
|
|
|
获取原始自变量的方差膨胀系数
|
|
|
|
<!-- tags: 查询 方差膨胀因子 多重共线性 回归诊断 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:array
|
|
|
|
### `raLeverReturnAttri(if_tree_id)`
|
|
|
|
声明:function
|
|
|
|
区间分层收益归因统计,包含上层总收益分解与下层因子收益贡献分解
|
|
|
|
<!-- tags: 汇总 回报率 投资收益 贡献分析 影响度 因子分析 因子指标 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------ | ---- | ----------------------------------------------------------------------------------------- |
|
|
| `if_tree_id` | bool | 是否显示树形 ID,布尔类型,默认为否,包含字段"层级"、"id"、"pid",常用于 web 做树形分解图 |
|
|
|
|
返回:array
|
|
|
|
### `raSummaryReturnDetail(r_type)`
|
|
|
|
声明:function
|
|
|
|
每期总收益分解详情
|
|
|
|
<!-- tags: 查询 总收益分解 每期详情 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| -------- | ------- | -------------------------------------------------------------------------------- |
|
|
| `r_type` | integer | 返回类型,整型 取值 含义 0(默认) 返回每期收益贡献(%) 1 返回每期累计收益贡献(%) |
|
|
|
|
返回:array
|
|
|
|
### `raSummaryReturnAttri()`
|
|
|
|
声明:function
|
|
|
|
区间总收益归因统计,多期收益归因,统计每个分解项对区间累计总收益的贡献
|
|
|
|
<!-- tags: 汇总 收益分解 贡献分析 影响度 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:array
|
|
|
|
### `raFactorContriDetail(factor_lever, r_type)`
|
|
|
|
声明:function
|
|
|
|
每期因子贡献详情,因子贡献=回归系数*因子收益
|
|
|
|
<!-- tags: 回报率 投资收益 影响度 收益分解 因子分析 因子指标 拟合 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `factor_lever` | integer | 因子层级,整型,取值如下,FactorLever 也可以为一维数组,如 array(1,2),表示 返回一级和二级大类因子 取值 含义 返回字段 备注 -1 返回所有层级因子 所有不同层级因子名称 0(默认) 返回小类因子 小类因子名称 FX 列名 1 返回一级大类因子 一级大类因子名称 FFactorConfig 设置相关, 见"大类因子"或"因子分类"字段 2 返回二级大类因子 二级大类因子名称 …… |
|
|
| `r_type` | integer | 返回类型,0 表示返回每期收益贡献(%),1 表示返回每期累计收益贡献(%) |
|
|
|
|
返回:array
|
|
|
|
### `raFactorContriAttri(factor_lever)`
|
|
|
|
声明:function
|
|
|
|
区间因子贡献统计,各小类或大类因子对区间累计总收益的收益贡献
|
|
|
|
<!-- tags: 汇总 收益分解 贡献分析 影响度 因子分析 因子指标 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| -------------- | ------- | -------------------------------------------------- |
|
|
| `factor_lever` | integer | 因子层级,整型,详见 RAFactorContriDetail 参数说明 |
|
|
|
|
返回:array
|
|
|
|
### `raLeverRiskAttri(if_tree_id)`
|
|
|
|
声明:function
|
|
|
|
区间分层风险归因统计,包含上层总风险分解与下层因子风险分解
|
|
|
|
<!-- tags: 汇总 收益分解 贡献分析 因子分析 因子指标 风险管理 风控 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------ | ---- | ----------------------------------------------------------------------------------------- |
|
|
| `if_tree_id` | bool | 是否显示树形 ID,布尔类型,默认为否,包含字段"层级"、"id"、"pid",常用于 web 做树形分解图 |
|
|
|
|
返回:array
|
|
|
|
### `raSummaryRiskAttri()`
|
|
|
|
声明:function
|
|
|
|
区间总风险归因统计,统计各分解项对总风险的风险贡献
|
|
|
|
<!-- tags: 汇总 收益分解 贡献分析 影响度 风险管理 风控 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:array
|
|
|
|
### `raFactorRiskAttri(factor_lever)`
|
|
|
|
声明:function
|
|
|
|
区间因子风险归因统计,统计小类或大类因子对总风险的风险贡献
|
|
|
|
<!-- tags: 汇总 收益分解 贡献分析 影响度 因子分析 因子指标 风险管理 风控 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| -------------- | ------- | -------------------------------------------------- |
|
|
| `factor_lever` | integer | 因子层级,整型,详见 RAFactorContriDetail 参数说明 |
|
|
|
|
返回:array
|
|
|
|
### `raRelativeImportance(method, option)`
|
|
|
|
声明:function
|
|
|
|
相对重要性分析,检验各自变量对回归 R 方的贡献度
|
|
|
|
<!-- tags: 检查 判定 验证 统计 影响度 收益分解 拟合 拟合优度 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `method` | integer | Integer,整数,表示相对重要性分析的算法类别 0:表示边际 R2 法,调用公用函数 Regress_Domin_Marginal(默认) 1:表示 R2 公式分解法,调用公用函数 Regress_Domin_Marginal |
|
|
| `option` | integer | 可选。Integer,整数,在 method=0 时有用,是 Regress_Domin_Marginal 的可选参数 0:利用完整回归中剔除其他变量的贡献度计算(默认) 1:利用包含指定变量回归中贡献度的均值计算 |
|
|
|
|
返回:array
|
|
|
|
### `raReturnCorrel(if_y)`
|
|
|
|
声明:function
|
|
|
|
收益相关系数
|
|
|
|
<!-- tags: 查询 收益相关系数 相关性 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------ | ---- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `if_y` | bool | 是否包含因变量 Y,布尔类型,为真表示计算 Y 以及各自变量因子收益间的相关系数(因 变量 Y 的名称为"总收益"),为假表示仅计算自变量因子收益间的相关系数 |
|
|
|
|
返回:array
|
|
|
|
### `raSelectAlphaDetail()`
|
|
|
|
声明:function
|
|
|
|
获取每期选股 Alpha 详情
|
|
|
|
<!-- tags: 查询 选择 筛选 超额收益 主动收益 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:array
|
|
|
|
### `raStyleReturnDetail()`
|
|
|
|
声明:function
|
|
|
|
获取每期风格收益详情
|
|
|
|
<!-- tags: 查询 风格因子 投资风格 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:array
|
|
|
|
### `raReturnContribute(dtype)`
|
|
|
|
声明:function
|
|
|
|
获取风格因子收益贡献分解结果;必须在 Main 执行后调用
|
|
|
|
<!-- tags: 查询 回报率 投资收益 影响度 收益分解 因子分析 因子指标 投资风格 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `dtype` | integer | Integer,代表返回的数据类型 取值 结果说明 算法说明 0(默认) 最后一天的收益贡献分解结果 最后一天各风格收益与所对应的回归系数相乘 1 区间每一天的收益贡献分解结果 区间每一天的各风格收益与对应的回归系数相乘 2 区间累计收益率的收益贡献分解结果 区间各累计风格收益率与对应的回归系数相乘 |
|
|
|
|
返回:array
|
|
|
|
### `raRiskContribute()`
|
|
|
|
声明:function
|
|
|
|
按边际风险法获取风格因子风险贡献分解结果;必须在 Main 执行后调用
|
|
|
|
<!-- tags: 查询 影响度 收益分解 因子分析 因子指标 风险管理 风控 投资风格 -->
|
|
|
|
可见性:`public`
|
|
|
|
返回:array
|
|
|
|
### `raRelaImportance(x, y, method, option)`
|
|
|
|
声明:function
|
|
|
|
获取相对重要性分析结果
|
|
|
|
<!-- tags: 查询 相对重要性 变量贡献 回归分析 -->
|
|
|
|
可见性:`public`
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `x` | array | Array,二维数组,自变量数据,即风格收益数据 |
|
|
| `y` | array | Array,一维数组,因变量数据,即收益率数据 |
|
|
| `method` | integer | Integer,整数,表示相对重要性分析的算法类别 0:表示边际 R2 法,调用公用函数 Regress_Domin_Marginal(默认) 1:表示 R2 公式分解法,调用公用函数 Regress_Domin_Marginal |
|
|
| `option` | integer | 可选。Integer,整数,在 method=0 时有用,是 Regress_Domin_Marginal 的可选参数 0:利用完整回归中剔除其他变量的贡献度计算(默认) 1:利用包含指定变量回归中贡献度的均值计算 |
|
|
|
|
返回:array
|