# 数据仓库 / 判定函数 ## `isBalanceInfoId(infold)` 声明:function 是否是资产负债表指标。是则返回1,否则返回0 | 参数 | 类型 | 说明 | | -------- | ---- | ---------------- | | `infold` | int | 基本面,基本面ID | 返回:bool ### 示例 范例01:返回:1 ```tsl return IsBalanceInfoId(44003); // 输出:1 ``` ## `isCashFlowInfoId(infold)` 声明:function 判断是否是现金流量表指标,如果是则返回1,否则返回0 | 参数 | 类型 | 说明 | | -------- | ---- | ---------------- | | `infold` | int | 基本面,基本面ID | 返回:bool ### 示例 范例01:返回:1 ```tsl return IsCashFlowInfoId(48003); // 输出:1 ``` ## `isFinancialInfoId(info_id)` 声明:function 是否是主要财务指标(仅Wind适用),兼容Wind的主要财务指标也计算最近12个月的数据 | 参数 | 类型 | 说明 | | --------- | ---- | -------------- | | `info_id` | int | 整数。基本面Id | 返回:int ## `isFundBalanceSheetInfoId(infold)` 声明:function 是否是基金资产负债表字段。是则返回1,否则返回0 | 参数 | 类型 | 说明 | | -------- | ---- | ---- | | `infold` | int | 整数 | 返回:bool ### 示例 范例01:返回:1 ```tsl return IsFundBalanceSheetInfoId(312002); // 输出:1 ``` ## `isFundInterestInfoId(infold)` 声明:function 是否是基金利润分配表表字段。是则返回1,否则返回0 | 参数 | 类型 | 说明 | | -------- | ---- | ---- | | `infold` | int | 整数 | 返回:bool ### 示例 范例01:返回:1 ```tsl return IsFundInterestInfoId(314002); // 输出:1 ``` ## `isInterestInfoId(infold)` 声明:function 是否是利润分配表指标。是则返回1,否则返回0 | 参数 | 类型 | 说明 | | -------- | ---- | ---------------- | | `infold` | int | 基本面,基本面ID | 返回:bool ### 示例 范例01:返回:1 ```tsl return IsInterestInfoId(46003); // 输出:1 ``` ## `isMainReportId(infold)` 声明:function 判断是否是主要报告指标,如果是返回1,否则返回0。指标包括资产负债表,利润分配表,现金流量表,基金资产负债表,基金利润分配表,股票财务指标 | 参数 | 类型 | 说明 | | -------- | ---- | ---------------- | | `infold` | int | 基本面,基本面ID | 返回:bool ### 示例 范例01:返回:1 ```tsl return IsMainReportId(46002); // 输出:1 ``` ## `isStock(stock_id)` 声明:function 判断证券代码是否是有效代码。如果是一个有效的证券代码,返回1,否则返回0 | 参数 | 类型 | 说明 | | ---------- | ------ | ------------------ | | `stock_id` | string | 字符串,股票代码; | 返回:bool ### 示例 范例01:判定一个代码是否为有效的证券代码 ```tsl // 判定一个代码是否为有效的证券代码。 Return IsStock('SZ000001'); // 输出:1 ``` 范例02:判定一个代码是否为有效的证券代码 ```tsl // 判定一个代码是否为有效的证券代码。 Return IsStock('SZ100002'); // 输出:0 ``` ## `isStockFinancialItem(infold)` 声明:function 是否是股票财务指标。是则返回1,否则返回0 | 参数 | 类型 | 说明 | | -------- | ---- | ---- | | `infold` | int | 整数 | 返回:bool ### 示例 范例01:返回:1 ```tsl return IsStockFinancialItem(62003); // 输出:1 ``` ## `isTradeDay(date)` 声明:function 如果当前股票在Date指定日交易则返回1,否则返回0。 该函数的判断是依据指定日是否有日线行情数据,不管当日是否有成交量。 比如期货不活跃时,当日可能没有成交量,但是也有行情数据,则判断当日也是交易日。 一般用于判断当前股票在指定日是否停牌。 支持周期:日线及更低频,比如周线、月线等。若是周线,则判断这一周内是否有日线数据,若有则为真,若一条都没有则为假。即,不支持高频的判定 | 参数 | 类型 | 说明 | | ------ | -------- | ---------------- | | `date` | datetime | 日期类型,日期; | 返回:bool ### 示例 范例01:调用函数 ```tsl setsysparam(pn_stock(), 'SZ000002'); return IsTradeDay(inttodate(20110828)); // 输出:0 ``` ## `isValidCode(id, full_id)` 声明:function 判断是否为合法的代码。判断是否合法代码的规则与isstock类似。如果ID是合法的代码,FullID返回的值为标准化后的天软代码,否则为0 | 参数 | 类型 | 说明 | | --------- | ------ | ------------------------------------ | | `id` | string | 字符串,证券代码; | | `full_id` | string | 字符串,标准化后的证券代码,可省略; | 返回:bool ### 示例 范例01:判定指定的品种代码是否为合法有效 ```tsl // 判定指定的品种代码是否为合法有效。 return IsValidCode('600036'); // 输出:1 ``` 范例02:判定指定的品种代码是否为合法有效 ```tsl // 判定指定的品种代码是否为合法有效。 return IsValidCode('SH600036'); // 输出:1 ``` 范例03:判定指定的品种代码是否为合法有效 ```tsl // 判定指定的品种代码是否为合法有效。 return IsValidCode('s600036'); // 输出:0 ``` 范例04:获得完整的代码 ```tsl // 获得完整的代码。 return isValidCode('SZ000002', ID); // 'SZ000002'是有效的代码,ID为'SZ000002' ``` 范例05:获得完整的代码 ```tsl // 获得完整的代码。 return IsValidCode('S600', ID); // 'S600'不是有效的代码,ID为0 ``` ## `testStock(stock_id)` 声明:function 如果存在该股票的历史或者实时数据,返回1,否则0 | 参数 | 类型 | 说明 | | ---------- | ------ | ------------------ | | `stock_id` | string | 字符串,证券代码; | 返回:bool ### 示例 范例01:判定是否存在该股票的历史或者实时数据 ```tsl // 判定是否存在该股票的历史或者实时数据。 Return TestStock('SZ000002'); // 输出:1 ``` ## `validFullCode(stock_id)` 声明:function 返回一个代码的完整代码形式。例如,”000002”的完整模式为”SZ000002” | 参数 | 类型 | 说明 | | ---------- | ------ | ------------------ | | `stock_id` | string | 字符串,证券代码; | 返回:string ### 示例 范例01:返回一个有效股票代码的完整代码 ```tsl stock_id := '000002'; _id := ValidFullCode(stock_id); Return _id; // 输出:'SZ000002' ```