# 净值归因 / 因素回归 ## `TSBF_RegressionAnalysis` 声明:class 基于收益率的因素回归分析框架 ### `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 回归主函数,得到回归结果,用于后续的分析 可见性:`public` 返回:array ### `rarSquare()` 声明:function 获取回归的 R 方,必须要在运行 Main 函数后调用 可见性:`public` 返回:real ### `ravif()` 声明:function 获取原始自变量的方差膨胀系数 可见性:`public` 返回:array ### `raLeverReturnAttri(if_tree_id)` 声明:function 区间分层收益归因统计,包含上层总收益分解与下层因子收益贡献分解 可见性:`public` | 参数 | 类型 | 说明 | | ------------ | ---- | ----------------------------------------------------------------------------------------- | | `if_tree_id` | bool | 是否显示树形 ID,布尔类型,默认为否,包含字段"层级"、"id"、"pid",常用于 web 做树形分解图 | 返回:array ### `raSummaryReturnDetail(r_type)` 声明:function 每期总收益分解详情 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ------- | -------------------------------------------------------------------------------- | | `r_type` | integer | 返回类型,整型 取值 含义 0(默认) 返回每期收益贡献(%) 1 返回每期累计收益贡献(%) | 返回:array ### `raSummaryReturnAttri()` 声明:function 区间总收益归因统计,多期收益归因,统计每个分解项对区间累计总收益的贡献 可见性:`public` 返回:array ### `raFactorContriDetail(factor_lever, r_type)` 声明:function 每期因子贡献详情,因子贡献=回归系数*因子收益 可见性:`public` | 参数 | 类型 | 说明 | | -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `factor_lever` | integer | 因子层级,整型,取值如下,FactorLever 也可以为一维数组,如 array(1,2),表示 返回一级和二级大类因子 取值 含义 返回字段 备注 -1 返回所有层级因子 所有不同层级因子名称 0(默认) 返回小类因子 小类因子名称 FX 列名 1 返回一级大类因子 一级大类因子名称 FFactorConfig 设置相关, 见"大类因子"或"因子分类"字段 2 返回二级大类因子 二级大类因子名称 …… | | `r_type` | integer | 返回类型,0 表示返回每期收益贡献(%),1 表示返回每期累计收益贡献(%) | 返回:array ### `raFactorContriAttri(factor_lever)` 声明:function 区间因子贡献统计,各小类或大类因子对区间累计总收益的收益贡献 可见性:`public` | 参数 | 类型 | 说明 | | -------------- | ------- | -------------------------------------------------- | | `factor_lever` | integer | 因子层级,整型,详见 RAFactorContriDetail 参数说明 | 返回:array ### `raLeverRiskAttri(if_tree_id)` 声明:function 区间分层风险归因统计,包含上层总风险分解与下层因子风险分解 可见性:`public` | 参数 | 类型 | 说明 | | ------------ | ---- | ----------------------------------------------------------------------------------------- | | `if_tree_id` | bool | 是否显示树形 ID,布尔类型,默认为否,包含字段"层级"、"id"、"pid",常用于 web 做树形分解图 | 返回:array ### `raSummaryRiskAttri()` 声明:function 区间总风险归因统计,统计各分解项对总风险的风险贡献 可见性:`public` 返回:array ### `raFactorRiskAttri(factor_lever)` 声明:function 区间因子风险归因统计,统计小类或大类因子对总风险的风险贡献 可见性:`public` | 参数 | 类型 | 说明 | | -------------- | ------- | -------------------------------------------------- | | `factor_lever` | integer | 因子层级,整型,详见 RAFactorContriDetail 参数说明 | 返回:array ### `raRelativeImportance(method, option)` 声明:function 相对重要性分析,检验各自变量对回归 R 方的贡献度 可见性:`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 收益相关系数 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ---- | --------------------------------------------------------------------------------------------------------------------------------------------------- | | `if_y` | bool | 是否包含因变量 Y,布尔类型,为真表示计算 Y 以及各自变量因子收益间的相关系数(因 变量 Y 的名称为"总收益"),为假表示仅计算自变量因子收益间的相关系数 | 返回:array ### `raSelectAlphaDetail()` 声明:function 获取每期选股 Alpha 详情 可见性:`public` 返回:array ### `raStyleReturnDetail()` 声明:function 获取每期风格收益详情 可见性:`public` 返回:array ### `raReturnContribute(dtype)` 声明:function 获取风格因子收益贡献分解结果;必须在 Main 执行后调用 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `dtype` | integer | Integer,代表返回的数据类型 取值 结果说明 算法说明 0(默认) 最后一天的收益贡献分解结果 最后一天各风格收益与所对应的回归系数相乘 1 区间每一天的收益贡献分解结果 区间每一天的各风格收益与对应的回归系数相乘 2 区间累计收益率的收益贡献分解结果 区间各累计风格收益率与对应的回归系数相乘 | 返回:array ### `raRiskContribute()` 声明:function 按边际风险法获取风格因子风险贡献分解结果;必须在 Main 执行后调用 可见性:`public` 返回:array ### `raRelaImportance(x, y, method, option)` 声明:function 获取相对重要性分析结果 可见性:`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