# 组合优化 / 因子资产配置

## `tsFactorPortfolioOptimizer`

声明：class

因子资产配置框架

<!-- tags: 因子分析 因子指标 数学优化 约束求解 投资组合 资产组合 因子配置 组合优化 -->

### `FFiledDZ_AssetName`

声明：field

资产名称对照

可见性：`public`

类型：array

### `FFiledDZ_FactorName`

声明：field

因子名称对照

可见性：`public`

类型：array

### `FAsset_FaExp`

声明：field

资产因子暴露

可见性：`public`

类型：array

### `FAsset_const`

声明：field

资产收益常数项

可见性：`public`

类型：array

### `FAsset_ret`

声明：field

资产预期收益

可见性：`public`

类型：array

### `FAsset_cov`

声明：field

资产预期协方差

可见性：`public`

类型：array

### `FAsset_rets`

声明：field

资产收益序列

可见性：`public`

类型：array

### `FFaRet`

声明：field

因子预期收益

可见性：`public`

类型：array

### `FFaCov`

声明：field

因子协方差

可见性：`public`

类型：array

### `FFaRets`

声明：field

因子收益序列

可见性：`public`

类型：array

### `FAsset_Idio_Ret`

声明：field

特质预期收益

可见性：`public`

类型：array

### `FAsset_Idio_Var`

声明：field

资产特质方差

可见性：`public`

类型：array

### `FAsset_Idio_Rets`

声明：field

资产特质收益序列

可见性：`public`

类型：array

### `FIfConst`

声明：field

是否包含常数项 默认为 1，包含常数项

可见性：`public`

类型：bool

### `FRegressionType`

声明：field

回归方式 默认为 0，简单多元回归

可见性：`public`

类型：integer

### `FfaEXpConstr`

声明：field

因子暴露约束

可见性：`public`

类型：array

### `FNonlinearConStr`

声明：field

多个非线性约束

可见性：`public`

类型：array

### `FThresholdshowYearVlower`

声明：field

年化下界(%)

可见性：`public`

类型：real

### `FThresholdshowYearVupper`

声明：field

年化上界(%)

可见性：`public`

类型：real

### `PortfolioOptimize()`

声明：function

优化主函数，包含整个算法流程，用户必须调用

<!-- tags: 执行 数学优化 约束求解 投资组合 资产组合 -->

可见性：`public`

返回：boolean

### `Get_Asset_Rets()`

声明：function

获取资产收益序列，收益不带%，包含"截止日"与各资产名称字段，默认使用父类

<!-- tags: 查询 回报率 投资收益 -->

可见性：`public`

返回：array

### `Get_Factor_Rets()`

声明：function

获取因子收益序列，收益不带%，包含"截止日"与各因子名称字段，用户可重写

<!-- tags: 查询 回报率 投资收益 因子分析 因子指标 -->

可见性：`public`

返回：array

### `GetFactorData()`

声明：function

优化前后因子风险贡献，只考虑风险因子部分、不考虑特质部分

<!-- tags: 查询 影响度 收益分解 因子分析 因子指标 风险管理 风控 数学优化 -->

可见性：`public`

返回：array

### `GetSpecificData()`

声明：function

优化前后特质风险贡献，只考虑特质部分、不考虑风险因子部分

<!-- tags: 查询 影响度 收益分解 因子分析 因子指标 风险管理 风控 数学优化 -->

可见性：`public`

返回：array

### `GetFactorAndSpecificData()`

声明：function

优化前后因子与特质风险贡献，同时考虑风险因子与特质的部分

<!-- tags: 查询 影响度 收益分解 因子分析 因子指标 风险管理 风控 数学优化 -->

可见性：`public`

返回：array

### `GetAssetRiskAttri(r_type)`

声明：function

将单个资产看作一个组合，该组合在单资产上的权重为 1、在其他资产上的权重为 0。分析每

<!-- tags: 查询 统计 收益分解 贡献分析 风险管理 风控 组合权重 -->

可见性：`public`

| 参数     | 类型 | 说明                                                                                                                          |
| -------- | ---- | ----------------------------------------------------------------------------------------------------------------------------- |
| `r_type` | int  | 返回类型，整型 取值 含义 -1 分解详情：包括边际风险贡献、总风险贡献、风险贡献率(%) 0 边际风险贡献 1 总风险贡献 2 风险贡献率(%) |

返回：array

### `GetMiddleData()`

声明：function

返回优化过程中的中间数据，可辅助用户进行数据分析

<!-- tags: 查询 统计 数学优化 约束求解 -->

可见性：`public`

返回：array
