# 金融 / 金融工程 / 投资组合 / SIM ## `simBasicData(stock_arr, beg_t, end_t)` 声明:function 返回SIM方法计算时,一些相关基本数据的计算并设置相关自定义系统变量,比如:投资品种,投资品种的期望率,各投资品种的残差,各投资品种的Beta系数,各投资品种的Alpha系数,投资品种的标准差,指数的方差 | 参数 | 类型 | 说明 | | ----------- | ----------- | ----------------------- | | `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系数 \* 比例) | 参数 | 类型 | 说明 | | ---- | ----- | ------------------------------- | | `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系数\*比例) | 参数 | 类型 | 说明 | | ---- | ----- | -------------------------------- | | `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) | 参数 | 类型 | 说明 | | ---- | ----- | -------------------------------- | | `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方法目标函数计算<方差> | 参数 | 类型 | 说明 | | ---- | ----- | -------------------------------- | | `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以及相关系数 | 参数 | 类型 | 说明 | | ---- | ----- | ------------ | | `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 计算投资组合中各品种的残差 | 参数 | 类型 | 说明 | | ------- | ------- | --------------------------------------------------- | | `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); ```