# 金融 / 金融工程 / 投资组合 / SIM

## `simBasicData(stock_arr, beg_t, end_t)`

声明：function

返回SIM方法计算时，一些相关基本数据的计算并设置相关自定义系统变量，比如：投资品种，投资品种的期望率，各投资品种的残差，各投资品种的Beta系数，各投资品种的Alpha系数，投资品种的标准差，指数的方差

<!-- tags: 金融 金融工程 投资组合 SIM 返回 获取 -->

| 参数        | 类型        | 说明                    |
| ----------- | ----------- | ----------------------- |
| `stock_arr` | array       | 一维字符串数组,股票列表 |
| `beg_t`     | t_date_time | 日期型时间，开始时间    |
| `end_t`     | t_date_time | 日期型时间，结束时间    |

返回：real

### 示例

范例01：调用函数

```tsl
return simBasicData(
    Array("SH600718", "SH600100"),
    intToDate(20120618),
    intToDate(20120919));
// 输出：-0.07634
```

## `simSumAlphap(w)`

声明：function

返回Sum(Alpha系数 \* 比例)

<!-- tags: 金融 金融工程 投资组合 SIM 返回 获取 -->

| 参数 | 类型  | 说明                            |
| ---- | ----- | ------------------------------- |
| `w`  | array | 一维数字数组,投资品种的投资比例 |

返回：real

### 示例

范例01：调用函数

```tsl
simBasicData(
    Array("SH600718", "SH600100"),
    intToDate(20120618),
    intToDate(20120919));
// 使用SIM方法计算基本数据,参考SIMBasicData()
return simSumAlphap(array(1, 2));
// 输出：0.00266
```

## `simSumBetap(w)`

声明：function

返回Sum(Beta系数\*比例)

<!-- tags: 金融 金融工程 投资组合 SIM 返回 获取 -->

| 参数 | 类型  | 说明                             |
| ---- | ----- | -------------------------------- |
| `w`  | array | 一维数字数组，投资品种的投资比例 |

返回：real

### 示例

范例01：调用函数

```tsl
simBasicData(
    Array("SH600718", "SH600100"),
    intToDate(20120618),
    intToDate(20120919));
// 使用SIM方法计算基本数据,参考SIMBasicData()
return simSumBetap(array(1, 2));
// 输出：0.03314
```

## `simSumVarEj(w)`

声明：function

返回Sum(残差\*投资比例\*\*2)

<!-- tags: 金融 金融工程 投资组合 SIM 返回 获取 -->

| 参数 | 类型  | 说明                             |
| ---- | ----- | -------------------------------- |
| `w`  | array | 一维数字数组，投资品种的投资比例 |

返回：real

### 示例

范例01：调用函数

```tsl
simBasicData(
    Array("SH600718", "SH600100"),
    intToDate(20120618),
    intToDate(20120919));
// 使用SIM方法计算基本数据, 参考SIMBasicData()
return simSumVarEj (array(1, 2));
// 输出：0.00045
```

## `simvarRp(w)`

声明：function

SIM方法目标函数计算<方差>

<!-- tags: 金融 金融工程 投资组合 SIM 计算 求解 -->

| 参数 | 类型  | 说明                             |
| ---- | ----- | -------------------------------- |
| `w`  | array | 一维数字数组，投资品种的投资比例 |

返回：real

### 示例

范例01：调用函数

```tsl
simBasicData(
    Array("SH600718", "SH600100"),
    intToDate(20120618),
    intToDate(20120919));
// 使用SIM方法计算基本数据, 参考SIMBasicData()
return simvarRp(array(1, 2));
// 输出：0.00143
```

## `stockBetaAlphaMatix(r, rm)`

声明：function

返回股票的Beta，Alpha以及相关系数

<!-- tags: 金融 金融工程 投资组合 SIM 返回 获取 -->

| 参数 | 类型  | 说明         |
| ---- | ----- | ------------ |
| `r`  | array | 二维数字数组 |
| `rm` | array | 一维数字数组 |

返回：array

### 示例

范例01：调用函数

```tsl
r := array((1, 2), (3, 4), (6, 7), (8, 9), (3, 7), (8, 9), (3, 6), (8, 6), (7, 4), (6, 2));
rm := array(1, 2, 3, 4, 5, 6, 7, 8, 3, 10);
return stockBetaAlphaMatix(`r, rm);
```

## `stockVAREj(n, m, r, alpha, beta, rm)`

声明：function

计算投资组合中各品种的残差

<!-- tags: 金融 金融工程 投资组合 SIM 计算 求解 -->

| 参数    | 类型    | 说明                                                |
| ------- | ------- | --------------------------------------------------- |
| `n`     | integer | 整数，投资品种个数                                  |
| `m`     | integer | 整数，观察到的数据点个数                            |
| `r`     | array   | 二维数字数组，`R[j][t]`第j个股票在第t个观察点的数值 |
| `alpha` | array   | 一维数字数组，投资组合的Alpha系数                   |
| `beta`  | array   | 一维数字数组，投资组合的Beta系数                    |
| `rm`    | array   | 一维数字数组，指数在第t个观察点的数值               |

返回：array

### 示例

范例01：调用函数

```tsl
n := 10;
m := 2;
r := array((1, 2), (3, 4), (6, 7), (8, 9), (3, 7), (8, 9), (3, 6), (8, 6), (7, 4), (6, 2));
alpha := array(1, 7, 9, 4, 5, 6, 7, 8, 3, 10);
beta := array(1, 9, 3, 5, 5, 6, 7, 8, 3, 15);
rm := array(1, 4);
return stockVarEj(n, m, r, alpha, beta, rm);
```
