# 金融 / 金融工程 / 指数研究 / 股票指数

## `bkAndIndexKLine(stock_arr, bk_name, index_name, base_value, beg_t, end_t, rate_type, bonus_infection, new_stock_to_index, show_cyle_name, show_type)`

声明：function

返回板块K线和指数K线迭加,板块指数与大盘指数迭加

<!-- tags: 金融 金融工程 指数研究 股票指数 查找 搜索 lookup 返回 获取 -->

| 参数                 | 类型        | 说明                                      |
| -------------------- | ----------- | ----------------------------------------- |
| `stock_arr`          | array       | 一维字符串数组，股票列表                  |
| `bk_name`            | string      | 字符串，板块名称                          |
| `index_name`         | string      | 字符串，指数代码                          |
| `base_value`         | real        | 实数，基准值                              |
| `beg_t`              | t_date_time | 日期型时间，开始日期                      |
| `end_t`              | t_date_time | 日期型时间，截止日期                      |
| `rate_type`          | integer     | 用户自定义，组合比例确定方法，含义如下表: |
| `bonus_infection`    | boolean     | 布尔类型，是否红利影响指数运算            |
| `new_stock_to_index` | integer     | 整数，新股上市计入指数日                  |
| `show_cyle_name`     | string      | 字符串，周期                              |
| `show_type`          | integer     | 用户自定义，返回类型，含义如下表:         |

返回：table_array

### 示例

范例01：调用函数

```tsl
return bkAndIndexKLine(
    array("SH600718", "SZ000002"),
    "上证A股",
    "SH600718",
    1000,
    intToDate(20020618),
    intToDate(20020926),
    0, true, 2, CY_day(), 1);
```

## `bkVsBkKLine_tab(bk_name_2, base_value, beg_t, end_t, rate_type, bonus_infection, new_stock_to_index, show_cycle_name)`

声明：function

返回板块K线和板块K线迭加

<!-- tags: 金融 金融工程 指数研究 股票指数 查找 搜索 lookup 返回 获取 -->

| 参数                 | 类型     | 说明                                      |
| -------------------- | -------- | ----------------------------------------- |
| `bk_name_2`          | string   | 字符串，板块名称                          |
| `base_value`         | float    | 实数，基准值                              |
| `beg_t`              | datetime | 日期型时间，开始日期                      |
| `end_t`              | datetime | 日期型时间，截止日期                      |
| `rate_type`          | integer  | 用户自定义，组合比例确定方法，含义如下表: |
| `bonus_infection`    | bool     | 布尔类型，是否红利影响指数运算            |
| `new_stock_to_index` | integer  | 整数，新股上市计入指数日                  |
| `show_cycle_name`    | string   | 周期函数，图形显示周期                    |

返回：table_array

### 示例

范例01：调用 BkVsBkKLine_tab

```tsl
setSysParam(pn_bk(), '上证A股');
ret := bkVsBkKLine_tab('沪深300', 1000, 20230101T, 20231231T, 0, true, 2, cy_day());
return length(ret);
// 输出：242
```

## `bkVsIndexKLine_tab(index_name, base_value, beg_t, end_t, rate_type, bonus_infection, new_stock_to_index, show_cycle_name)`

声明：function

返回板块K线和指数K线迭加,与当前系统板块有关

<!-- tags: 金融 金融工程 指数研究 股票指数 查找 搜索 lookup 返回 获取 -->

| 参数                 | 类型     | 说明                                      |
| -------------------- | -------- | ----------------------------------------- |
| `index_name`         | string   | 字符串，指数代码                          |
| `base_value`         | float    | 实数，基准值                              |
| `beg_t`              | datetime | 日期型时间，开始日期                      |
| `end_t`              | datetime | 日期型时间，截止日期                      |
| `rate_type`          | integer  | 用户自定义，组合比例确定方法，含义如下表: |
| `bonus_infection`    | bool     | 布尔类型，是否红利影响指数运算            |
| `new_stock_to_index` | integer  | 整数，新股上市计入指数日                  |
| `show_cycle_name`    | string   | 周期函数，图形显示周期                    |

返回：table_array

### 示例

范例01：调用 BkVsIndexKLine_tab

```tsl
SetSysParam(pn_bk(), '深证A股');
Return BkVsIndexKLine_tab("SH000001", 1000, inttodate(20120618),
    inttodate(20120926), 1, true, 2, cy_day());
```

## `calculateStockIndex(stock_arr, base_value, beg_t, end_t, rate_type, bonus_infection, new_stock_to_index, return_method)`

声明：function

返回股票指数计算

<!-- tags: 金融 金融工程 指数研究 股票指数 查找 搜索 lookup 返回 获取 -->

| 参数                 | 类型        | 说明                                      |
| -------------------- | ----------- | ----------------------------------------- |
| `stock_arr`          | array       | 一维字符串数组，股票列表                  |
| `base_value`         | real        | 实数，基准值                              |
| `beg_t`              | t_date_time | 日期型时间，开始日期                      |
| `end_t`              | t_date_time | 日期型时间，截止日期                      |
| `rate_type`          | integer     | 用户自定义，组合比例确定方法，含义如下表: |
| `bonus_infection`    | boolean     | 布尔类型，是否红利影响指数运算            |
| `new_stock_to_index` | integer     | 整数，新股上市计入指数日                  |
| `return_method`      | integer     | 用户自定义，返回类型，含义如下表:         |

返回：table_array

### 示例

范例01：调用函数

```tsl
return calculateStockIndex(
    array("SZ000920", "SH600718"),
    1000, intToDate(20120618),
    intToDate(20120926), 0, false, 2, 0);
```

## `checkInPutData_up(t)`

声明：function

返回自定义权重字段完整性检查

<!-- tags: 金融 金融工程 指数研究 股票指数 查找 搜索 lookup 返回 获取 -->

| 参数 | 类型        | 说明   |
| ---- | ----------- | ------ |
| `t`  | table_array | 数据表 |

返回：true

### 示例

范例01：检查数据表t是否含有’代码’,’比例(%)’字段 //结果：1

```tsl
t := array(('代码':'SZ000002', '比例(%)':20), ('代码':'SZ000001', '比例(%)':40));
return CheckInPutData_UP(t);
// 检查数据表t是否含有'代码','比例(%)'字段 //结果：1
```

## `fhspTable(bonus_infection)`

声明：function

返回股票的分红送配&股本变更，与当前股票有关

<!-- tags: 金融 金融工程 指数研究 股票指数 查找 搜索 lookup 返回 获取 -->

| 参数              | 类型    | 说明                           |
| ----------------- | ------- | ------------------------------ |
| `bonus_infection` | boolean | 布尔类型，是否红利影响指数运算 |

返回：table_array

### 示例

范例01：调用函数

```tsl
setSysParam(PN_Stock(), 'SZ000002');
return fhspTable(true);
```

## `fhspTableOfLido(bonus_infection)`

声明：function

返回股票的分红送配&股本变更，与当前股票有关，来源于利多数据库

<!-- tags: 金融 金融工程 指数研究 股票指数 查找 搜索 lookup 返回 获取 -->

| 参数              | 类型    | 说明                           |
| ----------------- | ------- | ------------------------------ |
| `bonus_infection` | boolean | 布尔类型，是否红利影响指数运算 |

返回：table_array

### 示例

范例01：调用函数

```tsl
setSysParam(PN_Stock(), 'SZ000002');
return fhspTableOfLido (true);
```

## `fhspTableOfTinysoft(bonus_infection)`

声明：function

返回股票的分红送配&股本变更，与当前股票有关，来源于天软数据库

<!-- tags: 金融 金融工程 指数研究 股票指数 查找 搜索 lookup 返回 获取 -->

| 参数              | 类型    | 说明                           |
| ----------------- | ------- | ------------------------------ |
| `bonus_infection` | boolean | 布尔类型，是否红利影响指数运算 |

返回：table_array

### 示例

范例01：调用函数

```tsl
setSysParam(PN_Stock(), 'SZ000002');
return fhspTableOfTinysoft (true);
```

## `getInputStocks_up(t)`

声明：function

检查代码字段中的股票代码并返回合法记录，遇到非法股票时报告错误

<!-- tags: 金融 金融工程 指数研究 股票指数 股票代码 校验 检查 合法股票 -->

| 参数 | 类型        | 说明                   |
| ---- | ----------- | ---------------------- |
| `t`  | table_array | 包含代码字段的股票记录 |

返回：table_array

### 示例

范例01：检查两条股票记录

```tsl
t := array(("代码":"SZ000003"), ("代码":"SZ000001"));
return getInputStocks_up(t);
```
