Files
playbook/skills/tsl-api-reference/references/codegen/dotnet/datawarehouse/predicate.md
T
csh e1f7ce052c 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.
2026-07-07 16:36:15 +08:00

257 lines
7.5 KiB
Markdown

# 数据仓库 / 判定函数
### `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