257 lines
7.5 KiB
Markdown
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
|