# 金融 / 指数 / 基本信息

## `getBkWeightByDate2(index_id, benchmark_id, end_t)`

声明：function

返回本模型从基准指数BenchmarkID的成分股权重数据中获取目标指数IndexID的成份股，并取其权重进行归一处理，计算目标指数IndexID的成分股权重。 使用时需注意： 1.基准指数BenchmarkID的选取比较重要，比如申万二级和三级行业，可以选择对应的申万一级行业指数作为估算的基准指数，经测算是较为接近的； 2.目标指数IndexID的成分股必须可获取； 3.基准指数BenchmarkID的成分股应包含目标指数IndexID的成分股； 4.如果BenchmarkID为nil，则取默认基准指数--SH000985 中证全指

<!-- tags: 金融 指数 基本信息 返回 获取 SH000985 -->

| 参数           | 类型     | 说明          |
| -------------- | -------- | ------------- |
| `index_id`     | string   | 指数,指数     |
| `benchmark_id` | string   | 指数,基准指数 |
| `end_t`        | datetime | 日期,截止日期 |

返回：array

### 示例

范例01：通过基准指数SW801010 申万农林牧渔预估 SW801011申万林业Ⅱ 在2026-01-30的成分权重数据

```tsl
// 通过基准指数SW801010 申万农林牧渔预估 SW801011申万林业Ⅱ 在2026-01-30的成分权重数据
IndexID := "SW801011";
EndT := 20260130T;
BenchmarkID := "SW801010";
Return GetBkWeightByDate2(IndexID, BenchmarkID, EndT);
```

## `getIndexes(market_id)`

声明：function

获取指定市场的最新的指数代码列表，与sp_time()无关，不能获取历史数据

<!-- tags: 金融 指数 基本信息 获取 查询 -->

| 参数        | 类型 | 说明           |
| ----------- | ---- | -------------- |
| `market_id` | int  | 整型，市场代码 |

返回：array

### 示例

范例01：取深交所指数列表

```tsl
// 取深交所指数列表。
Return GetIndexes(0);
```

## `indexCount(market_id)`

声明：function

获取指定市场最新的指数个数，与sp_time()无关

<!-- tags: 金融 指数 基本信息 获取 查询 -->

| 参数        | 类型 | 说明           |
| ----------- | ---- | -------------- |
| `market_id` | int  | 整型，市场代码 |

返回：int

### 示例

范例01：取深交所指数个数

```tsl
// 取深交所指数个数
Return IndexCount(0);
// 注：280是深交所截止到2014/1/24的指数个数。
// 输出：280,返回的是最新的指数个数
```

## `isIndex(index_id)`

声明：function

判断IndexID是否为指数代码

<!-- tags: 金融 指数 基本信息 判断 检查 -->

| 参数       | 类型   | 说明     |
| ---------- | ------ | -------- |
| `index_id` | string | 指数代码 |

返回：bool

### 示例

范例01：判断'SH000300'是否为指数代码

```tsl
// 判断'SH000300'是否为指数代码
Return IsIndex('SH000300');
// 输出：1
```

## `markIndex()`

声明：function

返回证券最新对应的指数ID，与系统股票pn_stock()相关。 类型 指数ID 深交所证券 SZ399001 上交所证券 SH000001

<!-- tags: 金融 指数 基本信息 返回 获取 ID SZ399001 SH000001 -->

返回：string

### 示例

范例01：调用函数

```tsl
Setsysparam(pn_stock(), 'SZ000002') ;
Return MarkIndex();
```
