# 数学函数 / 增长率与比率

## `outPutValueByUnit(data, data_type, data_unit)`

声明：function

按指定单位换算数值

<!-- tags: 数学 单位 换算 数值 conversion unit -->

| 参数        | 类型   | 说明                      |
| ----------- | ------ | ------------------------- |
| `data`      | real   | 待换算数值                |
| `data_type` | string | 数据类型，`Real` 表示实数 |
| `data_unit` | real   | 换算单位                  |

返回：real

### 示例

范例01：按 10 为单位换算实数

```tsl
return outPutValueByUnit(1234.5, "Real", 10);
// 输出：123.45
```

## `ytmToAccumulativeYTM(t, f_name, dw, return_type)`

声明：function

将日收益率序列转换为复合收益率或累计收益率

<!-- tags: 数学 收益率 复合收益率 累计收益率 yield return -->

| 参数          | 类型    | 说明                                   |
| ------------- | ------- | -------------------------------------- |
| `t`           | array   | 日收益率序列                           |
| `f_name`      | string  | 收益率字段名称                         |
| `dw`          | integer | 输入单位和返回形式                     |
| `return_type` | any     | 返回复合收益率序列或最近一日复合收益率 |

返回：array\|real

### 示例

范例01：把日收益率转换为复合收益率序列

```tsl
value := array(
    ("date": 20180801T, "yield": 0.003),
    ("date": 20180802T, "yield": 0.006),
    ("date": 20180803T, "yield": 0.009));
return ytmToAccumulativeYTM(value, "yield", 2, 0);
```

## `accumulativeYtMtoYtm(t, fname, dw)`

声明：function

复合益率转日收益率

| 参数    | 类型    | 说明                               |
| ------- | ------- | ---------------------------------- |
| `t`     | array   | 数据表类型，复合收益率序列         |
| `fname` | string  | 字符串，收益字段名称               |
| `dw`    | integer | 整数，决定源数据的单位和返回的数据 |

返回：array

### 示例

```tsl
// 源数据单位为1,设dw=2,同时返回复合收益率和转换后的日收益率
t1 := array(('日期': 20180801T, '复合收益率': 0.1),
    ('日期': 20180802T, '复合收益率': 0.4),
    ('日期': 20180803T, '复合收益率': 0.7));
r1 := accumulativeYtMtoYtm(t1, '复合收益率', 2);
// 源数据单位为%,设dw=3,同时返回复合收益率和转换后的日收益率
t2 := array(('日期': 20180801T, '复合收益率(%)': 10),
    ('日期': 20180802T, '复合收益率(%)': 40),
    ('日期': 20180803T, '复合收益率(%)': 70));
r2 := accumulativeYtMtoYtm(t2, '复合收益率(%)', 3);
return r1|r2;
// 输出：返回：
```

## `multyValue(v1, v2)`

声明：function

乘法（财务分析）

| 参数 | 类型 | 说明         |
| ---- | ---- | ------------ |
| `v1` | real | 实型，期末值 |
| `v2` | real | 实型，期初值 |

返回：real

### 示例

```tsl
// 返回取-3与-5的乘积。
return multyValue(-3, -5);
// 输出：-15
```

## `outPutGrowRatio(v1, v2)`

声明：function

增长率(%)

| 参数 | 类型  | 说明         |
| ---- | ----- | ------------ |
| `v1` | float | 实型，期末值 |
| `v2` | float | 实型，期初值 |

返回：float

### 示例

```tsl
// 返回13到14的增长率(%)
outPutGrowRatio(14, 13);
// 输出：7.69
```

## `outPutGrowRatio2(v1, v2)`

声明：function

增长率(%)

| 参数 | 类型  | 说明         |
| ---- | ----- | ------------ |
| `v1` | float | 实型，期末值 |
| `v2` | float | 实型，期初值 |

返回：float

### 示例

```tsl
// 返回13到14的增长率(%)
outPutGrowRatio2(14, 13);
// 输出：7.69
```

## `outPutGrowRatio3(v1, v2)`

声明：function

增长率(%)

| 参数 | 类型 | 说明         |
| ---- | ---- | ------------ |
| `v1` | real | 实型，期末值 |
| `v2` | real | 实型，期初值 |

返回：real

### 示例

```tsl
// 返回14到13的增长率(%)
return outPutGrowRatio3(14, 13);
// 输出：7.69
```

## `outPutGrowValue(v1, v2)`

声明：function

增长

| 参数 | 类型 | 说明         |
| ---- | ---- | ------------ |
| `v1` | real | 实型，期末值 |
| `v2` | real | 实型，期初值 |

返回：real

### 示例

```tsl
// 返回13与14的差值
return outPutGrowValue(13, 14);
// 输出：-1
```

## `outPutGrowValue2(v1, v2)`

声明：function

增长

| 参数 | 类型  | 说明         |
| ---- | ----- | ------------ |
| `v1` | float | 实型，期末值 |
| `v2` | float | 实型，期初值 |

返回：float

### 示例

```tsl
// 返回13与14差值
outPutGrowValue2(13, 14);
// 输出：-1
```

## `outPutGrowValue3(v1, v2)`

声明：function

增长

| 参数 | 类型 | 说明         |
| ---- | ---- | ------------ |
| `v1` | real | 实型，期末值 |
| `v2` | real | 实型，期初值 |

返回：real

### 示例

```tsl
// 返回13与14的差值
return outPutGrowValue3(13, 14);
// 输出：-1
```

## `outPutLnGrowRatio(v1, v2)`

声明：function

对数增长率输出(%)

| 参数 | 类型 | 说明         |
| ---- | ---- | ------------ |
| `v1` | real | 实型，期末值 |
| `v2` | real | 实型，期初值 |

返回：real

### 示例

```tsl
// 取3与4的对数增长率
return outPutLnGrowRatio(3, 4);
// 输出：-28.77
```

## `ratioValue(v1, v2)`

声明：function

比率（财务分析）

| 参数 | 类型 | 说明         |
| ---- | ---- | ------------ |
| `v1` | real | 实型，期末值 |
| `v2` | real | 实型，期初值 |

返回：real

### 示例

```tsl
// 返回-1与-2的比率。
return ratioValue(-1, -2);
// 输出：-0.5
```

## `RatioValue_Math(v1, v2)`

声明：function

比率（数学分析）。针对除法计算处理，主要是对除0情况的考虑

<!-- tags: 计算 求解 -->

| 参数 | 类型  | 说明         |
| ---- | ----- | ------------ |
| `v1` | float | 实数。期末值 |
| `v2` | float | 实数。期初值 |

返回：float
