# 金融 / 板块 / 基本情况

## `getAbkbyDate(bk_name, endt)`

声明：function

返回通过板块中文名BKName查询指定日EndT的成分股列表(剔除暂停上市的股票)。模型支持输入多个板块名称，用半角分号分隔，如"上证A股;深证A股"

<!-- tags: 金融 板块 基本情况 返回 获取 -->

| 参数      | 类型        | 说明                |
| --------- | ----------- | ------------------- |
| `bk_name` | string      | 市场和板块,板块名称 |
| `endt`    | t_date_time | 日期,截止日期       |

返回：array

### 示例

范例01：返回’上证A股’在20190801日上市的所有股票

```tsl
return getAbkbydate('上证A股', 20190801T);
// 输出：A股主板在20190801日上市的所有股票
```

范例02：返回’上证A股’在20190801日上市的所有股票

```tsl
return getAbkbydate('上证A股;深证A股', 20190801T);
// 输出：'A股'主板在20190801日上市的所有股票
```

范例03：返回’上证A股’在20190801日上市的所有股票

```tsl
return getAbkbydate('A股', 20190801T);
// 注：目前等价于return getAbkbydate('深证A股;上证A股;中小企业板;创业板;科创板',20190801T);
// 输出：'上证A股'在20190801日上市的所有股票
```

## `getAbkbyEndT(bk_name, endt)`

声明：function

获取A股板块历史成份股。可判断板块包括：深证A股;上证A股;中小企业板;创业板;科创板等，以AllABk()中包含的板块为准

<!-- tags: 金融 板块 基本情况 获取 查询 -->

| 参数      | 类型        | 说明                                                                  |
| --------- | ----------- | --------------------------------------------------------------------- |
| `bk_name` | string      | 字符串，板块名称，多个板块用;分隔，只支持公用函数AllABk()中包含的板块 |
| `endt`    | t_date_time | 日期类型，指定日                                                      |

返回：array

### 示例

范例01：返回’上证A股’在20190801日上市的所有股票

```tsl
return GetAbkbyEndT('上证A股', 20190801T);
// 输出：A股主板在20190801日上市的所有股票
```

范例02：返回’上证A股’在20190801日上市的所有股票

```tsl
return GetAbkbyEndT('上证A股;深证A股', 20190801T);
// 输出：'A股'主板在20190801日上市的所有股票
```

范例03：返回’上证A股’在20190801日上市的所有股票

```tsl
return GetAbkbyEndT('A股', 20190801T);
// 注：目前等价于return GetAbkbyEndT('深证A股;上证A股;中小企业板;创业板;科创板',20190801T);
// 输出：'上证A股'在20190801日上市的所有股票
```

## `getBkByBegTEndT_ii(bk_name, beg_t, end_t)`

声明：function

返回区间范围内曾经在板块上市过的所有股票(含已暂停已退市)。目前只能使用以下板块：'A股','上证A股','科创板','深证A股','创业板','北证A股','B股','上证B股','深证B股'

<!-- tags: 金融 板块 基本情况 返回 获取 -->

| 参数      | 类型     | 说明             |
| --------- | -------- | ---------------- |
| `bk_name` | string   | 字符串。板块名称 |
| `beg_t`   | datetime | 日期。开始日期   |
| `end_t`   | datetime | 日期。截止日期   |

返回：array

### 示例

范例01：得到20090101至20201231期间在科创板上市过的所有A股（含已暂停已退市）

```tsl
// 得到20090101至20201231期间在科创板上市过的所有A股（含已暂停已退市）
return GetBKByBegTEndT_II('科创板', 20230101T, 20230901T);
```

## `getFundsByDate(index_id, endt)`

声明：function

获取指定标的指数的基金集合

<!-- tags: 金融 板块 基本情况 获取 查询 -->

| 参数       | 类型        | 说明          |
| ---------- | ----------- | ------------- |
| `index_id` | string      | 指数,指数代码 |
| `endt`     | t_date_time | 日期,截止日期 |

返回：real

### 示例

范例01：调用函数

```tsl
// 获取以沪深300为标的，2025年9月18号在市的基金
indexid := "SH000300";
endt := 20250918T;
return getFundsByDate(index_id, endt);
```

## `getStocksByType(stock_arr, type_id_arr)`

声明：function

返回指定类型的股票列表.，指定类型为StockType，具体如下

<!-- tags: 金融 板块 基本情况 返回 获取 -->

| 参数          | 类型  | 说明                         |
| ------------- | ----- | ---------------------------- |
| `stock_arr`   | array | 一维字符串数组，股票列表     |
| `type_id_arr` | array | 一维字符串数组，股票类型数组 |

返回：array

### 示例

范例01：调用函数

```tsl
// 返回沪深300股票股票类型为1的股票
end_t := intToDate(20180918);
stock_arr := getBkByDate('SH000300', end_t);
return getStocksByType(stock_arr, array(1));
// 输出：
// SZ000001
// SZ000002
// SZ000060
// SZ000063
// SZ000069
// SZ000157
// SZ000402
// SZ000425
// SZ000568
```

## `stocksCount(bk_name, end_t)`

声明：function

获取指定板块在指定日EndT及之前上市的家数

<!-- tags: 金融 板块 基本情况 获取 查询 -->

| 参数      | 类型      | 说明                 |
| --------- | --------- | -------------------- |
| `bk_name` | string    | 市场和板块，板块名称 |
| `end_t`   | date_time | 日期，截止日期       |

返回：int

### 示例

范例01：调用函数

```tsl
// 返回上证A股在2018-09-18日前上市的股票个数
end_t := intToDate(20180918);
return stocksCount("上证A股", end_t);
// 输出：1434
```

## `stocksHasDeclareReport(stock_arr, report_date)`

声明：function

返回已公布报表的公司

<!-- tags: 金融 板块 基本情况 返回 获取 -->

| 参数          | 类型  | 说明                     |
| ------------- | ----- | ------------------------ |
| `stock_arr`   | array | 一维字符串数组，股票列表 |
| `report_date` | int   | 报告期                   |

返回：无

### 示例

范例01：返回A股2018中报已发布公司

```tsl
StockArr := GetBK('A股');
StocksHasDeclareReport(StockArr, 20180630);
return StockArr;
// 输出：A股2018中报已发布公司
```

## `stocksHasGoMarket(stock_arr, end_t, s_type)`

声明：function

返回指定日已上市公司

<!-- tags: 金融 板块 基本情况 返回 获取 -->

| 参数        | 类型      | 说明                     |
| ----------- | --------- | ------------------------ |
| `stock_arr` | array     | 一维字符串数组，股票列表 |
| `end_t`     | date_time | 日期，统计截止日期       |
| `s_type`    | int       | 用户自定义，股票类型     |

返回：array

### 示例

范例01：返回A股20150203日已上市的公司

```tsl
StockArr := GetBK('A股');
return StocksHasGoMarket(StockArr, 20150203T, 0);
// 输出：A股20150203日已上市的公司
```

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

声明：function

返回区间发行的股票列表，发行起始日在BegT到EndT之间的股票

<!-- tags: 金融 板块 基本情况 返回 获取 -->

| 参数        | 类型        | 说明                     |
| ----------- | ----------- | ------------------------ |
| `stock_arr` | array       | 一维字符串数组，股票列表 |
| `beg_t`     | date_time_t | 日期，开始日期           |
| `end_t`     | date_time   | 日期，截止日期           |

返回：array

### 示例

范例01：返回20180101日至20180919日A股上市股票列表

```tsl
StockArr := GetBK('A股');
return StocksIssuedQk(StockArr, 20180101T, 20180919T);
// 输出：20180101日至20180919日A股上市股票列表
```

## `stocksIssuePrice(stock_arr, s_type)`

声明：function

返回股票列表StockArr平均发行价格

<!-- tags: 金融 板块 基本情况 返回 获取 -->

| 参数        | 类型  | 说明                   |
| ----------- | ----- | ---------------------- |
| `stock_arr` | array | 数组类型，板块股票代码 |
| `s_type`    | int   | 股票类型               |

返回：real

### 示例

范例01：调用函数

```tsl
// 返回A股上市平均价
stock_arr := getBk('A股');
return stocksIssuePrice(stock_arr, 0);
// 输出：16.66
```

## `stocksNegotiableSharesPercent(stock_arr, end_t, market_name, s_type)`

声明：function

返回板块流通股本占市场总流通股本比重

<!-- tags: 金融 板块 基本情况 返回 获取 -->

| 参数          | 类型      | 说明                     |
| ------------- | --------- | ------------------------ |
| `stock_arr`   | array     | 一维字符串数组，股票列表 |
| `end_t`       | date_time | 日期，统计截止日期       |
| `market_name` | string    | 市场和板块，市场名称     |
| `s_type`      | int       | 用户自定义，股票类型     |

返回：real

### 示例

范例01：调用函数

```tsl
// 返回沪深300在2018年9月18日的市值占上证A股和深圳A股流通股股本的比例
end_t := intToDate(20180918);
stock_arr := getBkByDate('SH000300', end_t);
return stocksNegotiableSharesPercent(stock_arr, end_t, "上证A股;深证A股", 0);
// 输出：68.77
```

## `stocksTotalShares(stock_arr, end_t, s_type)`

声明：function

返回板块总股本和(万)

<!-- tags: 金融 板块 基本情况 返回 获取 -->

| 参数        | 类型      | 说明                     |
| ----------- | --------- | ------------------------ |
| `stock_arr` | array     | 一维字符串数组，股票列表 |
| `end_t`     | date_time | 日期，截止日期           |
| `s_type`    | int       | 用户自定义，股票类型     |

返回：real

### 示例

范例01：调用函数

```tsl
// 返回沪深300在2018年9月18日的市值总和
end_t := intToDate(20180918);
stock_arr := getBkByDate('SH000300', end_t);
return stocksTotalShares(stock_arr, end_t, 0);
// 368949329.52
```

## `stocksTotalSharesPercent(stock_arr, end_t, market_name, s_type)`

声明：function

返回股票列表StockArr总股本占市场板块MarketName总股本比重(%)。注意，市场板块MarketName只取最新的板块成分股统计

<!-- tags: 金融 板块 基本情况 返回 获取 -->

| 参数          | 类型      | 说明                     |
| ------------- | --------- | ------------------------ |
| `stock_arr`   | array     | 一维字符串数组，股票列表 |
| `end_t`       | date_time | 日期，截止日期           |
| `market_name` | string    | 市场和板块，市场名称     |
| `s_type`      | int       | 用户自定义，股票类型     |

返回：real

### 示例

范例01：调用函数

```tsl
// 返回沪深300在2018年9月18日的市值占上证A股和深圳A股总股本的比例
end_t := intToDate(20180918);
stock_arr := getBkByDate('SH000300', end_t);
return stocksTotalSharesPercent(stock_arr, end_t, "上证A股;深证A股", 0);
// 输出：70.68
```
