# 金融 / 财务分析 / 扩展基本面数据

## `basicInfoExt()`

声明：function

返回扩展基本面指标对照表

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

返回：array

### 示例

范例01：指定2017三季报，取万科A

```tsl
// 指定2017三季报，取万科A
Return BasicInfoExt();
```

## `last12MDataType(r_date, id)`

声明：function

返回TTM数据类型

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 TTM -->

| 参数     | 类型    | 说明           |
| -------- | ------- | -------------- |
| `r_date` | integer | 报告期         |
| `id`     | integer | 基本面，数据ID |

返回：string

### 示例

范例01：获取中国铝业截止2008年5月17日的营业收入及其 TTM 数据类型

```tsl
EndT := 20080517T;
SetSysParam(pn_stock(), 'SH601600');
SetSysParam(pn_Date(), EndT);
RDate := NewReportDateOfEndT2(EndT);
V1 := Last12MData(RDate, 46002);
V1Type := Last12MDataType(RDate, 46002);
Return array(V1, V1Type);
```

## `last12MHBGrowRatio(r_date, id, result_type)`

声明：function

返回最近12个月环比，本报告期最近12个月财务数据与上个同报告期最近12个月度财务数据比较

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数          | 类型    | 说明                 |
| ------------- | ------- | -------------------- |
| `r_date`      | integer | 报告期               |
| `id`          | integer | 基本面，数据ID       |
| `result_type` | integer | 用户自定义，返回类型 |

返回：real

### 示例

范例01：调用函数

```tsl
// 指定2017三季报，取万科A的营存货最近12月环比
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := last12MhbGrowRatio (20170930, 44019, 1);
return v;
// 输出：10.94
```

## `last12MTBGrowRatio(r_date, id, result_type)`

声明：function

返回最近12个月同比,本报告期最近12个月财务数据与去年同报告期最近12个月度财务数据比较

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数          | 类型    | 说明                 |
| ------------- | ------- | -------------------- |
| `r_date`      | integer | 报告期               |
| `id`          | integer | 基本面，数据ID       |
| `result_type` | integer | 用户自定义，返回类型 |

返回：real

### 示例

范例01：调用函数

```tsl
// 指定2017三季报，取万科A最近12个月同比
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := last12MtbGrowRatio(20170930, 9900000, 1);
return v;
// 输出：22.14
```

## `lastBasicData(id)`

声明：function

返回与报告期无关的数据的末期值

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数 | 类型    | 说明                                                                               |
| ---- | ------- | ---------------------------------------------------------------------------------- |
| `id` | integer | 整数，信息类别代码，某项和报告期无关的数据，例如股票基本信息、公司简称、注册地址等 |

返回：string/real

### 示例

范例01：调用函数

```tsl
// 获取SZ000002的公司全称
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := lastBasicData (10002);
return v;
// 输出：万科企业股份有限公司
```

## `lastYearData(r_date, n, id)`

声明：function

返回N年前年度数据

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数     | 类型    | 说明                         |
| -------- | ------- | ---------------------------- |
| `r_date` | integer | 报告期                       |
| `n`      | integer | 用户自定义，前N年显示名 取值 |
| `id`     | integer | 基本面，数据ID               |

返回：real

### 示例

范例01：调用函数

```tsl
// 例如取万科 A 2017年三季报的3年前的每股收益
setSysParam(pn_stock(), 'SZ000002');
setSysParam(PN_Date(), 20180801T);
return lastYearData(20170930, 3, 9900000);
// 输出：1.43
```

## `lastYearTBGrowRatio(r_date, id, result_type)`

声明：function

返回年度数据同比，本年度报告期财务数据与去年年度财务数据比较

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数          | 类型    | 说明                 |
| ------------- | ------- | -------------------- |
| `r_date`      | integer | 报告期               |
| `id`          | integer | 数据面，基本ID       |
| `result_type` | integer | 用户自定义，返回类型 |

返回：real

### 示例

范例01：调用函数

```tsl
// 指定2017三季报，取万科A每股收益年度同比
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := lastYearTbGrowRatio (20170930, 9900000, 1);
return v;
// 输出：16.15
```

## `quarterHBGrowRatio(r_date, id, result_type)`

声明：function

返回季度环比，本季度财务数据与上一个季度财务数据比较

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数          | 类型    | 说明                 |
| ------------- | ------- | -------------------- |
| `r_date`      | integer | 报告期               |
| `id`          | integer | 基本面，数据ID       |
| `result_type` | integer | 用户自定义，返回类型 |

返回：real

### 示例

范例01：调用函数

```tsl
// 指定2017三季报，取万科A季度环比
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := quarterHbGrowRatio (20170930, 9900000, 1);
return v;
// 输出：-42.67
```

## `quarterTBGrowRatio(r_date, id, result_type)`

声明：function

返回季度同比，本季度财务数据与去年同季度财务数据比较

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数          | 类型    | 说明                 |
| ------------- | ------- | -------------------- |
| `r_date`      | integer | 报告期               |
| `id`          | integer | 基本面，数据ID       |
| `result_type` | integer | 用户自定义，返回类型 |

返回：real

### 示例

范例01：调用函数

```tsl
// 指定2017三季报，取万科A每股收益季度同比增长
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := quarterTbGrowRatio(20170930, 9900000, 1);
return v;
// 输出：30.13
```

## `rDateHBGrowRatio(r_date, id, result_type)`

声明：function

返回报告期环比，报告期环比仅限时点数据指标，如资产负债表里的指标

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数          | 类型    | 说明                 |
| ------------- | ------- | -------------------- |
| `r_date`      | integer | ，报告期             |
| `id`          | integer | 基本面，数据ID       |
| `result_type` | integer | 用户自定义，返回类型 |

返回：real

### 示例

范例01：调用函数

```tsl
// 指定2017三季报，取万科A的货币资金的报告期环比增长
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := rDateHbGrowRatio(20170930, 44002, 1);
return v;
// 输出：-12.28
```

## `rDateTBGrowRatio(r_date, id, result_type)`

声明：function

返回报告期同比，本报告期财务数据与去年同报告期度财务数据比较

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数          | 类型    | 说明                 |
| ------------- | ------- | -------------------- |
| `r_date`      | integer | ，报告期             |
| `id`          | integer | 基本面，数据ID       |
| `result_type` | integer | 用户自定义，返回类型 |

返回：real

### 示例

范例01：调用函数

```tsl
// 指定2017三季报，取万科A的每股收益报告期同比
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := rDateTbGrowRatio (20170930, 9900000, 1);
return v;
// 输出：34.23
```

## `reportForExcel(r_date, id, return_type)`

声明：function

返回Excel中调用的财务数据,可接收单个报告期,可接收多个报告期

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数          | 类型    | 说明                 |
| ------------- | ------- | -------------------- |
| `r_date`      | integer | 报告期               |
| `id`          | integer | 基本面，数据ID       |
| `return_type` | integer | 用户自定义，返回类型 |

返回：real

### 示例

范例01：调用函数

```tsl
// 指定2017三季报，取万科A的营业收入
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := reportForExcel (20170930, 46002, 0);
return v;
// 输出：117100503696.73
```

## `reportNew(id, r_date)`

声明：function

返回报告期数据，支持金融类

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数     | 类型    | 说明             |
| -------- | ------- | ---------------- |
| `id`     | integer | 基本面，基本面ID |
| `r_date` | integer | 报告期           |

返回：real

### 示例

范例01：调用函数

```tsl
// 报告期数据
// 例如取万科A 2017年三季报的营业收入
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
return reportNew(46002, 20171231);
// 输出：242897110250.52
```

## `reportOfBetween(info_id, beg_t, end_t, return_field)`

声明：function

返回基本面区间的数值

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数           | 类型      | 说明         |
| -------------- | --------- | ------------ |
| `info_id`      | int       | 整数，报表ID |
| `beg_t`        | date_time | 日期，开始日 |
| `end_t`        | date_time | 日期，截止日 |
| `return_field` | string    | 字符串，关键 |

返回：real

### 示例

范例01：调用函数

```tsl
setSysParam(pn_stock(), 'SZ150259');
return reportOfBetween(616, 20180101T, 20180901T, "单位净值");
// 输出：41.32
```

## `reportOfEndT(info_id, end_t, return_field)`

声明：function

返回基本面截止日数值

<!-- tags: 金融 财务分析 扩展基本面数据 返回 获取 -->

| 参数           | 类型      | 说明             |
| -------------- | --------- | ---------------- |
| `info_id`      | integer   | 整数，报表ID     |
| `end_t`        | date_time | 日期，截止日     |
| `return_field` | string    | 字符串，返回字段 |

返回：real

### 示例

范例01：调用函数

```tsl
// 指定日期20150101，取万科A营业收入
o_v := BackUpSystemParameters2();
setSysParam(pn_stock(), 'SZ000002');
v := reportOfEndT(46, 20150101T, "营业收入");
return v;
// 输出：146388004498.44
```

## `financialItemIn12Month_HK(r_date, info_id, if_to_func_currency)`

声明：function

返回港股最近 12 个月财务指标，与系统参数中的证券代码相关。指定报告期不存在时返回 0；港股财务数据仅支持半年报和年报

<!-- tags: 金融 财务分析 扩展基本面数据 港股 HK TTM 最近12个月 财务指标 -->

| 参数                  | 类型    | 说明                                              |
| --------------------- | ------- | ------------------------------------------------- |
| `r_date`              | integer | 报告期。官网定义中的类型原文拼作 `Ingeter`        |
| `info_id`             | integer | 基本面数据 ID。官网定义中的类型原文拼作 `Ingeter` |
| `if_to_func_currency` | bool    | 可选。是否转为本币，默认 0，即保留原币记账        |

if_to_func_currency 取值

- `0` — 不转为本币，使用原币币种记账
- `1` — 使用天软汇率数据转为本币币种；港股本币为港元

返回：real

若报告类型为年报，TTM 数据等于本报告期数据；若报告类型为半年报，TTM 数据等于本报告期数据加上“往前推两期数据减同比报告期数据”

### 示例

范例01：按原币取得港股 TTM 数据

```tsl
end_t := 20260611T;
stock_id := 'HK00659';
setSysParam(pn_stock(), stock_id);
setSysParam(pn_date(), end_t);
r_date := 20250630;
return financialItemIn12Month_HK(r_date, 46002);
// 输出：24285300000
```

范例02：将港股 TTM 数据转为港元

```tsl
end_t := 20260611T;
stock_id := 'HK00005';
setSysParam(pn_stock(), stock_id);
setSysParam(pn_date(), end_t);
r_date := 20250630;
return financialItemIn12Month_HK(r_date, 46002, 1);
// 输出：587736013816.547
```

## `reportType_HK(r_date, r_type)`

声明：function

根据报告期返回港股报告类型，或判断报告期与报告类型是否匹配，与系统参数中的证券代码相关。港股仅支持半年报和年报

<!-- tags: 金融 财务分析 扩展基本面数据 港股 HK 报告期 报告类型 半年报 年报 -->

| 参数     | 类型    | 说明                                                           |
| -------- | ------- | -------------------------------------------------------------- |
| `r_date` | integer | 报告期。官网定义中的类型原文拼作 `Ingeter`                     |
| `r_type` | integer | 可选。返回结果类型，默认 0。官网定义中的类型原文拼作 `Ingeter` |

r_type 取值

- `0` — 返回报告类型字符串：`年报` 或 `半年报`
- `1` — 返回 0 或 1，表示报告期与报告类型是否匹配
- `-1` — 返回包含报告期、报告类型和是否匹配的数组

返回：string|integer|array

匹配规则为：半年报的报告期应为 `****0630`，年报的报告期应为 `****1231`；其他组合均不匹配

### 示例

范例01：返回报告类型

```tsl
setSysParam(pn_stock(), 'HK00659');
r_date := 20251231;
return reportType_HK(r_date, 0);
// 输出：半年报
```

范例02：判断报告期与报告类型是否匹配

```tsl
setSysParam(pn_stock(), 'HK00659');
r_date := 20251231;
return reportType_HK(r_date, 1);
// 输出：0
```

范例03：返回报告期、报告类型和是否匹配

```tsl
setSysParam(pn_stock(), 'HK00659');
r_date := 20251231;
return reportType_HK(r_date, -1);
// 输出：array('报告期':20251231,'报告类型':'半年报','是否匹配':0)
```

## `originalToFunctionalCurrency_HK(end_t, original_value, original_currency)`

声明：function

使用天软汇率数据将港股财务数据从原币币种换算为本币币种，港股本币为港元

<!-- tags: 金融 财务分析 扩展基本面数据 港股 HK 汇率 原币 本币 港元 币种转换 -->

| 参数                | 类型   | 说明                                     |
| ------------------- | ------ | ---------------------------------------- |
| `end_t`             | date   | 截止日期                                 |
| `original_value`    | real   | 按原币记账的数据值                       |
| `original_currency` | string | 原币币种，使用大写代码，如 HKD、CNY、USD |

返回：real

### 示例

范例01：将美元换算为港元

```tsl
return originalToFunctionalCurrency_HK(20251231T, 1, 'USD');
// 输出：7.78
```

范例02：将人民币换算为港元

```tsl
return originalToFunctionalCurrency_HK(20251231T, 1, 'CNY');
// 输出：1.11
```

范例03：将泰铢换算为港元

```tsl
return originalToFunctionalCurrency_HK(20251231T, 1, 'THB');
// 输出：0.25
```
