# 应用专题 / 组合优化 / 美林时钟

## `regime_Based`

声明：class

根据已划分的经济周期状态和资产收益率数据完成状态统计、资产分析与显著性检验

<!-- tags: 美林时钟 经济周期 资产配置 统计检验 -->

### `FAssetStateSeries`

声明：field

资产状态序列，包含各时期的状态及各类资产收益率

可见性：`public`

类型：array

### `FAlpha`

声明：field

统计检验使用的显著性水平，默认值为 0.05

可见性：`public`

类型：real

### `Continue_Statistics()`

声明：function

按状态连续出现的区间统计开始日期、截止日期、周期数及资产平均收益率

<!-- tags: 连续区间 状态统计 资产收益 -->

可见性：`public`

返回：array

### `State_Statistics()`

声明：function

按状态汇总各次连续区间及其持续周期数

<!-- tags: 状态统计 经济周期 -->

可见性：`public`

返回：array

### `State_Total()`

声明：function

汇总各状态的总周期数、平均持续周期数及区间占比

<!-- tags: 状态汇总 经济周期 -->

可见性：`public`

返回：array

### `Asset_Statistics()`

声明：function

提取不同状态和连续区间下各资产的平均收益率

<!-- tags: 资产统计 收益率 -->

可见性：`public`

返回：array

### `Asset_Total()`

声明：function

汇总不同状态下各资产的平均收益率与标准差

<!-- tags: 资产汇总 收益风险 -->

可见性：`public`

返回：array

### `Anova()`

声明：function

检验不同经济周期状态对各资产收益的显著性影响

<!-- tags: 方差分析 显著性检验 -->

可见性：`public`

返回：array

### `Ttest()`

声明：function

检验不同状态下两两资产平均收益率的差异

<!-- tags: T检验 显著性检验 -->

可见性：`public`

返回：array

### `Date_State(vendt)`

声明：function

查询资产状态序列中指定日期对应的状态

<!-- tags: 状态查询 交易日期 -->

可见性：`public`

| 参数    | 类型     | 说明                               |
| ------- | -------- | ---------------------------------- |
| `vendt` | datetime | 资产状态序列中需要查询的日期时间值 |

返回：string

### `State_BestAsset()`

声明：function

返回各经济周期状态下表现最好的资产

<!-- tags: 状态查询 最优资产 -->

可见性：`public`

返回：array

### `State_CovAndCorrelMatrix()`

声明：function

返回各状态下不同资产收益的协方差矩阵和相关系数矩阵

<!-- tags: 协方差 相关矩阵 风险分析 -->

可见性：`public`

返回：array

## `ml_Clock`

声明：class

根据经济增长和通货膨胀指标划分美林时钟状态，并结合资产收益形成资产状态序列

<!-- tags: 美林时钟 经济增长 通货膨胀 资产配置 -->

父类：`regime_Based`

### `FEconomic_Growth`

声明：field

经济增长指标时间序列，例如 GDP 同比或工业增加值同比

可见性：`public`

类型：array

### `FInflation`

声明：field

通货膨胀指标时间序列，例如 CPI 同比

可见性：`public`

类型：array

### `FN1`

声明：field

经济增长和通货膨胀指标的移动平均间隔，默认值为 4

可见性：`public`

类型：integer

### `FN2`

声明：field

判断趋势变化所需的最小连续上升或下降周期数，默认值为 3

可见性：`public`

类型：integer

### `FAsset_Return`

声明：field

参与状态分析的各资产收益率时间序列

可见性：`public`

类型：array

### `GetState_Division(vbegt, vendt)`

声明：function

获取指定区间内根据美林时钟划分的经济周期状态

<!-- tags: 状态划分 经济周期 日期区间 -->

可见性：`public`

| 参数    | 类型     | 说明             |
| ------- | -------- | ---------------- |
| `vbegt` | datetime | 状态划分区间起点 |
| `vendt` | datetime | 状态划分区间终点 |

返回：array
