✨ feat(skills): add tsl api reference skill
Bundle the TSL API index and markdown references under the skill, route TSL docs to use it, and update the codegen index generator to maintain the bundled data.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# 数据仓库 / 复权相关
|
||||
|
||||
### `rdFirstday()`
|
||||
|
||||
复权基准日函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `rdLastday()`
|
||||
|
||||
复权基准日函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `rtComplex()`
|
||||
|
||||
复权类型函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `rtNone()`
|
||||
|
||||
复权类型函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `rtScale()`
|
||||
|
||||
复权类型函数相关函数。
|
||||
|
||||
返回:any
|
||||
@@ -0,0 +1,23 @@
|
||||
# 数据仓库 / 通用
|
||||
|
||||
### `monthsBetween2(a_now, a_then)`
|
||||
|
||||
对月数:今天到下个月的今天(不包括)算一个完整月度,即一个对月。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | -------- | ----- |
|
||||
| `a_now` | datetime | 日期, |
|
||||
| `a_then` | datetime | 日期, |
|
||||
|
||||
返回:float
|
||||
|
||||
### `yearsBetween2(a_now, a_then)`
|
||||
|
||||
对年数:明年的今天(不包括)算一个完整年度,即一个对年。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | -------- | ----- |
|
||||
| `a_now` | datetime | 日期, |
|
||||
| `a_then` | datetime | 日期, |
|
||||
|
||||
返回:float
|
||||
@@ -0,0 +1,25 @@
|
||||
# 数据仓库
|
||||
|
||||
函数数:312
|
||||
|
||||
| 叶子 | 文件 | 函数数 |
|
||||
| --- | --- | ---: |
|
||||
| 数据仓库 / 复权相关 | [数据仓库 / 复权相关](adjustment.md) | 5 |
|
||||
| 数据仓库 / 通用 | [数据仓库 / 通用](general.md) | 2 |
|
||||
| 数据仓库 / 当日 | [数据仓库 / 当日](intraday.md) | 21 |
|
||||
| 数据仓库 / 盘中统计 | [数据仓库 / 盘中统计](intraday_stats.md) | 33 |
|
||||
| 数据仓库 / 市场 | [数据仓库 / 市场](market.md) | 10 |
|
||||
| 数据仓库 / 多市场支撑函数 | [数据仓库 / 多市场支撑函数](multi_market.md) | 1 |
|
||||
| 数据仓库 / N期 | [数据仓库 / N期](n.md) | 24 |
|
||||
| 数据仓库 / N日 | [数据仓库 / N日](n_day.md) | 5 |
|
||||
| 数据仓库 / 周期函数 | [数据仓库 / 周期函数](period_func.md) | 31 |
|
||||
| 数据仓库 / 周期序列 | [数据仓库 / 周期序列](period_series.md) | 78 |
|
||||
| 数据仓库 / 判定函数 | [数据仓库 / 判定函数](predicate.md) | 22 |
|
||||
| 数据仓库 / 区间 | [数据仓库 / 区间](range.md) | 15 |
|
||||
| 数据仓库 / 选股与取数 | [数据仓库 / 选股与取数](screen_fetch.md) | 8 |
|
||||
| 数据仓库 / 系统参数设置和获取函数 | [数据仓库 / 系统参数设置和获取函数](sysparam_access.md) | 4 |
|
||||
| 数据仓库 / 系统参数名称函数 | [数据仓库 / 系统参数名称函数](sysparam_name.md) | 17 |
|
||||
| 数据仓库 / 时间相关函数 | [数据仓库 / 时间相关函数](time_func.md) | 2 |
|
||||
| 数据仓库 / 时间序列统计 | [数据仓库 / 时间序列统计](timeseries_stats.md) | 13 |
|
||||
| 数据仓库 / 交易日历 | [数据仓库 / 交易日历](trading_calendar.md) | 5 |
|
||||
| 数据仓库 / 向导函数 | [数据仓库 / 向导函数](wizard.md) | 16 |
|
||||
@@ -0,0 +1,337 @@
|
||||
# 数据仓库 / 当日
|
||||
|
||||
### `cacheStrMerge(arg1, arg2, date_value_3)`
|
||||
|
||||
当日相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | -------- | ---- |
|
||||
| `arg1` | string | |
|
||||
| `arg2` | any | |
|
||||
| `date_value_3` | datetime | |
|
||||
|
||||
返回:string
|
||||
|
||||
### `getHbCacheStr(cache_str, fname)`
|
||||
|
||||
横比缓存串,多用于101因子中。串中不缓存pn_StockArr,因为无法满足动态指数成分,得需要用pn_StockArrName作唯一标识。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ---------------- |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
| `fname` | string | 字符串。函数名称 |
|
||||
|
||||
返回:string
|
||||
|
||||
### `getParmGroupIndustryByEndt(t, endt, by_group)`
|
||||
|
||||
得到指定日股票池行业分类。1、用于支持横比行业分类;2、目前多用于101因子的计算中的中间函数IndNeutralize中;3、目前使用申万一二三级行业来处理。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | -------- | --------------------- |
|
||||
| `t` | array | 数组。股票池数据 |
|
||||
| `endt` | datetime | 日期。截止日 |
|
||||
| `by_group` | any | 用户自定义。取值如下: |
|
||||
|
||||
返回:array
|
||||
|
||||
### `getParmStockArrByEndt(end_t)`
|
||||
|
||||
得到指定日股票池。1、用于支持横比动态成分;2、目前多用于101因子的计算中。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | -------- | -------------- |
|
||||
| `end_t` | datetime | 日期。指定日。 |
|
||||
|
||||
返回:array
|
||||
|
||||
### `indNeutralize4(exp, by_group, cache_str, fill_nan)`
|
||||
|
||||
表达式当日中性化,与系统参数证券代码,时间,pn_StockArr()相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | -------------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `by_group` | int | 整数,分类标准 |
|
||||
| `cache_str` | string | 字符串,缓存串 |
|
||||
| `fill_nan` | int | 整数,非交易日NAN替代 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
endt:=20231010T;
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
SetSysParam(Pn_date(),20231010T);
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",endt));
|
||||
return IndNeutralize4(@close(),0,"",1);
|
||||
```
|
||||
|
||||
### `indNeutralizeOftheReport(exp, report_id, by_group, cache_str)`
|
||||
|
||||
表达式当期中性化
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `report_id` | int | 整数,报告期 |
|
||||
| `by_group` | int | 整数,分类标准 |
|
||||
| `cache_str` | string | 字符串,缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
endt:=20221231T;
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",endt));
|
||||
return IndNeutralizeOftheReport(@ReportOfAll(46002,DefaultRepID()),20221231,0);
|
||||
```
|
||||
|
||||
### `percentRankOftheDay(exp, cache_str)`
|
||||
|
||||
当日分位排名。与PercentRankOftheDay2最大的区别,停牌成分设为Nan。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------ |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float|void
|
||||
|
||||
### `percentRankOftheDay2(exp, cache_str)`
|
||||
|
||||
当日分位排名。股票横截面数据排名,x表示一组股票的截面数据,按向量x的元素大小升序排序,序号从0开始,如\[0,1,...,n\],然后输出排名所占总位数的百分比,即将排名归一到\[0,1\]区间。注意:Nan值不参与排名,输出Nan。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------ |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `percentRankOftheDay3(exp, cache_str, fill_nan)`
|
||||
|
||||
表达式当日分位排名,个股在pn_StockArr()成分股中的表达式值的分位排名,与系统参数证券代码,时间,pn_StockArr()相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | -------------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `cache_str` | string | 字符串,缓存串 |
|
||||
| `fill_nan` | int | 整数,非交易日NAN替代 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
endt:=20231010T;
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
SetSysParam(Pn_date(),20231010T);
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",endt));
|
||||
return PercentRankOftheDay3(@close(),"",1);
|
||||
```
|
||||
|
||||
### `percentRankOftheReport(exp, report_id, cache_str)`
|
||||
|
||||
表达式当期分位排名,个股在pn_StockArr()成分股中的表达式值的排名,与系统参数证券代码,时间,pn_StockArr()相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `report_id` | int | 整数,报告期 |
|
||||
| `cache_str` | string | 字符串,缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
endt:=20221231T;
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",endt));
|
||||
return PercentRankOftheReport(@ReportOfAll(46002,DefaultRepID()),20221231);
|
||||
```
|
||||
|
||||
### `pnStockArrFunc()`
|
||||
|
||||
当日相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `pnStockArrName()`
|
||||
|
||||
当日相关函数。
|
||||
|
||||
返回:string
|
||||
|
||||
### `rankOftheDay(exp, sort_order, cache_str)`
|
||||
|
||||
当日横比排名。注意:pn_StockArr当日无交易的成分设置为Nan;EXp计算为NAN值时,不参与排名,排名为NAN。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ------------------------- |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `sort_order` | int | 整数。排位方式,取值如下: |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:int
|
||||
|
||||
### `rankOftheDay2(exp, sort_order, cache_str)`
|
||||
|
||||
当日最新值横比排名。与RankOftheDay的区别在于:RankOftheDay2不会将pn_StockArr当日的停牌成分设置为Nan。注意:EXp计算为NAN值时,不参与排名,排名为NAN。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ------------------------- |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `sort_order` | int | 整数。排位方式,取值如下: |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:int
|
||||
|
||||
### `rankOftheDay3(exp, sort_order, cache_str, fill_nan)`
|
||||
|
||||
表达式当日排名,个股在pn_StockArr()成分股中的表达式值的排名,与系统参数证券代码,时间,pn_StockArr()相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | -------------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `sort_order` | int | 整数,排位方式 |
|
||||
| `cache_str` | string | 字符串,缓存串 |
|
||||
| `fill_nan` | int | 整数,非交易日NAN替代 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
endt:=20231010T;
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
SetSysParam(Pn_date(),20231010T);
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",endt));
|
||||
return RankOftheDay3(@close(),0,"",1);
|
||||
```
|
||||
|
||||
### `rankOftheReport(exp, report_id, sort_order, cache_str)`
|
||||
|
||||
表达式当期排名,个股在pn_StockArr()成分股中的表达式值的排名,与系统参数证券代码,时间,pn_StockArr()相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `report_id` | int | 整数,报告期 |
|
||||
| `sort_order` | int | 整数,排位方式 |
|
||||
| `cache_str` | string | 字符串,缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
endt:=20221231T;
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",endt));
|
||||
return RankOftheReport(@ReportOfAll(46002,DefaultRepID()),20221231,0);
|
||||
```
|
||||
|
||||
### `scaleOfSeries(exp, a, cache_str)`
|
||||
|
||||
标准化(无交易成分设为NAN)。将x中的非NAN值进行标准化,使x的绝对值的和为a,默认a=1。注意:NAN值依然输出NAN。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------ |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `a` | float | 实数。标准化数值 |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float|void
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
endt:=20231010T;
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
SetSysParam(Pn_date(),20231010T);
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",endt));
|
||||
return ScaleOfSeries(@close(),1,"");
|
||||
```
|
||||
|
||||
### `scaleOfSeries2(exp, a, cache_str)`
|
||||
|
||||
标准化。将x中的非NAN值进行标准化,使x的绝对值的和为a,默认a=1。注意:NAN值依然输出NAN。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------ |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `a` | float | 实数。标准化数值 |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
endt:=20231010T;
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
SetSysParam(Pn_date(),20231010T);
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",endt));
|
||||
return ScaleOfSeries2(@close(),1,"");
|
||||
```
|
||||
|
||||
### `scaleOfSeries3(exp, a, cache_str, fill_nan)`
|
||||
|
||||
表达式当日标准化,与系统参数证券代码,时间,pn_StockArr()相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | -------------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `a` | int | 整数,标准化数值 |
|
||||
| `cache_str` | string | 字符串,缓存串 |
|
||||
| `fill_nan` | int | 整数,非交易日NAN替代 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
endt:=20231010T;
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
SetSysParam(Pn_date(),20231010T);
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",endt));
|
||||
return ScaleOfSeries3(@close(),1,"",1);
|
||||
```
|
||||
|
||||
### `scaleOfSeriesOftheReport(exp, report_id, a, cache_str)`
|
||||
|
||||
表达式当期标准化
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `report_id` | int | 整数,报告期 |
|
||||
| `a` | int | 整数,标准化数值 |
|
||||
| `cache_str` | string | 字符串,缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
endt:=20221231T;
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",endt));
|
||||
return ScaleOfSeriesOftheReport(@ReportOfAll(46002,DefaultRepID()),20221231,1);
|
||||
```
|
||||
|
||||
### `setParmStockArrFunc(func, stock_arr_name)`
|
||||
|
||||
1、用于支持横比动态成分;2、目前多用于101因子的计算中,与GetParm_StockArr_ByEndt一起使用;3、一般客户无需使用。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------------- | ------ | ------------------ |
|
||||
| `func` | string | 字符串。函数名称 |
|
||||
| `stock_arr_name` | string | 字符串。股票池名称 |
|
||||
|
||||
返回:any
|
||||
@@ -0,0 +1,393 @@
|
||||
# 数据仓库 / 盘中统计
|
||||
|
||||
### `reportOfAll(info_id, report_id)`
|
||||
|
||||
返回某个报告期ReportID的某项财务指标的值,即可提取与报告期相关的数据。 与Report函数相比,ReportOfAll函数功能更为强大,除了获取与报告期相关的直接从报告中采集并入库的基础财务数据,还可以取根据基础财务数据实时计算的指标。实时计算指标的InfoID分布为9900000- 9902239,用户可以通过证券数据专家或基本面信息查询,也可查看FAQ:证券数据专家中提供的基础数据现状 该模型与当前的时间有关。因为财务数据有调整前调整后的数据,提取该数据的时候,要注意设置当前的时间。如果要取调整前的数据,当前的日期,要设置在调整后数据公布日之前。 比如股票A,2011年的年报是2012年4月15日公布,2012年年报是2013年4月15日公布,2012年年报披露的时候,同时会披露2011年年报调整后的数据。 当前的时间pn_date()设置在2013年4月15日之前的时候,取到的2011年年报数据就是调整前的数据,否则,取到的是2011年调整后的数据。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `info_id` | int | 整数,信息类别代码,即财务指标和其他信息的ID,可以通过证券数据专家或基本面信息(F11)查询。 |
|
||||
| `report_id` | int | 整数报告期,一般为YEAR + Code指定,Code为0630表示中报,1231表示年报,0331第一季度,0930第三季度。如20170930;0001为自然周第一周周报,0002为第二周,以此类推。以周为报告期的日期,主要用于提取封闭式基金的净值数据。如20170001;另外,使用0表示最新报告期。 |
|
||||
|
||||
返回:any
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),'SZ000001');
|
||||
setsysparam(pn_date(),20171031);
|
||||
return reportofall(46002,20170930);
|
||||
```
|
||||
|
||||
### `spAvedev(exp, n, cache_string)`
|
||||
|
||||
估算N天的TExpression的平均绝对偏差。TExpression是与取时间序列数值的表达式,例如close函数,函数的含义是根据连续N天的当天的EXP的值计算平均绝对偏差
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------ | --------------------------------------------------------------------- |
|
||||
| `exp` | any | TExpression表达式 |
|
||||
| `n` | any | 整数,天数;N为-1,0时无效。 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spCorrel(exp1, exp2, n)`
|
||||
|
||||
移动相关系数。两个表达式正在最近N个交易日的相关系数
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | --------------------------- |
|
||||
| `exp1` | any | 表达式1,与系统当前日期相关 |
|
||||
| `exp2` | any | 表达式2,与系统当前日期相关 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spCov(exp1, exp2, n)`
|
||||
|
||||
移动协方差。两个表达式在最近N个交易日的协方差
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | --------------------------- |
|
||||
| `exp1` | any | 表达式1,与系统当前日期相关 |
|
||||
| `exp2` | any | 表达式2,与系统当前日期相关 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spDevsq(exp, n, cache_string)`
|
||||
|
||||
估算N天的TExpression的偏差平方和。TExpression是与取时间序列数值的表达式,例如close函数,函数的含义是根据连续N天的当天的EXP的值计算偏差平方和
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------ | --------------------------------------------------------------------- |
|
||||
| `exp` | any | TExpression表达式 |
|
||||
| `n` | any | 整数,天数;N为-1,0时无效。 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `specDateValue(date, exp)`
|
||||
|
||||
返回指定时间表达式Expr的值,与系统参数(股票,复权,周期)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | -------- | -------------- |
|
||||
| `date` | datetime | 日期,时间 |
|
||||
| `exp` | any | 布尔公式表达式 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `specSysParams(exp, date, cycle, rate, rate_day)`
|
||||
|
||||
设置系统参数(日期,周期,复权,复权基准日)。运行前须先定义表达式Exp。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | -------- | ------------------ |
|
||||
| `exp` | any | 函数表达式,表达式 |
|
||||
| `date` | datetime | 日期,时间 |
|
||||
| `cycle` | string | 周期 |
|
||||
| `rate` | float | 复权 |
|
||||
| `rate_day` | datetime | 基准,复权基准日 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `spFrequency(exp, m, n)`
|
||||
|
||||
移动频数。表达式最近N个交易日的频数
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ----- | -------------------------- |
|
||||
| `exp` | any | 表达式 |
|
||||
| `m` | array | 指标数据分布区域,一维数组 |
|
||||
| `n` | any | 交易日天数 |
|
||||
|
||||
返回:array
|
||||
|
||||
### `spG(name)`
|
||||
|
||||
返回Name指定的系统参数。功能同getsysparam。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------ | ---------------------- |
|
||||
| `name` | string | 字符串类型的系统参数名 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `spGeoMean(exp, n)`
|
||||
|
||||
移动几何平均数。表达式前N个交易日的几何平均数
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ---------- |
|
||||
| `exp` | any | 表达式 |
|
||||
| `n` | any | 交易日天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spHarMean(exp, n)`
|
||||
|
||||
移动调和平均数。表达式前N个交易日的调和平均数
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ---------- |
|
||||
| `exp` | any | 表达式 |
|
||||
| `n` | any | 交易日天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spIntercept(exp1, exp2, n)`
|
||||
|
||||
移动回归截距。两个表达式在最近N个交易日的回归截距
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | --------------------------- |
|
||||
| `exp1` | any | 表达式1,与系统当前日期相关 |
|
||||
| `exp2` | any | 表达式2,与系统当前日期相关 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spKurtosis(exp, n)`
|
||||
|
||||
移动峰度(Excel兼容)。表达式数据最近N个交易日的峰度,算法与excel兼容
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ------ |
|
||||
| `exp` | any | 表达式 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spKurtosis2(exp, n)`
|
||||
|
||||
移动峰度(Matlab兼容)。表达式最近N个交易日的峰度,算法与matlab兼容
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ------ |
|
||||
| `exp` | any | 表达式 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spLarge(exp, m, n)`
|
||||
|
||||
移动最大排位值。指定表达式最近N天中的第M个最大值
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ----------------------------- |
|
||||
| `exp` | any | 指定表达式,和系统当前时间有关 |
|
||||
| `m` | any | 最大值位数 |
|
||||
| `n` | any | 交易日天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spPercentile(exp, m, n)`
|
||||
|
||||
移动百分位数。表达式最近N个交易日第M个百分比对应的数据
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ----- | --------------- |
|
||||
| `exp` | any | 表达式 |
|
||||
| `m` | float | 百分比,0~1之间 |
|
||||
| `n` | any | 交易日天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spPercentrank(exp1, exp2, n)`
|
||||
|
||||
移动百分比排名。指标数据的当前数据在最近N个交易日中的百分比排名
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | ------------------------- |
|
||||
| `exp1` | any | 表达式,N个交易日的表达式 |
|
||||
| `exp2` | any | 表达式,当前值的表达式 |
|
||||
| `n` | any | 交易日天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spQuartile(exp, m, n)`
|
||||
|
||||
移动四分位数。表达式最近N个交易日集中四分位对应的数据
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ------------------- |
|
||||
| `exp` | any | 表达式 |
|
||||
| `m` | any | 四分位值,0~4的整数 |
|
||||
| `n` | any | 交易日天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spRsq(exp1, exp2, n)`
|
||||
|
||||
移动相关系数平方。两个表达式最近N个交易日的Pearson乘积矩相关系数的平方
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | --------------------------- |
|
||||
| `exp1` | any | 表达式1,与系统当前日期相关 |
|
||||
| `exp2` | any | 表达式2,与系统当前日期相关 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spS(name, value)`
|
||||
|
||||
设置Name指定的系统参数的值为Value。如果设置不成功返回假否则返回真。系统参数为全局变量,即该函数设置的变量全局有效。也可以自定义参数。功能同sp_setsysparam
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------ | ------------------------ |
|
||||
| `name` | string | 字符串类型的系统参数名。 |
|
||||
| `value` | any | 设置的系统参数的值。 |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `spSkewness(exp, n)`
|
||||
|
||||
移动偏度(Excel兼容)。表达式数据最近N个交易日的偏度,算法与excel兼容
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ------ |
|
||||
| `exp` | any | 表达式 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spSkewness2(exp, n)`
|
||||
|
||||
移动偏度(Matlab兼容)。表达式数据最近N个交易日的偏度,算法与matlab兼容
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ------ |
|
||||
| `exp` | any | 表达式 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spSlope(exp1, exp2, n)`
|
||||
|
||||
移动回归斜率。两个表达式在最近N个交易日的回归斜率
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | --------------------------- |
|
||||
| `exp1` | any | 表达式1,与系统当前日期相关 |
|
||||
| `exp2` | any | 表达式2,与系统当前日期相关 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spSlopeAndIntercept(exp1, exp2, n)`
|
||||
|
||||
移动回归斜率和截距。两个表达式最近N个交易日的回归斜率和截距
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | --------------------------- |
|
||||
| `exp1` | any | 表达式1,与系统当前日期相关 |
|
||||
| `exp2` | any | 表达式2,与系统当前日期相关 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:array
|
||||
|
||||
### `spSmall(exp, m, n)`
|
||||
|
||||
移动最小排位值。指标数据最近N个交易日的第M个最小值
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ---------------------------------------------------------------- |
|
||||
| `exp` | any | 表达式 |
|
||||
| `m` | any | 对应的最小值位数 |
|
||||
| `n` | any | 交易日天数;备注:指定表达式与系统当前时间相关,M的取值数据小于N. |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spStd(exp, n, cache_string)`
|
||||
|
||||
估算N天的TExpression的标准差。TExpression是与时间序列数据相关的函数或表达式,例如close函数,函数的含义是根据连续N天的当天的EXP的值计算标准差。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------ | --------------------------------------------------------------------- |
|
||||
| `exp` | any | TExpression表达式 |
|
||||
| `n` | any | 整数,交易日天数;N为-1,0时无效。 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spStdp(exp, n, cache_string)`
|
||||
|
||||
估算N天的TExpression的总体标准差。TExpression是与取时间序列数值的表达式,例如close函数,函数的含义是根据连续N天的EXP的值计算总体标准差
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------ | --------------------------------------------------------------------- |
|
||||
| `exp` | any | TExpression表达式 |
|
||||
| `n` | any | 整数,天数;N为-1,0时无效。 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spSteyx(exp1, exp2, n)`
|
||||
|
||||
移动标准误差。两个表达式最近N个交易日的相对标准偏差
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | --------------------------- |
|
||||
| `exp1` | any | 表达式1,与系统当前日期相关 |
|
||||
| `exp2` | any | 表达式2,与系统当前日期相关 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spTime(get_set_time)`
|
||||
|
||||
取得当前环境的时间,不是真正的现在的时间。与系统变量(股票pn_stock()、时间pn_date()、周期pn_cycle()相关)。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | -------- | ------------------------------------------------------ |
|
||||
| `get_set_time` | datetime | 整数,获取时间的类型,可缺省,默认为方式0,可取值如下: |
|
||||
|
||||
返回:datetime
|
||||
|
||||
### `spTotalVariance(exp, n)`
|
||||
|
||||
移动总体偏差。表达式数据最近N个交易日的离差平方和(总体偏差)
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ------ |
|
||||
| `exp` | any | 表达式 |
|
||||
| `n` | any | 天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spTrimmean(exp, m, n)`
|
||||
|
||||
移动去首尾平均值。表达式最近N个交易日去掉首尾百分比后的平均值
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ----------------- |
|
||||
| `exp` | any | 表达式 |
|
||||
| `m` | any | 百分比数,0~1之间 |
|
||||
| `n` | any | 交易日天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spVar(exp, n, cache_string)`
|
||||
|
||||
估算N天的TExpression的样本方差。TExpression是与取时间序列数值的表达式,例如close函数,函数的含义是根据连续N天的当天的EXP的值计算样本方差
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------ | --------------------------------------------------------------------- |
|
||||
| `exp` | any | TExpression表达式 |
|
||||
| `n` | any | 整数,天数;N为-1,0时无效。 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `spVarp(exp, n, cache_string)`
|
||||
|
||||
估算N天的TExpression的总体样本方差。TExpression是与取时间序列数值的表达式,例如close函数,函数的含义是根据连续N天的当天的EXP的值计算总体样本方差
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------ | --------------------------------------------------------------------- |
|
||||
| `exp` | any | TExpression表达式 |
|
||||
| `n` | any | 整数,天数;N为-1,0时无效。 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:float
|
||||
@@ -0,0 +1,117 @@
|
||||
# 数据仓库 / 市场
|
||||
|
||||
### `getBk(marketlist)`
|
||||
|
||||
得到指定的市场板块列表包含的股票列表。 注意,获取的是最新的板块成分股,行业名称或者板块名称,而非指数代码。 这些板块或行业名称必须和板块管理中的名称一致。 如果用户需要获取指定日期的历史成分股,请参考GetBKByDate。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ------------------------------------------------ |
|
||||
| `marketlist` | string | 字符串,市场板块列表。多个市场板块之间用分号分格 |
|
||||
|
||||
返回:array
|
||||
|
||||
### `getBkList(_type)`
|
||||
|
||||
得到所有的或者指定的系统板块类别下的板块名称列表。板块类别用户可查看板块管理中的类别。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------ | -------------------------------------------------------------------- |
|
||||
| `_type` | string | 字符串,板块类别,即具体板块的目录名称;无参数时得到所有的板块列表。 |
|
||||
|
||||
返回:array
|
||||
|
||||
### `getBkList2(bktype)`
|
||||
|
||||
得到所有的或者指定的系统板块类别下的板块名称列表以及板块所在路径名。 注意:除了结果类型与GetUserBKList不同以外,此函数得到指定板块类别下以及子路径下的所有的板块。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------ | ------------------------------------------------------------------------------------------------------------------ |
|
||||
| `bktype` | string | string 可选参数,无参数时得到所有的板块列表,;否则参数可为:'地域'或者'行业'分别得到地域板块列表或者行业板块列表。 |
|
||||
|
||||
返回:array
|
||||
|
||||
### `getUserBkList(bktype)`
|
||||
|
||||
得到所有的或者指定的板块类别下的用户板块的名称列表。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `bktype` | string | string 可选参数,无参数时得到所有的板块列表,;否则参数可为:'地域'或者'行业'分别得到地域板块列表或者行业板块列表。如果有多级目录,用\\进行目录分级。 |
|
||||
|
||||
返回:array
|
||||
|
||||
### `getUserBkList2(bktype)`
|
||||
|
||||
得到所有的或者指定的板块类别下用户板块的名称列表以及板块所在路径名。 注意,除了结果类型与GetUserBKList不同以外,此函数得到指定板块类别下以及子路径下的所有的板块。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `bktype` | string | string 可选参数,无参数时得到所有的板块列表,;否则参数可为:'地域'或者'行业'分别得到地域板块列表或者行业板块列表。如果有多级目录,用\\进行目录分级。 |
|
||||
|
||||
返回:array
|
||||
|
||||
### `indNeutralize(exp, by_group, cache_str)`
|
||||
|
||||
中性化操作,分组去均值化。将数据指标Exp按照ByGroup分类,对每个类别按照Exp=Exp–mean(Exp)进行中性化处理,处理之后Exp的均值为0。注:因分类标准不明确,此函数暂时不进行分类,即按整个市场,只对Exp进行中性化处理。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | --------------------- |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `by_group` | int | 用户自定义。取值如下: |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float|void
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600519");
|
||||
SetSysParam(Pn_date(),20231010T);
|
||||
setsysparam(pn_StockArr(),getbkbydate("SH000300",20231010T));
|
||||
return IndNeutralize(@open(),0,"");
|
||||
```
|
||||
|
||||
### `indNeutralize2(exp, by_group, cache_str)`
|
||||
|
||||
中性化操作,分组去均值化。将数据指标Exp按照ByGroup分类,对每个类别按照Exp=Exp–mean(Exp)进行中性化处理,处理之后Exp的均值为0。注:因分类标准不明确,此函数暂时不进行分类,即按整个市场,只对Exp进行中性化处理。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | --------------------- |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `by_group` | any | 用户自定义。取值如下: |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `marketId(stock_id, day)`
|
||||
|
||||
获得证券的所属市场ID。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | -------- | ---------------------------------------------------------------------------- |
|
||||
| `stock_id` | string | 证券代码。 |
|
||||
| `day` | datetime | 可选参数,缺省表示获得当前的所属市场ID,否则就可以获得历史指定时间的市场ID。 |
|
||||
|
||||
返回:int
|
||||
|
||||
### `marketInfo(id, info_id)`
|
||||
|
||||
获得市场的相关信息。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ---- | ------------------------------------------------ |
|
||||
| `id` | int | 市场编码。证券的市场编码可以用MarketID函数获得。 |
|
||||
| `info_id` | int | 可选参数,缺省返回所有如下市场信息。 |
|
||||
|
||||
返回:array
|
||||
|
||||
### `marketOpenCloseTime(id, day)`
|
||||
|
||||
取得指定市场在指定日的理论开盘时间以及收盘时间。即便由于长假原因导致夜盘不开盘,也会存在理论的夜盘开盘时间。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | -------- | ------------ |
|
||||
| `id` | int | 市场编码。 |
|
||||
| `day` | datetime | 指定的日期。 |
|
||||
|
||||
返回:array
|
||||
@@ -0,0 +1,7 @@
|
||||
# 数据仓库 / 多市场支撑函数
|
||||
|
||||
### `defaultTimeZone()`
|
||||
|
||||
多市场支撑函数相关函数。
|
||||
|
||||
返回:int
|
||||
@@ -0,0 +1,515 @@
|
||||
# 数据仓库 / N期
|
||||
|
||||
### `accOfNReport(exp, report_id, n, report_type, if_stand, return_type)`
|
||||
|
||||
N期加速度算子
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | -------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,如TTM归属母公司净利润:@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N期 |
|
||||
| `report_type` | int | 报告期类型 |
|
||||
| `if_stand` | bool | 布尔类型,回归数据是否标准化 |
|
||||
| `return_type` | int | 整型,返回类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600519");?
|
||||
return ACCOfNReport(@Last12MData(DefaultRepID(),46078),20201231,8,1);
|
||||
```
|
||||
|
||||
### `accOfNReport2(exp, report_id, n)`
|
||||
|
||||
N季加速度,与ACCOfNReport的区别在于仅支持季度数据计算,与系统证券相关
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | -------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,;如TTM归属母公司净利润为@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N季 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600000");
|
||||
Exp:=@reportofall(9900002,GetSysParam('DefaultRepID'));
|
||||
ReportID:=20211231;
|
||||
N:=8;
|
||||
return RobustACCOfNReport2(Exp,ReportID,N); //-0.2568
|
||||
```
|
||||
|
||||
### `avgOfNReport(exp, report_id, n, report_type)`
|
||||
|
||||
当前时间ReportID向前推N年,返回从ReportID-N到ReportID时间报告期Exp指标平均值,与系统参数(股票)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ---- | -------------------------------- |
|
||||
| `exp` | Expr | 函数表达式 |
|
||||
| `report_id` | int | 报告期 |
|
||||
| `n` | int | 整数,期数 |
|
||||
| `report_type` | int | 整数,0:年度,1:季度,默认年度 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `avgOfNReport2(exp, report_id, n)`
|
||||
|
||||
N个季度报告期数据的平均值,与系统证券相关
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | -------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,;如TTM归属母公司净利润为@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N季 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600000");
|
||||
Exp:=@reportofall(46002,GetSysParam('DefaultRepID'));
|
||||
ReportID:=20211231;
|
||||
N:=8;
|
||||
return AvgOfNReport2(Exp,ReportID,N); //122912375000
|
||||
```
|
||||
|
||||
### `continuedMatchOfNReport(exp, report_id, n)`
|
||||
|
||||
当前时间ReportID向前推N年,若从ReportID-N到ReportID时间均存在报告Exp则返回1,否则返回0,与系统参数(股票)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | -------------- |
|
||||
| `exp` | Expr | 布尔公式表达式 |
|
||||
| `report_id` | int | 报告期 |
|
||||
| `n` | int | 整数 |
|
||||
|
||||
返回:bool
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
判断2014到2015这两年平安银行年报是否全部存在
|
||||
SetSysParam(pn_stock(),'SZ000001');
|
||||
return ContinuedMatchOfNReport(@reportofall(46002,GetSysParam('DefaultRepID')),20151231,2);
|
||||
```
|
||||
|
||||
### `eaaOfNReport(exp, report_id, last_report_type)`
|
||||
|
||||
N期加速度EAA
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------------ | -------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,如TTM归属母公司净利润:@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `last_report_type` | int | 整数,上期报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600519");
|
||||
Exp:=@LastQuarterData(DefaultRepID(),46078);
|
||||
ReportID:=20211231;
|
||||
LastReportType:=0;
|
||||
t:=EAAOfNReport(Exp,ReportID,LastReportType);
|
||||
return t; //-0.016
|
||||
```
|
||||
|
||||
### `eavOfNReport(exp, report_id, n, report_type, last_report_type)`
|
||||
|
||||
N期加速度EAV
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------------ | -------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,如TTM归属母公司净利润:@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N期 |
|
||||
| `report_type` | int | 报告期类型 |
|
||||
| `last_report_type` | int | 整数,上期报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600519");
|
||||
Exp:=@LastQuarterData(DefaultRepID(),46078);
|
||||
ReportID:=20200930;
|
||||
N:=8;
|
||||
ReportType:=1; //0:年度,1:季度
|
||||
LastReportType:=0;
|
||||
t:=EAVOfNReport(Exp,ReportID,N,ReportType,LastReportType);
|
||||
return t; //-0.45
|
||||
```
|
||||
|
||||
### `growthOfNReport(exp, report_id, n, return_type)`
|
||||
|
||||
当前时间ReportID向前推N年,返回从ReportID-N与ReportID表达式Exp指标的增长比例,其中returntype决定增长模式,与系统参数(股票)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ---- | -------------------- |
|
||||
| `exp` | Expr | 函数表达式 |
|
||||
| `report_id` | int | 报告期 |
|
||||
| `n` | int | 整数 |
|
||||
| `return_type` | int | 用户自定义,返回类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
返回平安银行2014年与2015年报营业收入增长比例
|
||||
SetSysParam(pn_stock(),'SZ000001');
|
||||
return GrowthOfNReport(@reportofall(46002,GetSysParam('DefaultRepID')),20151231,1,1);
|
||||
```
|
||||
|
||||
### `highestOfNReport(exp, report_id, n, report_type)`
|
||||
|
||||
表达式N期最高
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `report_id` | int | 整数,报告期 |
|
||||
| `n` | int | 整数,期数 |
|
||||
| `report_type` | int | 整数,报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
return HighestOfNReport(@ReportOfAll(46080,DefaultRepID()),20221231,5,0);
|
||||
```
|
||||
|
||||
### `highGrowthOfNReport(exp, report_id, n, report_type, range)`
|
||||
|
||||
N期高速增长拐点:最近N期中,第N期数据上升且大于前N-1期极差的range倍 max=max(前N-1期数据) min=min(前N-1期数据) 第N期>上期+range\*(max-min)
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | -------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,如TTM归属母公司净利润:@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N期 |
|
||||
| `report_type` | int | 报告期类型 |
|
||||
| `range` | float | 实数,前N-1期极差的Range倍,用于衡量高速增长的幅度,默认取3 |
|
||||
|
||||
返回:bool
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SZ002340");
|
||||
Exp:=@LastQuarterData(GetSysParam('DefaultRepID'),9900604);
|
||||
ReportID:=20210331;
|
||||
N:=5;
|
||||
ReportType:=1; //0:年度,1:季度
|
||||
Range:=3;
|
||||
t:=HighGrowthOfNReport(Exp,ReportID,N,ReportType,Range);
|
||||
return t; //1
|
||||
```
|
||||
|
||||
### `lowestOfNReport(exp, report_id, n, report_type)`
|
||||
|
||||
表达式N期最低
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `report_id` | int | 整数,报告期 |
|
||||
| `n` | int | 整数,期数 |
|
||||
| `report_type` | int | 整数,报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
return lowestOfNReport(@ReportOfAll(46080,DefaultRepID()),20221231,5,0);
|
||||
```
|
||||
|
||||
### `occuredOfNReport(exp, report_id, n)`
|
||||
|
||||
当前时间ReportID向前推N年,返回从ReportID-N到ReportID时间发生报告Exp的次数,与系统参数(股票)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | -------------- |
|
||||
| `exp` | Expr | 布尔公式表达式 |
|
||||
| `report_id` | int | 报告期 |
|
||||
| `n` | int | 整数 |
|
||||
|
||||
返回:int
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
返回平安银行截止到2015年12月31日的所有年报数量
|
||||
SetSysParam(pn_stock(),'SZ000001');
|
||||
returnOccuredOfNReport(@reportofall(46002,GetSysParam('DefaultRepID')),20151231,100);
|
||||
```
|
||||
|
||||
### `occuredRepIdOfNReport(exp, report_id, n)`
|
||||
|
||||
当前时间ReportID向前推N年,若从ReportID-N到ReportID时间存在报告Exp则返回报告期,与系统参数(股票)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | -------------- |
|
||||
| `exp` | any | 布尔公式表达式 |
|
||||
| `report_id` | string | 报告期 |
|
||||
| `n` | any | 整数,期数 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `refReportValue(exp, report_id, n)`
|
||||
|
||||
当前时间ReportID向前推N年,返回ReportID-N时间点表达式 Exp指标值,与系统参数(股票)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | ---------- |
|
||||
| `exp` | Expr | 函数表达式 |
|
||||
| `report_id` | int | 报告期 |
|
||||
| `n` | int | 整数 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
返回平安银行2015年年报营业收入额
|
||||
SetSysParam(pn_stock(),'SZ000001');
|
||||
return RefReportValue(@reportofall(46002,GetSysParam('DefaultRepID')),20161231,1);
|
||||
```
|
||||
|
||||
### `robustAccOfNReport(exp, report_id, n, report_type, last_report_type)`
|
||||
|
||||
N期稳健加速度
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,通常以增长率来表示增速。;如TTM净利润增长率(%)表达式为@Last12MData(DefaultRepID(),9900604) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N期 |
|
||||
| `report_type` | int | 报告期类型 |
|
||||
| `last_report_type` | int | 整数,上期报告期类型,默认与ReportType取值相同(兼容历史) |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600519");
|
||||
return RobustACCOfNReport(@Last12MData(DefaultRepID(),9900604),20201231,8,0); // -0.0878801178157446
|
||||
```
|
||||
|
||||
### `robustAccOfNReport2(exp, report_id, n)`
|
||||
|
||||
N季稳健加速度,与RobustACCOfNReport的区别在于仅支持季度数据计算,与系统证券相关
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | -------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,;如TTM归属母公司净利润为@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N季 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600000");
|
||||
Exp:=@reportofall(9900002,GetSysParam('DefaultRepID'));
|
||||
ReportID:=20211231;
|
||||
N:=8;
|
||||
return RobustACCOfNReport2(Exp,ReportID,N); //-0.2568
|
||||
```
|
||||
|
||||
### `robustGrowthOfNReport2(exp, report_id, n)`
|
||||
|
||||
N季稳健增速,与RobustGrowthOfNReport的区别在于仅支持季度数据计算,与系统证券相关
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | -------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,;如TTM归属母公司净利润为@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N季 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600000");
|
||||
Exp:=@reportofall(9900002,GetSysParam('DefaultRepID'));
|
||||
ReportID:=20211231;
|
||||
N:=8;
|
||||
return RobustGrowthOfNReport2(Exp,ReportID,N); //-0.3269
|
||||
```
|
||||
|
||||
### `secondOrderGrowthOfNReport(exp, report_id, n, report_type)`
|
||||
|
||||
N期二阶增长拐点:最近N期中,前N-1期逐渐下降,第N期数据上升 l 参数: Exp:表达式类型,计算相关财务指标,一般与报告期相关,如TTM归属母公司净利润:@Last12MData(DefaultRepID(),46078) ReportID:报告期 N:整数,最近N期 ReportType:报告期类型 取值 含义 备注 0 年度标准(默认) 假设ReportID:=20200930,N=2,对应最近N个报告期为20190930、20200930 1 季度标准 假设ReportID:=20200930,N=2,对应最近N个报告期为20200630、20200930
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | -------- | ---- |
|
||||
| `exp` | expr | |
|
||||
| `report_id` | datetime | |
|
||||
| `n` | int | |
|
||||
| `report_type` | int | |
|
||||
|
||||
返回:bool
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SZ000636");
|
||||
Exp:=@LastQuarterData(GetSysParam('DefaultRepID'),9900604);
|
||||
ReportID:=20200331;
|
||||
N:=5;
|
||||
ReportType:=1; //0:年度,1:季度
|
||||
t:=SecondOrderGrowthOfNReport(Exp,ReportID,N,ReportType);
|
||||
return t; //1
|
||||
```
|
||||
|
||||
### `standGrowthOfNReport(exp, report_id, n, report_type)`
|
||||
|
||||
N期标准化增长率
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | -------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,如TTM归属母公司净利润:@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N期 |
|
||||
| `report_type` | int | 报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600519");
|
||||
Exp:=@LastQuarterData(GetSysParam('DefaultRepID'),46078);
|
||||
ReportID:=20211231;
|
||||
N:=8;
|
||||
ReportType:=1; //0:年度,1:季度
|
||||
t:=StandGrowthOfNReport(Exp,ReportID,N,ReportType);
|
||||
return t; //1.265
|
||||
```
|
||||
|
||||
### `stdOfNReport2(exp, report_id, n)`
|
||||
|
||||
N个季度报告期数据的标准差,与系统证券相关
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | -------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,;如TTM归属母公司净利润为@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N季 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600000");
|
||||
Exp:=@reportofall(46002,GetSysParam('DefaultRepID'));
|
||||
ReportID:=20211231;
|
||||
N:=8;
|
||||
return StdOfNReport2(Exp,ReportID,N); //56286669451.8528
|
||||
```
|
||||
|
||||
### `sumOfNReport(exp, report_id, n)`
|
||||
|
||||
当前时间ReportID向前推N年,返回从ReportID-N到ReportID时间报告期Exp指标和,与系统参数(股票)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | ---------- |
|
||||
| `exp` | Expr | 函数表达式 |
|
||||
| `report_id` | int | 报告期 |
|
||||
| `n` | int | 整数,期数 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
计算平安银行2015年报与2014年报营业收入的和
|
||||
SetSysParam(pn_stock(),'SZ000001');
|
||||
return SumOfNReport(@reportofall(46002,GetSysParam('DefaultRepID')),20151231,2);
|
||||
```
|
||||
|
||||
### `sumOfNReport2(exp, report_id, n)`
|
||||
|
||||
N个季度报告期数据之和,与系统证券相关
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | -------- | --------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,;如TTM归属母公司净利润@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N季 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600000");
|
||||
Exp:=@reportofall(46002,GetSysParam('DefaultRepID'));
|
||||
ReportID:=20211231;
|
||||
N:=8;
|
||||
return SumOfNReport2(Exp,ReportID,N); //983299000000
|
||||
```
|
||||
|
||||
### `turnPositiveOfNReport(exp, report_id, n, report_type)`
|
||||
|
||||
N期转正拐点:最近N期中,前N-1期数据小于0,第N期数据大于0
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | -------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | expr | 表达式类型,计算相关财务指标,一般与报告期相关,如TTM归属母公司净利润:@Last12MData(DefaultRepID(),46078) |
|
||||
| `report_id` | datetime | 报告期 |
|
||||
| `n` | int | 整数,最近N期 |
|
||||
| `report_type` | int | 报告期类型 |
|
||||
|
||||
返回:bool
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),"SH600110");
|
||||
Exp:=@LastQuarterData(GetSysParam('DefaultRepID'),42017); //季度扣非净利润
|
||||
ReportID:=20210331;
|
||||
N:=5;
|
||||
ReportType:=1; //0:年度,1:季度
|
||||
t:=TurnPositiveOfNReport(Exp,ReportID,N,ReportType);
|
||||
return t; //1
|
||||
```
|
||||
|
||||
### `robustGrowthOfNReport(exp, report_id, n, report_type)`
|
||||
|
||||
过去N期稳健增速,与系统证券相关
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `exp` | TExpression | 表达式类型,计算相关财务指标,一般与报告期相关,通常以增长率来表示增速. |
|
||||
| `report_id` | RDate | 报告期 |
|
||||
| `n` | Int | 整数,最近N期 |
|
||||
| `report_type` | Int | 报告期类型 |
|
||||
|
||||
返回:Real
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setSysParam(pn_stock(),"SH600519");
|
||||
return robustGrowthOfNReport(@last12MData(defaultRepId(),9900604),
|
||||
20201231,8,0); // 0.916987656203954
|
||||
```
|
||||
@@ -0,0 +1,100 @@
|
||||
# 数据仓库 / N日
|
||||
|
||||
### `deltaOfNDay(exp, n)`
|
||||
|
||||
当前值-前N日值。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ------ | ------------------ |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `n` | int | 整数。天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
SetSysParam(pn_date(),20231010T);
|
||||
return DeltaOfNDay(@close(),5);
|
||||
```
|
||||
|
||||
### `percentRankOfNDay(exp, n, cache_str)`
|
||||
|
||||
当前值在最近N天的百分位排名,Nan值不参与排名。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------ |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `n` | int | 整数。天数 |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
SetSysParam(pn_date(),20231030T);
|
||||
return PercentRankOfNDay(@close(),10,"");
|
||||
```
|
||||
|
||||
### `signedPower(exp, n)`
|
||||
|
||||
符号次方。特殊当x=0时,N<0,返回Nan;N=0, 返回1;N>0, 返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ------ | ------------------ |
|
||||
| `exp` | string | 字符串。函数表达式 |
|
||||
| `n` | int | 实数。次方 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
SetSysParam(pn_date(),20231030T);
|
||||
return SignedPower(@close(),3);
|
||||
```
|
||||
|
||||
### `slopeofNday(exp1, exp2, n, cache_str)`
|
||||
|
||||
N日线性回归系数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | -------------------- |
|
||||
| `exp1` | string | 字符串。因变量表达式 |
|
||||
| `exp2` | string | 字符串。自变量表达式 |
|
||||
| `n` | int | 整数。交易日天数 |
|
||||
| `cache_str` | string | 字符串。缓存字段 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
SetSysParam(pn_date(),20231030T);
|
||||
return SlopeofNday(@close(),@open(),30,"");
|
||||
```
|
||||
|
||||
### `wmaofNday(exp, n, cache_astr)`
|
||||
|
||||
N日衰减加权。最新值权重最大,权重归一化,结果同DecayAvgOfNDay。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ------------------ |
|
||||
| `exp` | string | 字符串。函数表达式 |
|
||||
| `n` | int | 整数。天数 |
|
||||
| `cache_astr` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
SetSysParam(pn_date(),20231030T);
|
||||
return WmaofNday(@open(),30,"");
|
||||
```
|
||||
@@ -0,0 +1,187 @@
|
||||
# 数据仓库 / 周期函数
|
||||
|
||||
### `cy10M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy10S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy120M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy12S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy15M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy15S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy1M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy1S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy20M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy20S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy2M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy2S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy30M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy30S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy3M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy3S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy40M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy4S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy5M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy5S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy60M()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cy6S()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cyDay()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cyDetail()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cyHalfs()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cyHalfYear()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cyMonth()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cyQuarter()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cyTwoYear()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cyWeek()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `cyYear()`
|
||||
|
||||
周期函数相关函数。
|
||||
|
||||
返回:any
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,256 @@
|
||||
# 数据仓库 / 判定函数
|
||||
|
||||
### `baseExists(info_id, _order)`
|
||||
|
||||
返回是否存在某项和报告期无关的数据,例如公司简称、注册地址等
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ---- | ----------------------------------------------------------------------- |
|
||||
| `info_id` | int | 信息类别代码,infoID参见附录。 |
|
||||
| `_order` | int | 省略此参数取最后一次更新,否则为第几条数据。0表示第一条,-1表示最后一条 |
|
||||
|
||||
返回:bool
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),'SZ000002');
|
||||
if BaseExists(10002) then
|
||||
return base(10002);
|
||||
```
|
||||
|
||||
### `basicIdExists(id)`
|
||||
|
||||
返回某信息ID是否存在
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ---- | -------------------- |
|
||||
| `id` | int | 整数,某信息的ID号。 |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `continuedMatchOfRepPeriod(expr, beg_report, end_year)`
|
||||
|
||||
判断在区间BegReport到EndYear中是否存在运行表达式Exp的值,若存在返回1,否则返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ---- | ------------------ |
|
||||
| `expr` | any | 布尔公式表达式 |
|
||||
| `beg_report` | any | 开始期,开始报告期 |
|
||||
| `end_year` | any | 年份,截止年份 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `getExpCaceStr(exp, cache_str)`
|
||||
|
||||
判断是否缓存以及返回缓存串。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | -------- |
|
||||
| `exp` | string | 字符串。 |
|
||||
| `cache_str` | string | 字符串。 |
|
||||
|
||||
返回:string
|
||||
|
||||
### `isBalanceInfoId(infold)`
|
||||
|
||||
是否是资产负债表指标。是则返回1,否则返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---- | ---------------- |
|
||||
| `infold` | int | 基本面,基本面ID |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isCashFlowInfoId(infold)`
|
||||
|
||||
判断是否是现金流量表指标,如果是则返回1,否则返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---- | ---------------- |
|
||||
| `infold` | int | 基本面,基本面ID |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isFinancialInfoId(info_id)`
|
||||
|
||||
是否是主要财务指标(仅Wind适用),兼容Wind的主要财务指标也计算最近12个月的数据。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ---- | -------------- |
|
||||
| `info_id` | int | 整数。基本面Id |
|
||||
|
||||
返回:int
|
||||
|
||||
### `isFundBalanceSheetInfoId(infold)`
|
||||
|
||||
是否是基金资产负债表字段。是则返回1,否则返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---- | ---- |
|
||||
| `infold` | int | 整数 |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isFundInterestInfoId(infold)`
|
||||
|
||||
是否是基金利润分配表表字段。是则返回1,否则返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---- | ---- |
|
||||
| `infold` | int | 整数 |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isInterestInfoId(infold)`
|
||||
|
||||
是否是利润分配表指标。是则返回1,否则返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---- | ---------------- |
|
||||
| `infold` | int | 基本面,基本面ID |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isMainReportId(infold)`
|
||||
|
||||
判断是否是主要报告指标,如果是返回1,否则返回0。指标包括资产负债表,利润分配表,现金流量表,基金资产负债表,基金利润分配表,股票财务指标。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---- | ---------------- |
|
||||
| `infold` | int | 基本面,基本面ID |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isStock(stock_id)`
|
||||
|
||||
判定函数相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ---- |
|
||||
| `stock_id` | string | |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isStockFinancialItem(infold)`
|
||||
|
||||
是否是股票财务指标。是则返回1,否则返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---- | ---- |
|
||||
| `infold` | int | 整数 |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isTimePeriodInfoId(info_id)`
|
||||
|
||||
是否是时段指标。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ---- | ---------------- |
|
||||
| `info_id` | int | 整数。基本面Id。 |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isTradeDay(date)`
|
||||
|
||||
如果当前股票在Date指定日交易则返回1,否则返回0。 该函数的判断是依据指定日是否有日线行情数据,不管当日是否有成交量。 比如期货不活跃时,当日可能没有成交量,但是也有行情数据,则判断当日也是交易日。 一般用于判断当前股票在指定日是否停牌。 支持周期:日线及更低频,比如周线、月线等。若是周线,则判断这一周内是否有日线数据,若有则为真,若一条都没有则为假。即,不支持高频的判定。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | -------- | ---------------- |
|
||||
| `date` | datetime | 日期类型,日期; |
|
||||
|
||||
返回:bool
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),'SZ000002');
|
||||
return IsTradeDay(inttodate(20110828));//返回0
|
||||
```
|
||||
|
||||
### `isValidCode(id, full_id)`
|
||||
|
||||
判断是否为合法的代码。判断是否合法代码的规则与isstock类似。如果ID是合法的代码,FullID返回的值为标准化后的天软代码,否则为0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | ------------------------------------ |
|
||||
| `id` | string | 字符串,证券代码; |
|
||||
| `full_id` | string | 字符串,标准化后的证券代码,可省略; |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isValidPositiveValue(v)`
|
||||
|
||||
判断是否为大于0的实数,如果是返回1,否则返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ---- | ---- |
|
||||
| `v` | int | 实数 |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `isValidValue(v)`
|
||||
|
||||
判断V是否是一个数字类型(整数或者实数),如果是非空实数,则返回1,否则返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ---- | ---- |
|
||||
| `v` | int | 整数 |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `reportExists(info_id, report_id)`
|
||||
|
||||
返回是否存在某个报告期的某项财务指标
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `info_id` | int | 信息类别代码,包括财务指标和其他信息,每项信息有一个InfoID编号,infoID参见附录。 |
|
||||
| `report_id` | int | 报告期代码,一般为YEAR + Code指定,Code为0630表示中报,1231表示年报。0331第一季度,0930第三季度。0001为自然周第一周周报,0002为第二周,以此类推如果ReportID,使用0表示最新报告期。 |
|
||||
|
||||
返回:bool
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),'SH601888');
|
||||
return ReportExists(18007,20101231); //返回1,是
|
||||
```
|
||||
|
||||
### `reportHistExists(infoid)`
|
||||
|
||||
返回某项数据是否存在有报告
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---- | ------------------------------ |
|
||||
| `infoid` | int | 信息类别代码,infoID参见附录。 |
|
||||
|
||||
返回:bool
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),'SZ300002');
|
||||
return ReportHistExists(18007);
|
||||
```
|
||||
|
||||
### `testStock(stock_id)`
|
||||
|
||||
判定函数相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ---- |
|
||||
| `stock_id` | string | |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `validFullCode(stock_id)`
|
||||
|
||||
判定函数相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ---- |
|
||||
| `stock_id` | string | |
|
||||
|
||||
返回:string
|
||||
@@ -0,0 +1,295 @@
|
||||
# 数据仓库 / 区间
|
||||
|
||||
### `avgOfRepPeriod(exp, begreport, end_year)`
|
||||
|
||||
返回当前股票从报告期BegReport到EndYear同季度报告期的Expr指标的平均值,与系统参数(股票)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | ------------------ |
|
||||
| `exp` | Expr | 函数表达式 |
|
||||
| `begreport` | int | 报告期,开始报告期 |
|
||||
| `end_year` | int | 年份,截止年份 |
|
||||
|
||||
返回:int
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
平安银行2015到2018四个一季报营业收入的平均值
|
||||
SetSysParam(pn_stock(),'sz000001');
|
||||
return AvgOfRepPeriod(@reportofall(46002,GetSysParam('DefaultRepID')),20150331,2018);
|
||||
```
|
||||
|
||||
### `avgOfRepPeriod2(exp, beg_report, end_report, report_type)`
|
||||
|
||||
表达式区间平均
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_report` | int | 整数,开始报告期 |
|
||||
| `end_report` | int | 整数,截止报告期 |
|
||||
| `report_type` | int | 整数,报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SZ000001");
|
||||
return AvgOfRepPeriod2(@reportofall(46002,GetSysParam('DefaultRepID')),20201231,20221231,0);
|
||||
```
|
||||
|
||||
### `growthOfRepPeriod2(exp, beg_report, end_report, return_type, report_type)`
|
||||
|
||||
表达式区间增长
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_report` | int | 整数,开始报告期 |
|
||||
| `end_report` | int | 整数,截止报告期 |
|
||||
| `return_type` | int | 整数,返回类型 |
|
||||
| `report_type` | int | 整数,报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SZ000001");
|
||||
return GrowthOfRepPeriod2(@reportofall(46002,GetSysParam('DefaultRepID')),20201231,20221231,1);
|
||||
```
|
||||
|
||||
### `highestOfRepPeriod2(exp, beg_report, end_report, report_type)`
|
||||
|
||||
表达式区间最高
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_report` | int | 整数,开始报告期 |
|
||||
| `end_report` | int | 整数,截止报告期 |
|
||||
| `report_type` | int | 整数,报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SZ000001");
|
||||
return HighestOfRepPeriod2(@reportofall(46002,GetSysParam('DefaultRepID')),20201231,20221231,0);
|
||||
```
|
||||
|
||||
### `kurtosisOfPeriod(exp, beg_date, end_date)`
|
||||
|
||||
表达式区间峰度
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | -------- | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_date` | datetime | 日期,开始日期 |
|
||||
| `end_date` | datetime | 日期,截止日期 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
return KurtosisOfPeriod(@close(),20230101T,20231010T);
|
||||
```
|
||||
|
||||
### `lowestOfRepPeriod2(exp, beg_report, end_report, report_type)`
|
||||
|
||||
表达式区间最低
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_report` | int | 整数,开始报告期 |
|
||||
| `end_report` | int | 整数,截止报告期 |
|
||||
| `report_type` | int | 整数,报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SZ000001");
|
||||
return LowestOfRepPeriod2(@reportofall(46002,GetSysParam('DefaultRepID')),20201231,20221231,0);
|
||||
```
|
||||
|
||||
### `medianOfPeriod(exp, beg_date, end_date)`
|
||||
|
||||
表达式区间中位数
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | -------- | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_date` | datetime | 日期,开始日期 |
|
||||
| `end_date` | datetime | 日期,截止日期 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
return MedianOfPeriod(@close(),20230101T,20231010T);
|
||||
```
|
||||
|
||||
### `occuredOfPeriod(exp, beg_date, end_date)`
|
||||
|
||||
表达式区间发生次数
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | -------- | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_date` | datetime | 日期,开始日期 |
|
||||
| `end_date` | datetime | 日期,截止日期 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
return OccuredOfPeriod(@IsUp(),20230101T,20231010T);
|
||||
```
|
||||
|
||||
### `occuredOfRepPeriod(exp, begreport, end_year)`
|
||||
|
||||
返回当前股票从BegReport到EndYear的同季度报告期数,与系统参数(股票)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | ------------------ |
|
||||
| `exp` | Expr | 布尔公式表达式 |
|
||||
| `begreport` | int | 报告期,开始报告期 |
|
||||
| `end_year` | int | 年份,截止年份 |
|
||||
|
||||
返回:int
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),'SZ000001');
|
||||
return OccuredOfRepPeriod(@reportofall(46002,GetSysParam('DefaultRepID')),20150331,2018);//即返回2015年到2018年一季报的数量
|
||||
```
|
||||
|
||||
### `percentRankOfPeriod(exp, beg_date, end_date)`
|
||||
|
||||
表达式区间分位数
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | -------- | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_date` | datetime | 日期,开始日期 |
|
||||
| `end_date` | datetime | 日期,截止日期 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
return PercentRankOfPeriod(@close(),20230101T,20231010T);
|
||||
```
|
||||
|
||||
### `skewnessOfPeriod(exp, beg_date, end_date)`
|
||||
|
||||
表达式区间偏度
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | -------- | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_date` | datetime | 日期,开始日期 |
|
||||
| `end_date` | datetime | 日期,截止日期 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
return SkewnessOfPeriod(@close(),20230101T,20231010T);
|
||||
```
|
||||
|
||||
### `stdOfPeriod(exp, beg_date, end_date)`
|
||||
|
||||
表达式区间标准差
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | -------- | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_date` | datetime | 日期,开始日期 |
|
||||
| `end_date` | datetime | 日期,截止日期 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
return StdOfPeriod(@close(),20230101T,20231010T);
|
||||
```
|
||||
|
||||
### `stdOfRepPeriod2(exp, beg_report, end_report, report_type)`
|
||||
|
||||
表达式区间标准差
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_report` | int | 整数,开始报告期 |
|
||||
| `end_report` | int | 整数,截止报告期 |
|
||||
| `report_type` | int | 整数,报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SZ000001");
|
||||
return StdOfRepPeriod2(@reportofall(46002,GetSysParam('DefaultRepID')),20201231,20221231,0);
|
||||
```
|
||||
|
||||
### `sumOfRepPeriod(exp, begreport, end_year)`
|
||||
|
||||
返回当前股票Expr指标从报告期BegReport到EndYear同季度报告期的和,与系统参数(股票)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | ------------------ |
|
||||
| `exp` | Expr | 函数表达式 |
|
||||
| `begreport` | int | 报告期,开始报告期 |
|
||||
| `end_year` | int | 年份,截止年份 |
|
||||
|
||||
返回:int
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
平安银行2015到2018四个一季报营业收入的和
|
||||
SetSysParam(pn_stock(),'sz000001');
|
||||
return SumOfRepPeriod(@reportofall(46002,GetSysParam('DefaultRepID')),20150331,2018);
|
||||
```
|
||||
|
||||
### `sumOfRepPeriod2(exp, beg_report, end_report, report_type)`
|
||||
|
||||
表达式区间和
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_report` | int | 整数,开始报告期 |
|
||||
| `end_report` | int | 整数,截止报告期 |
|
||||
| `report_type` | int | 整数,报告期类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SZ000001");
|
||||
return SumOfRepPeriod2(@reportofall(46002,GetSysParam('DefaultRepID')),20201231,20221231,0);
|
||||
```
|
||||
@@ -0,0 +1,155 @@
|
||||
# 数据仓库 / 选股与取数
|
||||
|
||||
### `defaultRepId()`
|
||||
|
||||
选股与取数相关函数。
|
||||
|
||||
返回:int
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
oV:=BackUpSystemParameters2();
|
||||
setsysparam(pn_stock(),'SZ000002');
|
||||
RDate:= DefaultRepID();
|
||||
V:=ReportNew(46002,RDate);
|
||||
return v;
|
||||
```
|
||||
|
||||
### `evalstring(s)`
|
||||
|
||||
内核使用,返回表达式s的值。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | -------------- |
|
||||
| `s` | string | 字符串,表达式 |
|
||||
|
||||
返回:int
|
||||
|
||||
### `queryBk(arg1, arg2, expression_3, arg4, arg5, expression_6, arg7, expression_8, arg9, expression_10, arg11, expression_12)`
|
||||
|
||||
选股与取数相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------------- | ------ | ---- |
|
||||
| `arg1` | string | |
|
||||
| `arg2` | string | |
|
||||
| `expression_3` | object | |
|
||||
| `arg4` | string | |
|
||||
| `arg5` | string | |
|
||||
| `expression_6` | object | |
|
||||
| `arg7` | string | |
|
||||
| `expression_8` | object | |
|
||||
| `arg9` | string | |
|
||||
| `expression_10` | object | |
|
||||
| `arg11` | string | |
|
||||
| `expression_12` | object | |
|
||||
|
||||
返回:array
|
||||
|
||||
### `queryBkWithPeriod(arg1, arg2, expression_3, arg4, arg5, expression_6, arg7, expression_8, arg9, expression_10)`
|
||||
|
||||
选股与取数相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------------- | ------ | ---- |
|
||||
| `arg1` | string | |
|
||||
| `arg2` | string | |
|
||||
| `expression_3` | object | |
|
||||
| `arg4` | string | |
|
||||
| `arg5` | string | |
|
||||
| `expression_6` | object | |
|
||||
| `arg7` | string | |
|
||||
| `expression_8` | object | |
|
||||
| `arg9` | string | |
|
||||
| `expression_10` | object | |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_begt(),inttodate(20120801));
|
||||
setsysparam(pn_endt(),inttodate(20121001));
|
||||
setsysparam("TimeIndex",1);
|
||||
return
|
||||
QueryBKWithPeriod("深证A股","",@True,"","换手率(%)(加权,只考虑A股)",@Bk_HSL3(0,1),
|
||||
"成交量(万)(只考虑A股)",@Bk_VolSum3(1),
|
||||
"成交金额(万)(只考虑A股)",@Bk_AmountSum3(1));
|
||||
```
|
||||
|
||||
### `qwpMaxCount()`
|
||||
|
||||
选股与取数相关函数。
|
||||
|
||||
返回:int
|
||||
|
||||
### `query(market_list, stock_id_list, condition, sort_field, field_name_n, expression_n)`
|
||||
|
||||
报表生成函数,在指定的市场列表MarketList和股票列表内满足条件的股票列出来,并按照SortName排序,并列出相关的数据信息
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ----------- | ------------------------------------------------------------- |
|
||||
| `market_list` | String | 市场板块列表,字符串 |
|
||||
| `stock_id_list` | string | 股票ID列表,字符串 |
|
||||
| `condition` | Boolean | 布尔型,选股条件,如果只取值,没有条件限制,则condition取true |
|
||||
| `sort_field` | String | 字符串,排序字段 |
|
||||
| `field_name_n` | String | 字符串,字段名称 |
|
||||
| `expression_n` | texpression | TExpression表达式,字段内容 |
|
||||
|
||||
返回:array,tablearray
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//查询指定日期,在板块上证A股;创业板以及SZ000001;SZ000002;SZ000997中满足
|
||||
//收盘价大于10日均线的股票的以下信息:证券代码、证券名称,收盘价。
|
||||
setSysParam(pn_date(),intToDate(20110909));
|
||||
data := query('上证A股;创业板','SZ000001;SZ000002;SZ000997',
|
||||
close()>ma(close(),10),'',
|
||||
'证券代码',defaultStockId(),
|
||||
'证券名称',currentStockName(),
|
||||
'收盘价',close());
|
||||
return data;
|
||||
结果:
|
||||
```
|
||||
|
||||
### `getDataByMd(stockid, n)`
|
||||
|
||||
使用Md获取指定日数据,与系统参数(时间)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `stockid` | String | 字符串。证券代码 |
|
||||
| `n` | Integer | 整数。第几个数据 |
|
||||
|
||||
返回:Real
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
// "MA110C2375"在20210322日的开仓手续费额
|
||||
setSysParam(PN_Date(),20210322T);
|
||||
return getDataByMd("MA110C2375.SP",1);
|
||||
//结果:0.5
|
||||
```
|
||||
|
||||
### `getDataByMd2(stockid, n)`
|
||||
|
||||
使用Md获取指定日数据(考虑交易日),与系统参数(时间)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `stockid` | String | 字符串。证券代码 |
|
||||
| `n` | Integer | 整数。第几个数据 |
|
||||
|
||||
返回:Real
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
// "MA110C2375"在20210322日的开仓手续费额
|
||||
setSysParam(PN_Date(),20210322T);
|
||||
return getDataByMd2("MA110C2375.SP",1);
|
||||
//结果:0.5
|
||||
```
|
||||
@@ -0,0 +1,40 @@
|
||||
# 数据仓库 / 系统参数设置和获取函数
|
||||
|
||||
### `cyclefilter()`
|
||||
|
||||
设置周期过滤器以及集合竞价分离器。它是系统参数键,不是函数调用。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---- | ------------------------------------------------------------------------------------------------------------- |
|
||||
| `value` | any | 通过 `setSysParam("cyclefilter", value)` 设置;`0` 取消过滤,`1` 过滤期货放假期间夜盘,`3` 新增集合竞价周期点 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `getSysParam(param_name)`
|
||||
|
||||
返回系统参数的值。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---------- | ------------------------ |
|
||||
| `param_name` | widestring | 字符串类型,系统参数名。 |
|
||||
|
||||
返回:any
|
||||
|
||||
|
||||
### `setSysParam(param_name, param_value)`
|
||||
|
||||
设置系统参数,既对本地执行有效,也对平台执行有效。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ---------- | ------------------------ |
|
||||
| `param_name` | WideString | 字符串类型,系统参数名。 |
|
||||
| `param_value` | olevariant | 要设置的系统参数值。 |
|
||||
|
||||
返回:any
|
||||
|
||||
|
||||
### `nDay()`
|
||||
|
||||
整数类型,NDAY默认返回的点数系统参数,读写。
|
||||
|
||||
返回:any
|
||||
@@ -0,0 +1,107 @@
|
||||
# 数据仓库 / 系统参数名称函数
|
||||
|
||||
### `pnCalcCtrlWord(return_value)`
|
||||
|
||||
系统参数常量"CalcCTRLWord"; 控制nil参与计算以及浮点除0的警告或者出错
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------ | ------------------------ |
|
||||
| `return_value` | string | 返回字符串"CalcCTRLWord" |
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnChangedDateMode()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnCycle()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnDate()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnEmptymode()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnFreeCycle()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnI64Trans()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnNDay()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnNilTrans()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnNoRaiseNoData()`
|
||||
|
||||
获取/设置“无数据不抛异常”的系统参数键。
|
||||
|
||||
返回:array
|
||||
|
||||
### `pnPrecision()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnRate()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnRateDay()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnReportMode()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnReportType()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnStock()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
|
||||
### `pnViewPoint()`
|
||||
|
||||
返回数据仓库相关系统参数名。
|
||||
|
||||
返回:string
|
||||
@@ -0,0 +1,35 @@
|
||||
# 数据仓库 / 时间相关函数
|
||||
|
||||
### `firstDay(stock_id)`
|
||||
|
||||
时间相关函数相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ---- |
|
||||
| `stock_id` | string | |
|
||||
|
||||
返回:datetime
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),'SZ000002');
|
||||
Return firstday();//33240(1991-01-02);
|
||||
```
|
||||
|
||||
### `lastDay(stock_id)`
|
||||
|
||||
时间相关函数相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ---- |
|
||||
| `stock_id` | string | |
|
||||
|
||||
返回:datetime
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
setsysparam(pn_stock(),'SZ000002');
|
||||
return lastday();//40794 (2011-09-08)
|
||||
```
|
||||
@@ -0,0 +1,268 @@
|
||||
# 数据仓库 / 时间序列统计
|
||||
|
||||
### `spMedian(arg1, arg2)`
|
||||
|
||||
时间序列统计相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | -------- | ---- |
|
||||
| `arg1` | any | |
|
||||
| `arg2` | datetime | |
|
||||
|
||||
返回:any
|
||||
|
||||
### `spMode(arg1, arg2)`
|
||||
|
||||
时间序列统计相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | -------- | ---- |
|
||||
| `arg1` | any | |
|
||||
| `arg2` | datetime | |
|
||||
|
||||
返回:any
|
||||
|
||||
### `spNorm(stock_id, arg2)`
|
||||
|
||||
时间序列统计相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ---- |
|
||||
| `stock_id` | string | |
|
||||
| `arg2` | any | |
|
||||
|
||||
返回:any
|
||||
|
||||
### `spProduct(stock_id, arg2)`
|
||||
|
||||
时间序列统计相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ---- |
|
||||
| `stock_id` | string | |
|
||||
| `arg2` | any | |
|
||||
|
||||
返回:any
|
||||
|
||||
### `spRank(arg1, arg2, arg3)`
|
||||
|
||||
时间序列统计相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | ---- |
|
||||
| `arg1` | any | |
|
||||
| `arg2` | any | |
|
||||
| `arg3` | any | |
|
||||
|
||||
返回:any
|
||||
|
||||
### `hhv(exp, n, cache_string)`
|
||||
|
||||
返回N日最高的Exp的值,与系统参数(股票、时间、周期等相关),查看相关行情数据说明。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `exp` | TExpression | TExpression型表达式 |
|
||||
| `n` | integer | 整数,天数。N为0时,从上市日算起;注意,计算上市以来的最高/最低时,0必须用常量。比如hhv(high(),0)。不能以变量的方式传递:N:=0; hhv(high(),N),会报错。 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:real
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//获取万科A(SZ000002)截止2011-09-09日14个交易日内的最高,最低的收盘价以及
|
||||
//发生日期。
|
||||
setSysParam(pn_stock(),'SZ000002');
|
||||
setSysParam(pn_date(),intToDate(20110909));
|
||||
n := 14;
|
||||
r := array('h_value':hhv(close(),n),
|
||||
'h_date':dateToStr(getSysParam('hhvtime')),
|
||||
'l_value':llv(close(),n),
|
||||
'l_date':dateToStr(getSysParam('llvtime'))
|
||||
);
|
||||
return r;
|
||||
结果:
|
||||
```
|
||||
|
||||
|
||||
### `llv(exp, n, cache_string)`
|
||||
|
||||
返回N日最低的Exp的值,与系统参数(股票、时间、周期等相关),查看相关行情数据说明。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `exp` | TExpression | TExpression型表达式 |
|
||||
| `n` | integer | 整数,天数。N为0时,从上市日算起;N为负数时无效。注意,计算上市以来的最高/最低时,0必须用常量。比如llv(close(),0)。不能以变量的方式:N:=0; llv(close(),N),会报错。 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:real
|
||||
|
||||
|
||||
### `ma(exp, n, cache_string)`
|
||||
|
||||
返回N日Exp的平均值,与系统参数(股票、时间、周期等相关)。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ----------- | --------------------------------------------------------------------- |
|
||||
| `exp` | TExpression | TExpression型表达式 |
|
||||
| `n` | integer | 整数,天数。N为0时,返回当天值;N为-1时无效。 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:real
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
范例一:
|
||||
//获得万科A(SZ000002)在2011-09-09日的10日均价
|
||||
setSysParam(pn_stock(),'SZ000002');
|
||||
setSysParam(pn_date(),intToDate(20110909));
|
||||
n := 10;
|
||||
return ma(close(),n);
|
||||
//返回8.103
|
||||
范例二:
|
||||
//获取万科A一段时间的10日均价
|
||||
setSysParam(pn_stock(),"SZ000002");
|
||||
setSysParam(pn_date(),strToDate("2014-01-15"));
|
||||
t := nDay(100,'time',sp_time(),'close',close(),'ma10',ma(close(),10),'ma20',ma(close(),20));
|
||||
return t;
|
||||
结果:
|
||||
```
|
||||
|
||||
|
||||
### `ema(exp, n, cache_string)`
|
||||
|
||||
返回N日Exp的移动平均,与系统参数(股票、时间、周期等相关)。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ----------- | --------------------------------------------------------------------- |
|
||||
| `exp` | TExpression | TExpression型表达式; |
|
||||
| `n` | integer | 整数,天数;N为-1,0时无效。 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:real
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//获得万科A(SZ000002)在2011-09-09日的10日平滑移动均价
|
||||
setSysParam(pn_stock(),'SZ000002');
|
||||
setSysParam(pn_date(),intToDate(20110909));
|
||||
n := 10;
|
||||
return ema(close(),n);
|
||||
// 结果:8.1158
|
||||
```
|
||||
|
||||
|
||||
### `sma(exp, n, m, cache_string)`
|
||||
|
||||
求Exp的N日平滑移动平均,M为权重。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ----------- | --------------------------------------------------------------------- |
|
||||
| `exp` | TExpression | TExpression型表达式 |
|
||||
| `n` | integer | 整数,天数 |
|
||||
| `m` | integer | 整数,权重 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:real
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//获得万科A(SZ000002)在2011-09-09日的10日平滑移动均价,3为权重
|
||||
setSysParam(pn_stock(),'SZ000002');
|
||||
setSysParam(pn_date(),intToDate(20110909));
|
||||
n := 10;
|
||||
m := 3;
|
||||
return sma(close(),n,m);//返回8.0914
|
||||
```
|
||||
|
||||
|
||||
### `count(exp, n, cache_string)`
|
||||
|
||||
统计N天中表达式Exp值为真的天数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ----------- | --------------------------------------------------------------------- |
|
||||
| `exp` | TExpression | 表达式类型 |
|
||||
| `n` | integer | 整数,交易日天数,如果为-1表示从上市第一天起统计 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:integer
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//上证指数在最近100天内的上涨天数;
|
||||
setSysParam(pn_stock(),'SH000001');
|
||||
setSysParam(pn_date(),intToDate(20140122));
|
||||
return count(isUp(),100);
|
||||
//返回47。
|
||||
```
|
||||
|
||||
|
||||
### `sumN(exp, n, cache_string)`
|
||||
|
||||
求Exp的N日累加和。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ----------- | --------------------------------------------------------------------- |
|
||||
| `exp` | TExpression | TExpression型表达式 |
|
||||
| `n` | integer | 整数,交易日天数,如果为-1表示从上市第一天起统计 |
|
||||
| `cache_string` | string | 可选参数,字符串类型,缓存标志串。参见:时间序列统计缓存标志与性能加速 |
|
||||
|
||||
返回:real
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//获得万科A(SZ000002)在2011-09-09日的5日总成交量
|
||||
setSysParam(pn_stock(),'SZ000002');
|
||||
setSysParam(pn_date(),intToDate(20110909));
|
||||
return sumN(vol(),5); // 返回152502152
|
||||
```
|
||||
|
||||
|
||||
### `cross(a, b)`
|
||||
|
||||
A线从下面穿越B线时返回1,从A上面向下穿越B时返回-1,否则返回0。与系统参数(股票、时间、周期等相关)
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----------- | ------------------- |
|
||||
| `a` | TExpression | TExpression型表达式 |
|
||||
| `b` | TExpression | TExpression型表达式 |
|
||||
|
||||
返回:integer
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//万科在指定区间内的均线穿越情况;
|
||||
setSysParam(pn_stock(),'SZ000002');
|
||||
end_date := intToDate(20110829);
|
||||
beg_date := incWeek(end_date,-1); //end_date 前推一个
|
||||
r := array();
|
||||
i := 0;
|
||||
for d := end_date downto beg_date do
|
||||
begin
|
||||
if not isTradeDay(d) then continue;
|
||||
setSysParam(pn_date(),d);
|
||||
r[i]['date'] := dateToStr(d);
|
||||
case cross(close(),ma(close(),5)) of
|
||||
1:begin
|
||||
r[i]['cross_state'] := '突破5日均线';
|
||||
end
|
||||
-1:begin
|
||||
r[i]['cross_state'] := '跌破5日均线';
|
||||
end
|
||||
0:begin
|
||||
r[i]['cross_state'] := '';
|
||||
end
|
||||
end;
|
||||
i++;
|
||||
end;
|
||||
return r;
|
||||
返回结果:
|
||||
```
|
||||
@@ -0,0 +1,103 @@
|
||||
# 数据仓库 / 交易日历
|
||||
|
||||
### `continuedMatchOfNDay(exp, n)`
|
||||
|
||||
判断Exp在过去N个交易日是否取得指标值,若取得返回1,否则返回0,与系统参数(股票,日期)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ------------------ |
|
||||
| `exp` | Expr | 表达式,函数表达式 |
|
||||
| `n` | int | 整数,天数 |
|
||||
|
||||
返回:bool
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),'SH000001');
|
||||
SetSysParam(pn_date(),20180801t);
|
||||
return ContinuedMatchOfNDay(@close(),3);
|
||||
```
|
||||
|
||||
### `correlOfNDay(exp1, exp2, n, cache_str)`
|
||||
|
||||
过去N日相关系数,其中N日表示市场交易日。注:剔除非交易日,例如求过去20天开盘价与成交量的相关系数,但是期间有10天停牌,则取非停牌日10天的相关系数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------- |
|
||||
| `exp1` | string | 字符串。统计表达式1 |
|
||||
| `exp2` | string | 字符串。统计表达式2 |
|
||||
| `n` | int | 整数。天数 |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
SetSysParam(pn_date(),20231010T);
|
||||
return CorrelOfNDay(@stockpjcj3(),@RefValue(@close(),5),10,"");
|
||||
```
|
||||
|
||||
### `covarOfNDay(exp1, exp2, n, cache_str)`
|
||||
|
||||
过去N日协方差。N日表示市场交易日。注:剔除非交易日,例如求过去20天开盘价与成交量的协方差,但是期间有10天停牌,则取非停牌日10天的协方差。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------- |
|
||||
| `exp1` | string | 字符串。统计表达式1 |
|
||||
| `exp2` | string | 字符串。统计表达式2 |
|
||||
| `n` | int | 整数。天数 |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
SetSysParam(pn_date(),20231030T);
|
||||
return CovarOfNDay(@close(),@open(),30,"");
|
||||
```
|
||||
|
||||
### `productOfNDay(exp, n, cache_str)`
|
||||
|
||||
过去N日乘积。N日表示市场交易日。注:剔除非交易日(停牌或未上市)数据指标。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------ |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `n` | int | 整数。天数 |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
SetSysParam(pn_date(),20231030T);
|
||||
return ProductOfNDay(@close(),3,"");
|
||||
```
|
||||
|
||||
### `smaofNDay(exp, n, m, cache_str)`
|
||||
|
||||
过去N日平滑移动平均。N日表示市场交易日。注:剔除非交易日(停牌或未上市)数据指标。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------ |
|
||||
| `exp` | string | 字符串。统计表达式 |
|
||||
| `n` | int | 整数。最近N日 |
|
||||
| `m` | float | 实数。权重 |
|
||||
| `cache_str` | string | 字符串。缓存串 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),"SH600585");
|
||||
SetSysParam(pn_date(),20231030T);
|
||||
return SmaofNDay(@open(),30,1,"");
|
||||
```
|
||||
@@ -0,0 +1,219 @@
|
||||
# 数据仓库 / 向导函数
|
||||
|
||||
### `compositeRatioValue(v1, v2, n)`
|
||||
|
||||
返回初值V1到末值V2的复合增长率。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ---- | ---------- |
|
||||
| `v1` | int | 实数,初值 |
|
||||
| `v2` | int | 实数,末值 |
|
||||
| `n` | int | 整数,期数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `growthOfRepPeriod(expr, r_date, result_type)`
|
||||
|
||||
表达式Exp某个指标在报告期Rdate的同比增长,ReturnType决定返回偏离值(增加值)还是偏离率(增速%)。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | -------- | -------------------- |
|
||||
| `expr` | any | 函数表达式 |
|
||||
| `r_date` | datetime | 报告期 |
|
||||
| `result_type` | any | 用户自定义,返回类型 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `growthWithLowestOfPeriod(exp, beg_date, end_date, return_type)`
|
||||
|
||||
返回表达式Exp在区间BegDate到EndDate中的最小值与在EndDate的值的偏离,ReturnType决定返回偏离值(增加值)还是偏离率(增速%)。。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | -------- | -------------------- |
|
||||
| `exp` | Expr | 函数表达式 |
|
||||
| `beg_date` | datetime | 日期,开始日 |
|
||||
| `end_date` | datetime | 日期,截止日 |
|
||||
| `return_type` | int | 用户自定义,返回类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),'SZ000001');
|
||||
return GrowthWithLowestOfPeriod(@close(),20180801T,20180903T,0);
|
||||
```
|
||||
|
||||
### `isNull(arg1)`
|
||||
|
||||
判断条件是否成立。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | ---- |
|
||||
| `arg1` | int | |
|
||||
|
||||
返回:bool
|
||||
|
||||
### `occuredRepIdOfRepPeriod(expr, beg_report, end_year)`
|
||||
|
||||
在区间BegReport到EndYear年中,与BegReport报告期同比的报告期中返回表达式exp为真的报告期。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ---- | ------------------ |
|
||||
| `expr` | any | 布尔公式表达式 |
|
||||
| `beg_report` | any | 开始期,开始报告期 |
|
||||
| `end_year` | any | 年份,截止年份 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `positionOfIndustry()`
|
||||
|
||||
向导函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `ratioValueByType(v1, v2, _type, n)`
|
||||
|
||||
依据返回类型type,返回初值V1到末值V2的增长/增长率/复合增长率。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | ------------------------ |
|
||||
| `v1` | int | 实数,初值 |
|
||||
| `v2` | int | 实数,末值 |
|
||||
| `_type` | int | 用户自定义,返回数据类型 |
|
||||
| `n` | int | 整数,期数或交易天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `reduceWithHighestOfPeriod(exp, beg_date, end_date, return_type)`
|
||||
|
||||
返回表达式Exp在区间BegDate到EndDate中的最大值与在EndDate的值的偏离,ReturnType决定返回偏离值(增加值)还是偏离率(增速%)。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | -------- | -------------------- |
|
||||
| `exp` | Expr | 函数表达式 |
|
||||
| `beg_date` | datetime | 日期,开始日 |
|
||||
| `end_date` | datetime | 日期,截止日 |
|
||||
| `return_type` | int | 用户自定义,返回类型 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
SetSysParam(pn_stock(),'SZ000001');
|
||||
return ReduceWithHighestOfPeriod(@close(),20180801T,20180803T,0);
|
||||
```
|
||||
|
||||
### `relativeStrengthOfIndustry()`
|
||||
|
||||
向导函数相关函数。
|
||||
|
||||
返回:any
|
||||
|
||||
### `reportOfListed(id, report_id)`
|
||||
|
||||
返回指定报告期ReportID的基本面ID数据。如果该证券未上市,则返回0,函数与系统参数(股票、时间)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ---------------- |
|
||||
| `id` | string | 基本面,基本面ID |
|
||||
| `report_id` | string | 报告期 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `reportPerShareOfListed(id, report_id)`
|
||||
|
||||
指定报告期ReportID的基本面ID数据/总股本。如果该证券未上市,则返回0,函数与系统参数(股票、时间)相关。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | -------------- |
|
||||
| `id` | string | 基本面,数据ID |
|
||||
| `report_id` | string | 报告期 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `reportValueOfPeriod(exp, beg_report, end_report, report_type, reportvalue)`
|
||||
|
||||
区间财务数据
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ----------------- |
|
||||
| `exp` | string | 字符串,函数表达式 |
|
||||
| `beg_report` | int | 整数,开始报告期 |
|
||||
| `end_report` | int | 整数,截止报告期 |
|
||||
| `report_type` | int | 整数,报告期类型 |
|
||||
| `reportvalue` | array | 数组,报告期数据 |
|
||||
|
||||
返回:array
|
||||
|
||||
### `simplyRatioValue(v1, v2)`
|
||||
|
||||
返回初值V1到末值V2的增长率。若V1<0,则直接返回0。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ---- | ---------- |
|
||||
| `v1` | int | 实数,初值 |
|
||||
| `v2` | int | 实数,末值 |
|
||||
|
||||
返回:float
|
||||
|
||||
### `stockTrailingAvgByEndT(endt, ref_type, exp, is_exclude_ipo, n)`
|
||||
|
||||
获取基于指定日推移阶段的日均指标
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------------- | ---------- | --------------------------------------------- |
|
||||
| `endt` | datetime | 日期,截止日 |
|
||||
| `ref_type` | UserDefine | 用户自定义,选择所推移类型,取值如下: |
|
||||
| `exp` | string | 字符串, 指标表达式,如"close()","stockzdf3()" |
|
||||
| `is_exclude_ipo` | bool | object |
|
||||
| `n` | int | 整数, 剔除天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
获取万科A过去1年的日均成交金额
|
||||
setsysparam(pn_stock(),"SZ000002");
|
||||
endt := 20210714t;
|
||||
RefType := 4;//过去1年
|
||||
exp := "Amount()";
|
||||
return StockTrailingAvgByEndT(Endt,RefType,Exp);
|
||||
```
|
||||
|
||||
### `stockTrailingStdByEndT(endt, ref_type, exp, is_exclude_ipo, n)`
|
||||
|
||||
获取基于指定日推移阶段的指标标准差
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------------- | ---------- | --------------------------------------------- |
|
||||
| `endt` | datetime | 日期,截止日 |
|
||||
| `ref_type` | UserDefine | 用户自定义,选择所推移类型,取值如下: |
|
||||
| `exp` | string | 字符串, 指标表达式,如"close()","stockzdf3()" |
|
||||
| `is_exclude_ipo` | bool | object |
|
||||
| `n` | int | 整数, 剔除天数 |
|
||||
|
||||
返回:float
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
获取万科A过去1年的日收益率标准差
|
||||
setsysparam(pn_stock(),"SZ000002");
|
||||
endt := 20210714t;
|
||||
RefType := 4;//过去1年
|
||||
exp := "stockzf3()";
|
||||
return StockTrailingStdByEndT(Endt,RefType,Exp); // 1.69
|
||||
```
|
||||
|
||||
### `techCalUnit(expression)`
|
||||
|
||||
向导函数相关函数。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ---- |
|
||||
| `expression` | object | |
|
||||
|
||||
返回:any
|
||||
Reference in New Issue
Block a user