feat(tsl-api): add parameter value domain lookup

This commit is contained in:
csh
2026-08-22 14:15:54 +08:00
parent 476f999139
commit b101b13bba
17 changed files with 2551 additions and 400 deletions
@@ -0,0 +1,160 @@
# 数据仓库 / 市场和板块函数
## `getBk(marketlist)`
声明:function
得到指定市场板块列表包含的最新成分。普通市场板块返回股票代码;行业或分类目录可能返回
行业名称、板块名称或分类属性代码,不是指数代码。板块或行业名称必须与板块管理中的名称
一致;需要指定历史日期时使用 `getBkByDate`
<!-- tags: 数据仓库 市场 板块 股票 成分 分类属性代码 SWHY CAPCHY CSRCHY YHFL TSJJ02 TSJJ03 最新 获取 -->
| 参数 | 类型 | 说明 |
| ------------ | ------ | ---------------------------------------- |
| `marketlist` | string | 市场板块列表,多个市场板块之间用分号分隔 |
返回:array of string
### 示例
范例01:获取多个市场板块的当前成分
```tsl
stocks := getBk('上证A股;创业板');
return stocks;
```
范例02:获取申万行业分类属性代码目录
```tsl
codes := getBk("申万行业");
return select * from infotable 138 of codes end;
```
`getBk("申万行业")` 返回的分类属性代码可作为股票行业分类信息表(表 138)的访问代码。
具体板块名称应先从板块管理或 `getBkList` 返回结果确认
范例03:获取股票和基金的全部分类属性代码
```tsl
codes := getBk('属性代码');
stock_classes := select * from infotable 138 of codes end;
fund_classes := select * from infotable 355 of codes end;
return stock_classes union fund_classes;
```
## `getUserBkList([bktype])`
声明:function
得到所有的或指定板块类别下的用户板块名称。`bktype` 省略时返回全部用户板块;指定时可
使用地域或行业目录,也可以用反斜杠分隔多级目录
<!-- tags: 数据仓库 市场 板块 用户板块 列表 获取 -->
| 参数 | 类型 | 说明 |
| -------- | ------ | -------------------------------------------------------- |
| `bktype` | string | 可选。板块类别或目录路径,例如 `地域``行业` 或多级目录 |
返回:array of string
### 示例
范例01:获取全部用户板块名称
```tsl
my_sectors := getUserBkList();
return my_sectors;
```
范例02:获取用户板块的指定子目录
```tsl
my_sectors := getUserBkList("申万行业\\申万金融业");
return my_sectors;
```
## `getBkList(Type)`
声明:function
得到所有的或指定系统板块类别下的板块名称列表。`Type` 是板块类别或具体板块目录名称;
官方定义同时说明省略该参数时返回全部板块
<!-- tags: 数据仓库 市场 板块 系统板块 行业分类 分类目录 列表 获取 -->
| 参数 | 类型 | 说明 |
| ------ | ------ | ----------------------------------- |
| `Type` | string | 板块类别或目录名称,例如 `申万行业` |
返回:array of string
### 示例
范例01:获取申万行业列表
```tsl
bk_list := getBkList('申万行业');
return bk_list;
```
范例02:获取申万行业的子目录列表
```tsl
bk_list2 := getBkList('申万行业\\申万采掘');
return bk_list2;
```
## `getUserBkList2([bktype])`
声明:function
得到所有的或指定板块类别下用户板块的名称及其所在路径。与 `getUserBkList` 不同,
该函数会包含指定目录及其子目录下的用户板块
<!-- tags: 数据仓库 市场 板块 用户板块 路径 列表 获取 -->
| 参数 | 类型 | 说明 |
| -------- | ------ | ---------------------------------------------- |
| `bktype` | string | 可选。板块类别或目录路径,多级目录用反斜杠分隔 |
返回:table_array
### 示例
范例01:获取申万行业目录下的用户板块及所属组别
```tsl
my_sectors := getUserBkList2("申万行业");
return my_sectors;
```
## `getBkList2([bktype])`
声明:function
得到所有的或指定系统板块类别下的板块名称及其所在路径。与 `getBkList` 不同,该函数会
包含指定目录及其子目录下的系统板块
<!-- tags: 数据仓库 市场 板块 系统板块 路径 列表 获取 -->
| 参数 | 类型 | 说明 |
| -------- | ------ | ------------------------------------- |
| `bktype` | string | 可选。板块类别或目录名称,例如 `行业` |
返回:table_array
### 示例
范例01:获取全部系统板块及其路径
```tsl
return getBkList2();
```
范例02:获取系统申万行业板块及其路径
```tsl
return getBkList2('申万行业');
```
@@ -67,13 +67,15 @@ return GetBKBacktrackByDate("SWHY740000", 20140805T);
声明:function
获取指数历史指定日的成份股列表。与GetBK不同,该函数需要的第一个参数是指数代码,获取该指数的指定日的成分股,比如沪深300定期调整,在不同时间获取的成分股将不同。 新增功能,当ExType=1时指数成分中取不到成分时,则从权重表中获取
获取指数或分类属性在指定日的成份股列表。与getBk不同,该函数需要日期参数;普通指数使用
指数代码,行业或基金分类使用分类属性代码。新增功能,当ExType=1时指数成分中取不到成分时,
则从权重表中获取
<!-- tags: 金融 指数 指数情况 获取 查询 -->
<!-- tags: 金融 指数 指数情况 历史成份股 分类属性代码 下级分类 SWHY CAPCHY CSRCHY YHFL TSJJ02 TSJJ03 TSI000001 TSI000002 TSI000003 TSI000004 TSI000005 TSI000006 TSI000007 TSI000008 TSI000009 获取 查询 -->
| 参数 | 类型 | 说明 |
| ---------- | -------- | ------------------------------------------------------------------------------------- |
| `index_id` | string | 指数代码 |
| `index_id` | string | 指数代码、分类属性代码或 TSI 市场板块代码 |
| `end_t` | datetime | 截止日 |
| `extype` | int | 整型,是否扩展,默认不扩展;0:不扩展;1:扩展取数(指数成分表无数据时,从权重表中获取) |
@@ -95,6 +97,37 @@ Return GetBkByDate('SH000300', inttodate(20120908));
return GetBKByDate("SZ399102", 20201201T, 1); // 取权重中的成份股替代
```
范例03:取指定日申万分类的下级属性代码
```tsl
return GetBKByDate("SWHY.N", 20210423T, 0);
```
范例04:取指定日申万分类的成份股
```tsl
return GetBKByDate("SWHY740000", 20220101T, 0);
```
范例05:取指定日 A 股市场板块的成份股
```tsl
return GetBKByDate("TSI000001", 20230810T, 0);
```
范例06:取指定日投资风格分类下的基金
```tsl
return GetBKByDate("TSJJ0201", 20220101T, 0);
```
`index_id` 使用分类属性代码时,代码末尾的 `.N` 表示返回该分类节点在指定日的下级
分类属性代码;不带 `.N` 时返回该分类节点的成份券。常用根分类包括股票的 `SWHY`
`CAPCHY``CSRCHY`,以及基金的 `YHFL``TSJJ02``TSJJ03`。分类目录信息和分类归属
信息分别见股票表 138、139 及基金表 355、356;不能把分类属性代码当作个券代码传给归属表。
级数为 0 的根代码本身没有成份券;要先用根代码加 `.N` 取得一级分类代码。`CSRCHY`
自 2024-02-19 起不再维护,此后使用 `CAPCHY`
## `getBkByIndexName(index_name, end_t)`
声明:function
@@ -100,7 +100,7 @@ return isValueBetweeMaxAndMin(t, 'close', 0, 5);
声明:function
返回市场常用列表,仅包括深证A股、深证B股、深证基金、上证A股、上证B股、上证基金。如果需要获得其他目录下的板块列表,请使用函数GetBKList,使用方法参见该函数的函数说明
返回市场常用列表,仅包括深证A股、深证B股、深证基金、上证A股、上证B股、上证基金。如果需要获得其他目录下的板块列表,请使用函数getBkList,使用方法参见该函数的函数说明
<!-- tags: 金融 板块 基本情况 其它 返回 获取 -->
@@ -146,7 +146,7 @@ Return GetHyDyFlDetails('行业');
声明:function
获取行业/地域/分类的列表,用于替代GetBKList
获取行业/地域/分类的列表,用于替代getBkList
<!-- tags: 金融 股票 行业 获取 查询 -->
@@ -168,7 +168,7 @@ Return GetHyDyFlList('行业');
声明:function
获取行业的股票。取代GetBK,比其更精确
获取行业的股票。取代getBk,比其更精确
<!-- tags: 金融 股票 行业 获取 查询 -->