feat(tsl-api-reference): expand API and module coverage

This commit is contained in:
csh
2026-08-14 17:12:55 +08:00
parent 8f1056130d
commit 3d3036ebe1
571 changed files with 47842 additions and 14458 deletions
@@ -101,30 +101,32 @@ setSysParam(PN_Cycle(), cy_1m());
return indexCapitalFlowData("SH000300", 20230403T, 20230403T);
```
## `indexnhvixqk2(begt, endt)`
## `indexnhvixqk2(beg_t, end_t)`
声明:function
获取区间南华指数波动率
返回系统证券在指定区间内的 5 日、20 日、60 日和 120 日南华指数波动率序列。
<!-- tags: 金融 行情 区间 获取 查询 -->
<!-- tags: 金融 行情 区间 南华指数 波动率 5日 20日 60日 120日 序列 -->
| 参数 | 类型 | 说明 |
| ------ | ---- | ------ |
| `begt` | date | 开始日 |
| `endt` | date | 截止日 |
| 参数 | 类型 | 说明 |
| ------- | ---- | ------ |
| `beg_t` | date | 开始日 |
| `end_t` | date | 截止日 |
返回:real
返回:table_array
依赖系统参数:`pn_stock()`
### 示例
范例01调用函
范例01获取 NHECI 在 2020-09-01 至 2020-09-28 的波动率记录
```tsl
// 获取"NHECI"南华能化指数20200901到20200928的波动率。
setSysParam(pn_stock(), "NHECI");
return indexnhvixqk2(20200901T, 20200928T);
执行结果:
setSysParam(pn_stock(), 'NHECI');
ret := indexnhvixqk2(20200901T, 20200928T);
return length(ret);
// 输出:20
```
## `indexPjCj(begttime, endttime, price_type)`
@@ -182,88 +184,90 @@ return marketTradeDayQk(beg_t, end_t);
Ctrl + D =
```
## `marketTradedayQK3(begt, endt)`
## `marketTradedayQK3(beg_t, end_t)`
声明:function
获取市场交易日序列(包括历史和未来预估的)
返回系统市场指数在指定区间内的交易日序列包括历史交易日和未来预估交易日。
<!-- tags: 金融 行情 区间 获取 查询 -->
<!-- tags: 金融 行情 区间 交易日 交易日历 历史交易日 未来预估 系统证券 -->
| 参数 | 类型 | 说明 |
| ------- | ---- | ------------- |
| `begt` | date | date 开始日 |
| `endt` | date | date 截止日 |
| 参数 | 类型 | 说明 |
| ------- | ---- | ------ |
| `beg_t` | date | 开始日 |
| `end_t` | date | 截止日 |
返回:array
依赖系统参数:`pn_stock()``pn_cycle()`
### 示例
范例01:取得期货指数在20250701-20250730的交易日序列,执行日期为20250630
范例01:取得期货指数在 2025-07-012025-07-30 的交易日数量
```tsl
// 取得期货指数在20250701-20250730的交易日序列,执行日期为20250630
SetSysParam(PN_Stock(), "QI000001");
SetSysParam(pn_cycle(), cy_day());
return MarketTradedayQK3(20250701t, 20250730t);
setSysParam(pn_stock(), 'QI000001');
setSysParam(pn_cycle(), cy_day());
ret := marketTradedayQK3(20250701T, 20250730T);
return length(ret);
// 输出:22
```
## `markettradedayqk5(begt, endt)`
## `markettradedayqk5(beg_t, end_t)`
声明:function
返回A股市场、港股市场、沪深港通板块获取市场交易日序列。该函数仅从交易日历表获得市场交易日。系统参数:市场指数代码
根据系统市场指数从交易日历表返回 A 股、港股或沪深港通市场交易日序列。
<!-- tags: 金融 行情 区间 返回 获取 -->
<!-- tags: 金融 行情 区间 交易日 交易日历 A股 港股 沪深港通 系统证券 -->
| 参数 | 类型 | 说明 |
| ------ | ---- | ------------- |
| `begt` | date | date,开始日 |
| `endt` | date | ,截止日 |
| 参数 | 类型 | 说明 |
| ------- | ---- | ------ |
| `beg_t` | date | 开始日 |
| `end_t` | date | 截止日 |
返回:array
依赖系统参数:`pn_stock()`
### 示例
范例01调用函数
范例01取得港股市场在 2025-07-01 至 2025-07-30 的交易日数量
```tsl
// 取得港股市场在20250701-20250730的交易日序列,执行日期为20250630
setSysParam(PN_Stock(), "HKHSI001");
return markettradedayqk5(20250701t, 20250730t);
ctrl+d
setSysParam(pn_stock(), 'HKHSI001');
ret := markettradedayqk5(20250701T, 20250730T);
return length(ret);
// 输出:21
```
## `marketTradeDayQkOfStks(beg_t, end_t, stks)`
声明:function
返回市场区间交易情况
返回多只证券在指定区间内的市场交易情况表。
<!-- tags: 金融 行情 区间 返回 获取 -->
<!-- tags: 金融 行情 区间 多证券 交易情况 交易日 表格 股票 期货 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | ------------------ |
| `beg_t` | t_date_time | 日期类型,开始日期 |
| `end_t` | t_date_time | 日期类型,截止日期 |
| `stks` | table | 数组,证券列表 |
| 参数 | 类型 | 说明 |
| ------- | ---------- | ------------ |
| `beg_t` | t_datetime | 开始日期 |
| `end_t` | t_datetime | 截止日期 |
| `stks` | array | 证券代码数组 |
返回:table
### 示例
范例01调用函
范例01返回万科 A 与 IF1109 在 2011-09-05 至 2011-09-09 的交易情况行
```tsl
// 返回SZ000002(万科A)、IF1109从20110905到20110909的的市场区间交易情况
beg_t := intToDate(20110905);
end_t := intToDate(20110909);
stks := array('SZ000002', 'IF1109');
return marketTradeDayQkOfStks(beg_t, end_t, stks);
ctrl + D
stocks := array('SZ000002', 'IF1109');
ret := marketTradeDayQkOfStks(beg_t, end_t, stocks);
return length(ret);
// 输出:5
```
## `marketTradeDays(beg_t, end_t)`
@@ -322,6 +326,37 @@ return marketTradeDays2(beg_t, end_t);
// 输出:24
```
## `mqKsplit_resampling(begt, endt, cy, if_name, type)`
声明:function
按指定周期将市场交易日区间重新采样并分割为多个子区间
<!-- tags: 金融 行情 交易日 区间 分割 重采样 周期 resampling split -->
| 参数 | 类型 | 说明 |
| --------- | ----------- | ------------------------------------ |
| `begt` | t_date_time | 开始日期 |
| `endt` | t_date_time | 截止日期 |
| `cy` | string | 采样周期 |
| `if_name` | boolean | 可选。是否为区间生成名称,默认 false |
| `type` | integer | 可选。区间边界方式,默认 0,取值见下 |
type 取值
- `0` — 取包含指定起止日期的最小区间
- `1` — 取位于指定起止日期内的最大区间
返回:array
### 示例
范例01:按年度分割市场交易日区间
```tsl
return mqKsplit_resampling(20100101T, 20110101T, cy_year());
```
## `mqKsplit_stepN(endt, n, cy, option, m, is_complete)`
声明:function
@@ -1025,10 +1060,10 @@ return stockHsl(beg_t, end_t);
<!-- tags: 金融 行情 区间 返回 获取 -->
| 参数 | 类型 | 说明 |
| ---------- | ----------- | ---------------------- |
| `begtime` | t_date_time | 日期时间类型,开始时间 |
| `endtime` | t_date_time | 日期时间类型,截止时间 |
| 参数 | 类型 | 说明 |
| --------- | ----------- | ---------------------- |
| `begtime` | t_date_time | 日期时间类型,开始时间 |
| `endtime` | t_date_time | 日期时间类型,截止时间 |
返回:real
@@ -1101,6 +1136,31 @@ return stockLow(beg_t, end_t);
// 输出:7.95
```
## `stockLowAmount(beg_t, end_t)`
声明:function
返回指定区间内每日成交金额的最小值,与系统参数中的证券代码相关
<!-- tags: 金融 行情 区间 最低成交金额 成交额 minimum turnover amount -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | -------- |
| `beg_t` | t_date_time | 开始日期 |
| `end_t` | t_date_time | 截止日期 |
返回:real
### 示例
范例01:查询万科 A 在指定区间内的最低成交金额
```tsl
setSysParam(pn_stock(), "SZ000002");
return stockLowAmount(20110905T, 20110909T);
// 输出:145404758.24
```
## `stockLowClose(beg_t, end_t)`
声明:function
@@ -1271,30 +1331,32 @@ return stockMaxDrawDown(20210501T, 20210915T);
// 输出:-32.5
```
## `stockMaxDrawDown2(beg_t, end_t)`
## `stockMaxDrawDown2(n)`
声明:function
返回指定证券区间最大回撤幅度,与系统参数(证券代码)相关
返回系统证券截至系统日期最近 `n` 个交易日的最大回撤幅度。
<!-- tags: 金融 行情 区间 返回 获取 -->
<!-- tags: 金融 行情 风险 最大回撤 最近N日 滚动窗口 系统证券 系统日期 -->
| 参数 | 类型 | 说明 |
| ------- | ---- | ------------------ |
| `beg_t` | date | 日期类型,开始时间 |
| `end_t` | date | 日期类型,截止时间 |
| 参数 | 类型 | 说明 |
| ---- | ------- | ---------------- |
| `n` | integer | 最近交易日的数量 |
返回:real
依赖系统参数:`pn_stock()``pn_date()``pn_cycle()`
### 示例
范例01调用函数
范例01计算紫金矿业截至 2021-11-23 最近 250 个交易日的最大回撤
```tsl
// 返回紫金矿业在区间2019-06-24至2021-11-23的最大回撤幅度
setSysParam(pn_stock(), 'SH601899');
return stockMaxDrawDown2(20190624T, 20211123T);
// 输出:-36.02
setSysParam(pn_date(), 20211123T);
setSysParam(pn_cycle(), cy_day());
return stockMaxDrawDown2(250);
// 输出:-36.021873
```
## `stockMaxDrawDownDatas(beg_t, end_t)`
@@ -1729,29 +1791,31 @@ return stockSectionalSellAmount(beg_t, end_t);
声明:function
返回区间交易情况
返回系统证券在指定区间内的交易情况表。
<!-- tags: 金融 行情 区间 返回 获取 -->
<!-- tags: 金融 行情 区间 证券 交易情况 交易日 表格 系统证券 系统周期 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | ------------------ |
| `beg_t` | t_date_time | 日期类型,开始日期 |
| `end_t` | t_date_time | 日期类型,截止日期 |
| 参数 | 类型 | 说明 |
| ------- | ---------- | -------- |
| `beg_t` | t_datetime | 开始日期 |
| `end_t` | t_datetime | 截止日期 |
返回:table_array
依赖系统参数:`pn_stock()``pn_cycle()`
### 示例
范例01调用函
范例01返回万科 A 在 2011-08-20 至 2011-09-01 的交易情况行
```tsl
// 返回SZ000002(万科A)从20110820到20110901的区间交易情况
setSysParam(PN_Stock(), 'SZ000002');
setSysParam(PN_Cycle(), cy_day());
setSysParam(pn_stock(), 'SZ000002');
setSysParam(pn_cycle(), cy_day());
beg_t := intToDate(20110820);
end_t := intToDate(20110901);
return stockTradeDayQk(beg_t, end_t);
ctrl+D
ret := stockTradeDayQk(beg_t, end_t);
return length(ret);
// 输出:9
```
## `stockTradeDays(beg_t, end_t)`
@@ -1927,10 +1991,10 @@ return stockZdf(beg_t, end_t);
<!-- tags: 金融 行情 区间 返回 获取 -->
| 参数 | 类型 | 说明 |
| ---------- | ----------- | ---------------------- |
| `begtime` | t_date_time | 日期时间类型,开始时间 |
| `endtime` | t_date_time | 日期时间类型,截止时间 |
| 参数 | 类型 | 说明 |
| --------- | ----------- | ---------------------- |
| `begtime` | t_date_time | 日期时间类型,开始时间 |
| `endtime` | t_date_time | 日期时间类型,截止时间 |
返回:real