📦 deps(tsl): sync tsl-playbook from a71480a4

Source-Commit: a71480a4ae
This commit is contained in:
ci[bot]
2026-08-12 08:38:08 +08:00
parent 683f83d17c
commit 670ba950a6
1496 changed files with 292667 additions and 220122 deletions
@@ -0,0 +1,584 @@
# 金融 / 行情 / 中间函数
## `getstockcallauctiontime(stockid, endt, flag)`
声明:function
返回集合竞价时间(取数时间)
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| --------- | ------- | ----------------------------------------------------------- |
| `stockid` | string | String, |
| `endt` | date | date, |
| `flag` | integer | Integer,盘前or盘后集合竞价,开盘前集合竞价=1收盘前集合竞价=0 |
返回:array
### 示例
范例01:调用函数
```tsl
// 获取万科A在2020-06-22这一天的开盘前集合竞价数据起止时间。
return getstockcallauctiontime ('SZ000002', 20200622T, 1);
// 输出:array(44004.375, 44004.3958217593)
```
## `getUnilateralValue(exp, endt)`
声明:function
返回期货单边指标,与系统参数(证券代码)相关
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------ | ----------- | -------------- |
| `exp` | string | 字符串。表达式 |
| `endt` | t_date_time | 日期。截止日 |
返回:real
### 示例
范例01:调用函数
```tsl
setSysParam(pn_stock(), "TF2403");
return getUnilateralValue(@amount(), 20240223T);
// 输出:16351794700
```
## `isLowCycle()`
声明:function
判断是否日线以上低频周期,与系统参数(周期)相关
<!-- tags: 金融 行情 中间函数 判断 检查 -->
返回:integer
## `marketAmountAWithStock(beg_t, end_t)`
声明:function
返回和股票对应的市场区间成交金额(万),与系统证券pn_stock()有关,不复权
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | ---------------- |
| `beg_t` | t_date_time | 日期类型,开始日 |
| `end_t` | t_date_time | 日期类型,截止日 |
返回:real
### 示例
范例01:调用函数
```tsl
// 返回万科A对应的市场板块(深证A股;中小企业板)的区间成交金额(万)。
setSysParam(PN_Stock(), 'SZ000002');
beg_t := intToDate(20180910);
end_t := intToDate(20180911);
return marketAmountAWithStock(beg_t, end_t);
// 输出:18397546.16
```
## `marketVolAWithStock(beg_t, end_t)`
声明:function
返回和股票对应的市场区间成交量(万),与系统证券pn_stock()有关,不复权
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | ---------------- |
| `beg_t` | t_date_time | 日期类型,开始日 |
| `end_t` | t_date_time | 日期类型,截止日 |
返回:real
### 示例
范例01:调用函数
```tsl
// 返回万科A对应的市场板块(深证A股;中小企业板)的区间成交量(万)。
setSysParam(PN_Stock(), 'SZ000002');
beg_t := intToDate(20180910);
end_t := intToDate(20180911);
return marketVolAWithStock(beg_t, end_t);
// 输出:2126291.86
```
## `pjCj(begttime, endttime, price_type, datatype)`
声明:function
返回区间平均成交价,与系统参数(证券代码)相关
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------------ | --------- | --------------------------------- |
| `begttime` | tdatetime | 日期时间。开始日期时间 |
| `endttime` | tdatetime | 日期时间。截止日期时间 |
| `price_type` | integer | 用户自定义。平均价算法,取值如下: |
| `datatype` | integer | 用户自定义。数据类型,取值如下: |
返回:real
### 示例
范例01:调用函数
```tsl
// 沪深300指数20241108 10:00的5分钟平均成交价(成交量加权平均)
setSysParam(pn_stock(), "SH000300");
return pjCj(20241108.0955T, 20241108.10T, 1, 1);
// 输出:4163.1544
```
## `stockBegTBeforeNDay(end_t, n)`
声明:function
返回最近N日/N周前的交易日,从EndT当天开始算第一天,与系统证券pn_stock()和系统周期pn_cycle()有关。调用时需注意设置系统参数
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | -------- | ---------------- |
| `end_t` | datetime | 日期类型,截止日 |
| `n` | int | 整数类型,N日 |
返回:datetime
### 示例
范例01:调用函数
```tsl
SetSysParam(PN_Stock(), 'SZ000002');
EndT := inttodate(20180911);
return StockBegTBeforeNDay(EndT, 1);
```
## `stockEndOfMonth(end_t)`
声明:function
返回当月最后一个交易日(可取未来)
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | ------------ |
| `end_t` | t_date_time | 日期。截止日 |
返回:real
### 示例
范例01:调用函数
```tsl
// 20230506T当月最后一个交易日
return stockEndOfMonth(20230506T);
// 输出:45077
```
## `stockendtafternday(begt, n)`
声明:function
返回指定日N个交易日后的日期
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------ | ------- | ------------- |
| `begt` | date | date,开始日期 |
| `n` | integer | integer,N日 |
返回:real
### 示例
范例01:调用函数
```tsl
// 返回万科A在2018年9月11日向后推5个交易日的日期。
setSysParam(PN_Stock(), 'SZ000002');
end_t := intToDate(20180911);
return stockendtafternday(end_t, 5);
// 输出:433612018-09-18
```
## `stockEndTPrevNDay(end_t, n)`
声明:function
返回指定日期向前推N个交易日期,与系统证券pn_stock()和系统周期pn_cycle()有关。调用时需注意设置系统参数
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | ---------------- |
| `end_t` | t_date_time | 日期类型,截止日 |
| `n` | integer | 整数类型,交易日 |
返回:t_date_time
### 示例
范例01:调用函数
```tsl
// 返回万科A在2018年9月11日向前推5个交易日的日期。
setSysParam(PN_Stock(), 'SZ000002');
setSysParam(pn_cycle(), cy_day());
end_t := intToDate(20180911);
return stockEndTPrevNDay(end_t, 5);
// 输出:433472018-09-04
```
## `stockHighAndLow(beg_t, end_t, h, l)`
声明:function
返回区间最高&最低,与系统证券pn_stock()有关,周期为日线,已复权(比例复权,基准日为EndT)
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | ---------------------- |
| `beg_t` | t_date_time | 日期类型,开始日 |
| `end_t` | t_date_time | 日期类型,截止日 |
| `h` | real | 实数,最高价,输出参数 |
| `l` | real | 实数,最低价,输出参数 |
返回:real
### 示例
范例01:调用函数
```tsl
// 返回万科A在2018年9月1日至2018年9月11日的区间最高&最低。
setSysParam(PN_Stock(), 'SZ000002');
beg_t := intToDate(20180901);
end_t := intToDate(20180911);
stockHighAndLow(beg_t, end_t, h, l);
return array('high':h, 'low':l);
```
## `stockIsSTorSLim(end_t)`
声明:function
返回5%限制的股票判断,涨跌停判断的辅助函数
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | -------------- |
| `end_t` | t_date_time | 日期。截止日期 |
返回:integer
## `stockNDayAdjust(n)`
声明:function
返回N日的修正(m),与系统证券pn_stock()、系统周期pn_cycle()和系统时间pn_date()有关
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ---- | ------- | ------------------ |
| `n` | integer | 整数类型,日期间隙 |
返回:integer
### 示例
范例01:调用函数
```tsl
// 返回万科A截止2018年9月18日的100日修正后的交易日数。
setSysParam(PN_Stock(), 'SZ000002');
setSysParam(pn_date(), intToDate(20180918));
setSysParam(pn_cycle(), cy_day());
return stockNDayAdjust(100);
// 输出:100(万科A上市日为1991-01-02
```
## `stockPriceChangeDay(beg_t, end_t, expr)`
声明:function
返回股票上涨天数,与系统证券pn_stock()有关,周期为日线,已复权
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | ---------------- |
| `beg_t` | t_date_time | 日期类型,开始日 |
| `end_t` | t_date_time | 日期类型,截止日 |
| `expr` | expression | 表达式 |
返回:integer
### 示例
范例01:调用函数
```tsl
// 返回万科A在2018年9月11日至2018年9月18日之间的上涨天数。
setSysParam(PN_Stock(), 'SZ000002');
begt := intToDate(20180911);
endt := intToDate(20180918);
return stockPriceChangeDay(begt, endt, @isUp());
// 输出:2
```
## `stockPriceChangeDay2(n, expr)`
声明:function
返回N日上涨/下跌/平盘天数, 统计N天中表达式Exp值为真的天数,与系统证券pn_stock()、系统周期pn_cycle()和系统时间pn_date()有关
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------ | ---------- | ---------------------- |
| `n` | integer | 整数类型,交易日数 |
| `expr` | expression | 表达式,上涨/下跌/平盘 |
返回:integer
### 示例
范例01:调用函数
```tsl
// 返回万科A截止2018年9月18日的5日内的上涨天数。
setSysParam(PN_Stock(), 'SZ000002');
setSysParam(pn_date(), intToDate(20180918));
return stockPriceChangeDay2(5, @isUp());
// 输出:2
```
## `stockTradeDaysQkAfterN(beg_t, n)`
声明:function
返回指定日期向后推N个交易日期,与系统证券pn_stock()和系统周期pn_cycle()有关。调用时需注意设置系统参数
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | ---------------- |
| `beg_t` | t_date_time | 日期类型,开始日 |
| `n` | integer | 整数类型,交易日 |
返回:t_date_time
### 示例
范例01:调用函数
```tsl
// 返回万科A在2018年9月11日向后推5个交易日的日期。
setSysParam(PN_Stock(), 'SZ000002');
setSysParam(pn_cycle(), cy_day());
end_t := intToDate(20180911);
return stockTradeDaysQkAfterN(end_t, 5);
// 输出:433612018-09-18
```
## `stockValueHigh2(n, expr)`
声明:function
返回N日表达式的最高,与系统证券pn_stock()、系统周期pn_cycle()和系统时间pn_date()有关
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------ | ---------- | ------------------ |
| `n` | integer | 整数类型,交易日数 |
| `expr` | expression | 表达式 |
返回:real
### 示例
范例01:调用函数
```tsl
// 返回万科A截止2018年9月18日的5日收盘表达式的最高。
setSysParam(PN_Stock(), 'SZ000002');
setSysParam(pn_date(), intToDate(20180918));
setSysParam(pn_cycle(), cy_day());
n := 5;
expr := @close();
return stockValueHigh2(n, expr);
// 输出:23.32
```
## `stockValueLow(beg_t, end_t, expr)`
声明:function
返回指定时间段内最低,与系统参数(股票)相关
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | -------------- |
| `beg_t` | t_date_time | 日期。开始日期 |
| `end_t` | t_date_time | 日期。截止日期 |
| `expr` | string | 字符串。表达式 |
返回:real
### 示例
范例01:调用函数
```tsl
setSysParam(pn_stock(), 'SZ000002');
return stockValueLow(20230101T, 20231231T, @vol());
// 输出:27320474
```
## `stockValueLow2(n, expr)`
声明:function
返回N日表达式的最低,与系统证券pn_stock()、系统周期pn_cycle()和系统时间pn_date()有关
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------ | ---------- | ------------------ |
| `n` | integer | 整数类型,日期间隙 |
| `expr` | expression | 表达式 |
返回:real
### 示例
范例01:调用函数
```tsl
// 返回万科A截止2018年9月18日的5日收盘表达式的最低。
setSysParam(PN_Stock(), 'SZ000002');
setSysParam(pn_date(), intToDate(20180918));
setSysParam(pn_cycle(), cy_day());
n := 5;
expr := @close();
return stockValueLow2(n, expr);
// 输出:22.83
```
## `stockValueSum(beg_t, end_t, expr)`
声明:function
返回阶段统计,即指定时间段内表达式的统计,与系统证券pn_stock()、系统周期pn_cycle()和系统时间有关
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------- | ----------- | ---------------- |
| `beg_t` | t_date_time | 日期类型,开始日 |
| `end_t` | t_date_time | 日期类型,截止日 |
| `expr` | expression | 表达式 |
返回:real
### 示例
范例01:调用函数
```tsl
// 返回万科A在2018年9月1日至2018年9月11日之间收盘表达式的统计和。
setSysParam(PN_Stock(), 'SZ000002');
beg_t := intToDate(20180901);
end_t := intToDate(20180911);
expr := @close();
return stockValueSum(beg_t, end_t, expr);
// 输出:164.21
```
## `stockValueSum2(n, expr)`
声明:function
返回N日表达式的和,与系统证券pn_stock()、系统周期pn_cycle()和系统时间pn_date()有关
<!-- tags: 金融 行情 中间函数 返回 获取 -->
| 参数 | 类型 | 说明 |
| ------ | ---------- | ------------------ |
| `n` | int | 整数类型,交易日数 |
| `expr` | expression | 表达式 |
返回:float
### 示例
范例01:调用函数
```tsl
SetSysParam(PN_Stock(), 'SZ000002');
setsysparam(pn_date(), inttodate(20180918));
setsysparam(pn_cycle(), cy_day());
N := 5;
Expr := @close();
return StockValueSum2(N, Expr);
```
## `stockZt_cal(endt, flag)`
声明:function
计算涨停的中间函数
<!-- tags: 金融 行情 中间函数 计算 求解 -->
| 参数 | 类型 | 说明 |
| ------ | -------- | ------------------------------- |
| `endt` | datetime | 日期。截止日 |
| `flag` | integer | 用户自定义。价格类型,取值如下: |
返回:integer
## `trasactionMinutePerDay()`
声明:function
返回每天交易分钟数,即240分钟,与系统证券无关
<!-- tags: 金融 行情 中间函数 返回 获取 -->
返回:integer
### 示例
范例01:调用函数
```tsl
// 返回每天交易分钟数。
return trasactionMinutePerDay();
// 输出:240
```