# 应用专题 / 组合评价 / 基于日交易数据的 Brinson 业绩归因

## `brinson_PerforAttri`

声明：class

根据交易、持仓、资产配置、申购赎回和基准数据清洗组合明细，并完成 Brinson 业绩归因

<!-- tags: Brinson 业绩归因 组合评价 交易数据 -->

### `FAllJYMX`

声明：field

交易明细表，包含截止日、代码、方向、动作、成交价、成交量和成交金额

可见性：`public`

类型：array

### `FAllCCMX`

声明：field

持仓明细表，包含截止日、代码、方向、数量和市值

可见性：`public`

类型：array

### `FAllZCPZ`

声明：field

资产配置表，包含截止日、现金市值和资产净值等字段

可见性：`public`

类型：array

### `FAllTa`

声明：field

申购赎回表，包含截止日、出金和入金

可见性：`public`

类型：array

### `FBenchmark`

声明：field

基准数据表，包含截止日、代码、比例、计算用权重和收益率

可见性：`public`

类型：array

### `FStockType`

声明：field

证券类别选择；支持按证券、大类资产、中证行业、证监会行业或申万行业分类

可见性：`public`

类型：integer

### `FtypeField`

声明：field

证券类别字段名称，默认 `证券类别`

可见性：`public`

类型：string

### `FBigClass`

声明：field

是否进行大类资产归因，默认 0 表示不进行

可见性：`public`

类型：integer

### `FISBHB`

声明：field

归因方法选择；0 使用 BF 算法，1 使用 BHB 算法

可见性：`public`

类型：integer

### `GetJYMX(vend_t)`

声明：function

获取指定日交易明细；可重写以接入自有交易数据

可见性：`public`

| 参数     | 类型     | 说明             |
| -------- | -------- | ---------------- |
| `vend_t` | datetime | 要获取数据的日期 |

返回：array

### `GetCCMX(vend_t)`

声明：function

获取指定日持仓明细；可重写以接入自有持仓数据

可见性：`public`

| 参数     | 类型     | 说明             |
| -------- | -------- | ---------------- |
| `vend_t` | datetime | 要获取数据的日期 |

返回：array

### `GetZcpz(vend_t)`

声明：function

获取指定日资产配置；可重写以接入自有资产配置数据

可见性：`public`

| 参数     | 类型     | 说明             |
| -------- | -------- | ---------------- |
| `vend_t` | datetime | 要获取数据的日期 |

返回：array

### `GetTA(vend_t)`

声明：function

获取指定日申购赎回数据；可重写以接入自有出入金数据

可见性：`public`

| 参数     | 类型     | 说明             |
| -------- | -------- | ---------------- |
| `vend_t` | datetime | 要获取数据的日期 |

返回：array

### `StockDetailStat(end_t)`

声明：function

生成指定日个券明细；已有标准个券权重和收益数据时可直接重写此方法

可见性：`public`

| 参数    | 类型     | 说明                     |
| ------- | -------- | ------------------------ |
| `end_t` | datetime | 要统计个券明细的截止日期 |

返回：array

### `GetBenchmark(vend_t)`

声明：function

获取指定日基准明细；可重写以接入自有基准数据

可见性：`public`

| 参数     | 类型     | 说明             |
| -------- | -------- | ---------------- |
| `vend_t` | datetime | 要获取数据的日期 |

返回：array

### `BenchmarkTypeStat(vend_t)`

声明：function

按证券类别汇总指定日基准权重、比例、涨幅和贡献度

可见性：`public`

| 参数     | 类型     | 说明                   |
| -------- | -------- | ---------------------- |
| `vend_t` | datetime | 要汇总基准数据的截止日 |

返回：array

### `GetStockType(stock_id, end_t)`

声明：function

获取指定证券在指定日期的类别；可重写以采用自定义分类体系

可见性：`public`

| 参数       | 类型     | 说明       |
| ---------- | -------- | ---------- |
| `stock_id` | string   | 证券代码   |
| `end_t`    | datetime | 分类截止日 |

返回：any

### `StockAndBenchTypeStat(end_t)`

声明：function

合并组合与基准的指定日分类明细

可见性：`public`

| 参数    | 类型     | 说明             |
| ------- | -------- | ---------------- |
| `end_t` | datetime | 要汇总的截止日期 |

返回：array

### `DataCleaning(beg_t, end_t)`

声明：function

清洗指定区间数据并生成组合、基准和分类归因中间结果

可见性：`public`

| 参数    | 类型     | 说明         |
| ------- | -------- | ------------ |
| `beg_t` | datetime | 归因开始日期 |
| `end_t` | datetime | 归因截止日期 |

返回：nil

### `GetPerforAttri()`

声明：function

返回 Brinson 业绩归因结果

可见性：`public`

返回：array

### `GetStockDetail()`

声明：function

返回清洗后的全部个券明细

可见性：`public`

返回：array

### `GetTypeDetail()`

声明：function

返回清洗后的分类别统计明细

可见性：`public`

返回：array

### `GetAllTypeStat()`

声明：function

返回所有类别的累计收益统计

可见性：`public`

返回：array

## `brinson_perforAttri_demo(beg_t, end_t, t_all_jy, t_all_c_c, index_id)`

声明：function

构造 Brinson 归因对象并返回个券、分类收益和业绩归因结果的调用范例

<!-- tags: Brinson 业绩归因 调用范例 -->

| 参数        | 类型     | 说明         |
| ----------- | -------- | ------------ |
| `beg_t`     | datetime | 归因开始日期 |
| `end_t`     | datetime | 归因截止日期 |
| `t_all_jy`  | array    | 交易明细表   |
| `t_all_c_c` | array    | 持仓明细表   |
| `index_id`  | string   | 基准代码     |

返回：array
