# 板块 / 基本情况

## `Bk_ListAAndH(end_t)`

返回板块同时发行A、H股公司数，当前板块通过setsysparam(pn_bk(),bkname)进行设置，其中bkname为当前板块名称。

| 参数    | 类型     | 说明           |
| ------- | -------- | -------------- |
| `end_t` | datetime | 日期，截止日期 |

返回：string

## `getFCompany()`

金融类公司列表。

返回：array

## `stocksACount(stock_arr, end_t)`

返回指定日已上市的A股个数.

| 参数        | 类型     | 说明                     |
| ----------- | -------- | ------------------------ |
| `stock_arr` | array    | 一维字符串数组，股票列表 |
| `end_t`     | datetime | 日期，统计截止日期       |

返回：int

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

板块总股本和(万)

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

返回：Real

### 示例

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

## `stocksListQk(stock_arr, beg, end_t)`

区间上市的股票列表

| 参数        | 类型             | 说明 |
| ----------- | ---------------- | ---- |
| `stock_arr` | Array,TableArray |      |
| `beg`       | DateTimeT        |      |
| `end_t`     | DateTime         |      |

返回：Array,TableArray

### 示例

```tsl
//返回沪深300在在20100918至20180918区间上市的股票列表
end_t := intToDate(20180918);
stock_arr := getBkByDate('SH000300',end_t);
return stocksListQk(stock_arr,20100918T,end_t);
结果：
SH601933
SH601377
SZ002500
SH601018
SZ002594
SH601901
SH601336
SH601555
SH601669
```

## `stocksCount(bk_name, end_t)`

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

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

返回：Int

### 示例

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

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

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

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

返回：Array

### 示例

```tsl
//返回20180101日至20180919日A股上市股票列表
stock_arr := getBk('A股');
return stocksIssuedQk(stock_arr,20180101T,20180919T);
结果：
SH600901
SH600929
SH601066
SH601068
SH601138
SH601162
SH601330
SH601577
SH601606
```

## `stocksIssuePrice(stock_arr, s_type)`

股票列表StockArr平均发行价格.

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

返回：Real

### 示例

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

## `stocksHasDeclareReport(stock_arr, report_date)`

已公布报表的公司.

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

返回：无

### 示例

```tsl
//返回A股2018中报已发布公司
stock_arr := getBk('A股');
stocksHasDeclareReport(stock_arr,20180630);
return stock_arr;
结果：
SH600000
SH600004
SH600006
SH600007
SH600008
SH600009
SH600010
SH600011
SH600012
```

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

指定日已上市公司.

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

返回：Array

### 示例

```tsl
//返回A股20150203日已上市的公司
stock_arr := getBk('A股');
return stocksHasGoMarket(stock_arr,20150203T,0);
结果：
```

## `getAbkbyEndT(bk_name, endt)`

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

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

返回：Array

### 示例

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

## `getAbkbyDate(bk_name, endt)`

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

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

返回：Array

### 示例

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

## `getFundsByDate(index_id, endt)`

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

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

返回：real

### 示例

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

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

返回begT到endt之间上市的基金个数.

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

返回：Int

### 示例

```tsl
stock_arr := array('SZ184691','SH500003');
beg_t := 19971019T;
end_t := 20021019T;
return stocksJjCount(stock_arr,beg_t,end_t);
//结果：2
```

## `marketList()`

返回市场常用列表，仅包括深证A股、深证B股、深证基金、上证A股、上证B股、上证基金。如果需要获得其他目录下的板块列表，请使用函数GetBKList，使用方法参见该函数的函数说明。

返回：Array

### 示例

```tsl
//返回市场列表
return marketList();
结果：
0
深证A股
1
深证B股
2
深证基金
3
上证A股
4
上证B股
5
上证基金
```

## `stocksGoMarketCount(stock_arr, end_t)`

指定区间内发行的股票个数.函数使用发行起始日进行判断，获取发行起始日在begt到endt之间的股票个数

| 参数        | 类型     | 说明                     |
| ----------- | -------- | ------------------------ |
| `stock_arr` | Array    | 一维字符串数组，股票列表 |
| `end_t`     | DateTime | 日期，统计截止日期       |

返回：Int

### 示例

```tsl
//返回20180101日至20180919日A股发行的股票个数
stock_arr := getBk('A股');
return stocksGoMarketCount(stock_arr,20180101T,20180919T);
//结果：63
```

## `getStocks()`

返回深证A股,深证B股,深证基金,上证A股,上证B股,上证基金的股票列表

返回：Array

### 示例

```tsl
//返回股票列表
return getStocks();
```

## `getAllBkList()`

得到所有的板块列表，其中包括用户板块列表

返回：Array

### 示例

```tsl
//返回所有板块列表
return getAllBkList ();
部分结果：
1000材料
1000成长
1000工业
1000公用
1000价值
1000金融
1000可选
1000能源
1000消费
1000信息
1000医药
100低波
```

## `stocksBCount(stock_arr, end_t)`

返回StockArr股票列表中，在指定日上市的B股个数。函数通过上市第一个交易日进行判断。注意，设置的周期会影响到该判断，如果是日线，则获取第一个日线日期判断，如果是分钟线，则获取第一个分钟数据进行判断。建议调用该函数时，设置周期为日线

| 参数        | 类型     | 说明                     |
| ----------- | -------- | ------------------------ |
| `stock_arr` | Array    | 一维字符串数组，股票列表 |
| `end_t`     | DateTime | 日期，统计截止日期       |

返回：Int

### 示例

```tsl
//返回上证B股20180919日上市的B股个数
stock_arr := getBk("上证B股");
return stocksBCount(stock_arr,20180919T);
//结果：50
```

## `industryNames()`

行业板块说明，新行业分类方式。

返回：any

### 示例

```tsl
return industryNames();
返回:
```

## `qfiiNames()`

证券公司目录，资料来源于中国证监会，截止日期2002年11月25日。

返回：any

### 示例

```tsl
return qfiiNames ()；
返回:
```

## `getbkEx(bk)`

getbk()扩展函数,从板块BK中选取当天在市的股票。

| 参数 | 类型   | 说明                       |
| ---- | ------ | -------------------------- |
| `bk` | String | 市场和板块，市场和板块名称 |

返回：any

### 示例

```tsl
return getbkEx('安徽');
返回:
```

## `gics4LevelIndustryNames()`

股票对应的GICS分类，天软目前没有全球行业分类数据。

返回：any

## `tradeBkExist(bk_arr, b_kname)`

判断板块列表BKArr是否包含板块Bkname，如果包含则返回1，否则返回0。

| 参数      | 类型   | 说明                     |
| --------- | ------ | ------------------------ |
| `bk_arr`  | array  | 一维字符串数组，板块列表 |
| `b_kname` | String | 字符串，板块名称         |

返回：boolean

### 示例

```tsl
bk_arr:=array('安徽','深圳');
return tradeBkExist(bk_arr,'安徽');
//返回：1
```

## `centralizationNames()`

常用行业集中度。

返回：any

### 示例

```tsl
return centralizationNames();
返回:
```

## `isValueBetweeMaxAndMin(tb, field_name, lowvalue, highvalue)`

从一张表中返回指定字段的数值在指定区间段内的个数。

| 参数         | 类型   | 说明             |
| ------------ | ------ | ---------------- |
| `tb`         | array  | 一维数字数组     |
| `field_name` | String | 字符串，字段名称 |
| `lowvalue`   | real   | 实数，区间低值   |
| `highvalue`  | real   | 实数，区间高值   |

返回：integer

### 示例

```tsl
t:=select * from tradetable datekey 20180801T to 20180802T of 'sz000001' end ;
return isValueBetweeMaxAndMin(t,'close',0,5);
//返回：54 ，即平安银行在2018年8月1号成交明细中有54条成交记录的收盘价在0-5之间。
```

## `qynjNames()`

企业年金名录，仅显示范例结果

返回：any

### 示例

```tsl
return qynjNames();
返回:
```

## `qsNames()`

证券公司名录，截止至2002/10/25中国证券网公布数据。该函数仅为样例。

返回：any

### 示例

```tsl
return qsNames();
返回:
```

## `stocksListOnly(stock_arr, end_t, _type)`

指定日仅发行指定股票类型个数.

| 参数        | 类型     | 说明                     |
| ----------- | -------- | ------------------------ |
| `stock_arr` | Array    | 一维字符串数组，股票列表 |
| `end_t`     | DateTime | 日期，统计截止日期       |
| `_type`     | Int      | 用户自定义，发行类型     |

返回：Int

### 示例

```tsl
//返回A股20180831日上市的仅发行A股个数
stock_arr := getBk("A股");
return stocksListOnly(stock_arr,20180831T,0);
//结果：3351
```

## `lostAstocksInBk()`

”终止上市;暂停上市”板块中股票的所属板块，模型开发的中间函数。有做缓存处理。

返回：Table

### 示例

```tsl
//
返回'SZ000003'的退市日
return lostAstocksInBk();
//返回（部分结果展示）
StockID
所属板块
SH600001
上证A股
SH600002
上证A股
SH600003
上证A股
SH600005
上证A股
SH600065
上证A股
SH600069
上证A股
SH600074
上证A股
SH600087
上证A股
SH600092
上证A股
SH600102
上证A股
SH600175
上证A股
……
```

## `getbkIndexIDs()`

获取AB股板块及编码对照表

返回：array

### 示例

```tsl
return getbkIndexIDs();
```
