# 数据仓库 / 市场

## `getBk(marketlist)`

得到指定的市场板块列表包含的股票列表。 注意，获取的是最新的板块成分股，行业名称或者板块名称，而非指数代码。 这些板块或行业名称必须和板块管理中的名称一致。 如果用户需要获取指定日期的历史成分股，请参考GetBKByDate。

| 参数         | 类型   | 说明                                             |
| ------------ | ------ | ------------------------------------------------ |
| `marketlist` | string | 字符串，市场板块列表。多个市场板块之间用分号分格 |

返回：array

## `getBkList(_type)`

得到所有的或者指定的系统板块类别下的板块名称列表。板块类别用户可查看板块管理中的类别。

| 参数    | 类型   | 说明                                                                 |
| ------- | ------ | -------------------------------------------------------------------- |
| `_type` | string | 字符串，板块类别，即具体板块的目录名称；无参数时得到所有的板块列表。 |

返回：array

## `getBkList2(bktype)`

得到所有的或者指定的系统板块类别下的板块名称列表以及板块所在路径名。 注意：除了结果类型与GetUserBKList不同以外，此函数得到指定板块类别下以及子路径下的所有的板块。

| 参数     | 类型   | 说明                                                                                                               |
| -------- | ------ | ------------------------------------------------------------------------------------------------------------------ |
| `bktype` | string | string 可选参数，无参数时得到所有的板块列表，；否则参数可为:'地域'或者'行业'分别得到地域板块列表或者行业板块列表。 |

返回：array

## `getUserBkList(bktype)`

得到所有的或者指定的板块类别下的用户板块的名称列表。

| 参数     | 类型   | 说明                                                                                                                                                 |
| -------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bktype` | string | string 可选参数，无参数时得到所有的板块列表，；否则参数可为:'地域'或者'行业'分别得到地域板块列表或者行业板块列表。如果有多级目录，用\\进行目录分级。 |

返回：array

## `getUserBkList2(bktype)`

得到所有的或者指定的板块类别下用户板块的名称列表以及板块所在路径名。 注意，除了结果类型与GetUserBKList不同以外，此函数得到指定板块类别下以及子路径下的所有的板块。

| 参数     | 类型   | 说明                                                                                                                                                 |
| -------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bktype` | string | string 可选参数，无参数时得到所有的板块列表，；否则参数可为:'地域'或者'行业'分别得到地域板块列表或者行业板块列表。如果有多级目录，用\\进行目录分级。 |

返回：array

## `indNeutralize(exp, by_group, cache_str)`

中性化操作，分组去均值化。将数据指标Exp按照ByGroup分类，对每个类别按照Exp=Exp–mean(Exp)进行中性化处理，处理之后Exp的均值为0。注：因分类标准不明确，此函数暂时不进行分类，即按整个市场，只对Exp进行中性化处理。

| 参数        | 类型   | 说明                  |
| ----------- | ------ | --------------------- |
| `exp`       | string | 字符串。统计表达式    |
| `by_group`  | int    | 用户自定义。取值如下: |
| `cache_str` | string | 字符串。缓存串        |

返回：float|void

### 示例

```tsl
SetSysParam(pn_stock(),"SH600519");
SetSysParam(Pn_date(),20231010T);
setsysparam(pn_StockArr(),getbkbydate("SH000300",20231010T));
return IndNeutralize(@open(),0,"");
```

## `indNeutralize2(exp, by_group, cache_str)`

中性化操作，分组去均值化。将数据指标Exp按照ByGroup分类，对每个类别按照Exp=Exp–mean(Exp)进行中性化处理，处理之后Exp的均值为0。注：因分类标准不明确，此函数暂时不进行分类，即按整个市场，只对Exp进行中性化处理。

| 参数        | 类型   | 说明                  |
| ----------- | ------ | --------------------- |
| `exp`       | string | 字符串。统计表达式    |
| `by_group`  | any    | 用户自定义。取值如下: |
| `cache_str` | string | 字符串。缓存串        |

返回：float

## `marketId(stock_id, day)`

获得证券的所属市场ID。

| 参数       | 类型     | 说明                                                                         |
| ---------- | -------- | ---------------------------------------------------------------------------- |
| `stock_id` | string   | 证券代码。                                                                   |
| `day`      | datetime | 可选参数，缺省表示获得当前的所属市场ID，否则就可以获得历史指定时间的市场ID。 |

返回：int

## `marketInfo(id, info_id)`

获得市场的相关信息。

| 参数      | 类型 | 说明                                             |
| --------- | ---- | ------------------------------------------------ |
| `id`      | int  | 市场编码。证券的市场编码可以用MarketID函数获得。 |
| `info_id` | int  | 可选参数，缺省返回所有如下市场信息。             |

返回：array

## `marketOpenCloseTime(id, day)`

取得指定市场在指定日的理论开盘时间以及收盘时间。即便由于长假原因导致夜盘不开盘，也会存在理论的夜盘开盘时间。

| 参数  | 类型     | 说明         |
| ----- | -------- | ------------ |
| `id`  | int      | 市场编码。   |
| `day` | datetime | 指定的日期。 |

返回：array
