Files
playbook/skills/tsl-api-reference/references/codegen/module/ts-hg-data-process.md
T

453 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 量化择时 / 宏观因子
## `TS_HGDataProcess`
声明:class
基于宏观因子的批量择时数据处理框架
<!-- tags: 因子分析 因子指标 宏观经济 宏观择时 批量计算 数据处理 -->
### `factorArr`
声明:field
因子列表
可见性:`public`
类型:array
### `fBegT`
声明:field
开始日 2023/1/1
可见性:`public`
类型:date
### `fEndT`
声明:field
截止日 2024/12/31
可见性:`public`
类型:date
### `fCycle`
声明:field
数据频率 月线
可见性:`public`
类型:string
### `fFactorArr`
声明:field
因子设置 array()
可见性:`public`
类型:array
### `fUnifiedType`
声明:field
统一口径处理 0
可见性:`public`
类型:int
### `fSmoothType`
声明:field
平滑处理 0
可见性:`public`
类型:int
### `fFillMoveN`
声明:field
填充移动期数 4
可见性:`public`
类型:int
### `ftbMoveN`
声明:field
同比移动期数 12
可见性:`public`
类型:int
### `fInvalidDataPro`
声明:field
无效数据处理 1
可见性:`public`
类型:int
### `fSmoothMoveN`
声明:field
平滑移动期数 4
可见性:`public`
类型:int
### `fhpLambda`
声明:field
HP 滤波平滑参数 1
可见性:`public`
类型:real
### `fComFactorArr`
声明:field
合成因子库 array()
可见性:`public`
类型:array
### `fWeightType`
声明:field
加权方式 0
可见性:`public`
类型:int
### `getRawData(beg_t, end_t)`
声明:function
获取区间原始数据
<!-- tags: 查询 原始宏观数据 时序数据 区间数据 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | ---- | ---------------- |
| `beg_t` | date | Date,区间开始日 |
| `end_t` | date | Date,区间截止日 |
返回:array
### `getPostProcessData(beg_t, end_t)`
声明:function
获取区间数据处理后的宏观数据
<!-- tags: 查询 宏观经济 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | ---- | ---------------- |
| `beg_t` | date | Date,区间开始日 |
| `end_t` | date | Date,区间截止日 |
返回:array
### `getMidProcessData(beg_t, end_t)`
声明:function
获取区间数据处理的中间过程
<!-- tags: 查询 中间过程 数据处理 时序数据 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | ---- | ---------------- |
| `beg_t` | date | Date,区间开始日 |
| `end_t` | date | Date,区间截止日 |
返回:array
### `getComData(beg_t, end_t)`
声明:function
获取区间合成大类宏观因子
<!-- tags: 查询 因子分析 因子指标 宏观经济 组件对象模型 自动化 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | ---- | ---------------- |
| `beg_t` | date | Date,区间开始日 |
| `end_t` | date | Date,区间截止日 |
返回:array
### `getComWeight()`
声明:function
合成因子权重,各大类因子在小类因子上的合成比例
<!-- tags: 查询 因子分析 因子指标 组合权重 资产配置 组件对象模型 自动化 -->
可见性:`public`
返回:array
### `tsd_HG_GetDataByQK(beg_t, end_t, cycle, zb_arr)`
声明:function
提取区间宏观数据,仅支持以"HG000001" 代码取数的天软宏观数据
<!-- tags: 查询 宏观经济 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| -------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `beg_t` | date | Date,区间开始日 |
| `end_t` | date | Date,区间截止日 |
| `cycle` | string | String,取数周期,目前仅支持月线与季线,根据 zbArr中的宏观因子数据频率来定 |
| `zb_arr` | array | Array,指标列表 字段 类型 含义 非空 备注 因子名称 String 宏观因子名称 是 因子 ID Int 宏观指标 ID 是 框架自动取天软宏观因子 滞后期 Int 宏观数据公布滞后性 否 默认取 0,不考虑滞后,主要用于事后分析 如: 因子名称 因子 ID 滞后期 工业增加值同比(%) 802004 1 PMI 823002 0 社零总额同比(%) 805028 1 |
返回:array
### `tsd_HG_FillMiss(data, fill_type, move_n, date_field)`
声明:function
时序数据缺失值填充
<!-- tags: 填充 缺失值 时序数据 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `data` | array | Array,原始时序数据,支持一维数组与二维数据表类型 二维时,对每列进行填充,不含【DateField】列 |
| `fill_type` | int | Int,缺失值填充方法,详情可参考缺失值处理 取值 含义 方法说明 0(默认) 不处理 1 移动平均 历史 N 期均值 2 移动中位数 历史 N 期中位数 3 一阶差分中位数 上期+历史 N 期一阶差分中位数 4 线性插值 前后两期有效值线性插值 |
| `move_n` | int | Int,移动期数,当 FillType取 1或 2时使用 |
| `date_field` | string | String,日期列名,默认"截止日",当 Data为二维数据表时,对除【DateField】列 进行填充 |
返回:array
### `tsd_HG_UnifiedCaliber(data, unified_type, tb_move_n, invalid_data_pro, date_field)`
声明:function
时序数据统一口径处理
<!-- tags: 统一口径 频率转换 时序数据 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `data` | array | Array,原始时序数据,支持一维数组与二维数据表类型 |
| `unified_type` | int | Int,统一口径处理方法 取值 含义 方法说明 0(默认) 不处理 1 同比增速(%) (本期-去年同期)/去年同期*100 2 同比差分 本期-去年同期 3 环比增速(%) (本期-上期)/上期*100 4 环比差分 本期-上期 |
| `tb_move_n` | int | Int,同比移动期数,默认取 12,当 UnifiedType取 1 或 2 时使用 |
| `invalid_data_pro` | int | Int,无效数据处理,当 UnifiedType取非 0值时,开头数据无效,默认会剔除 取值 含义 备注 0(默认) 剔除 影响输出数据长度 1 填第一个有效值 不影响数据长度 2 填 nil 不推荐使用 |
| `date_field` | string | String,日期列名,默认"截止日",当 Data为二维数据表时,对除【DateField】列 进行统一口径处理 |
返回:array
### `tsd_HG_Smooth(data, smooth_type, move_n, hp_lambda, date_field)`
声明:function
时序数据平滑处理
<!-- tags: 平滑 滤波 时序数据 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| `data` | array | Array,原始时序数据,支持一维数组与二维数据表类型 二维时,对每列进行平滑处理,不含【DateField】列 |
| `smooth_type` | int | Int,平滑处理方法 取值 含义 方法说明 0(默认) 不处理 1 移动平均 历史 N 期均值,不足 N 期使用已有数据 2 HP 滤波 使用模型 filter_hp |
| `move_n` | int | Int,移动期数,默认取 6,当 SmoothType取 1 时使用 |
| `hp_lambda` | real | RealHP滤波平滑参数,默认取 1,当 SmoothType取 2时使用 |
| `date_field` | string | String,日期列名,默认"截止日",当 Data为二维数据表时,对除【DateField】列 进行平滑处理 |
返回:array
### `tsd_ET_ShortTermHighLow_Avg(data, k, b, col_name)`
声明:function
短期高低点-均线
<!-- tags: 择时信号 短期高低点 均线 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ---------- | ------ | ------------------------------------------------------------------- |
| `data` | array | Array,时序数据,包含"截止日"与"ColName"字段,按"截止日"升序排列 |
| `k` | int | Int,历史 K 期,默认取 12 |
| `b` | real | Realb倍标准差,默认取 2 |
| `col_name` | string | String,字段名称,仅支持单个字段,默认取 Data除"截止日"的第一个字段 |
返回:array
### `tsd_ET_ShortTermHighLow_Percent(data, k, percent, col_name)`
声明:function
短期高低点-分位点
<!-- tags: 择时信号 短期高低点 分位数 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ---------- | ------ | ------------------------------------------------------------------------------ |
| `data` | array | Array,时序数据,包含"截止日"与"ColName"字段,按"截止日"升序排列 |
| `k` | int | Int,历史 K 期,默认取 12 |
| `percent` | real | Real,分位点,默认取 0.75,当 Percent>0.5表示上分位点、Percent<0.5表示下分位点 |
| `col_name` | string | String,字段名称,仅支持单个字段,默认取 Data除"截止日"的第一个字段 |
返回:array
### `tsd_ET_ShortTermNewHighLow(data, k, col_name)`
声明:function
短期新高新低
<!-- tags: 择时信号 新高新低 突破 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ---------- | ------ | ------------------------------------------------------------------- |
| `data` | array | Array,时序数据,包含"截止日"与"ColName"字段,按"截止日"升序排列 |
| `k` | int | Int,历史 K 期,默认取 12 |
| `col_name` | string | String,字段名称,仅支持单个字段,默认取 Data除"截止日"的第一个字段 |
返回:array
### `tsd_ET_HistNewHighLow(data, col_name)`
声明:function
历史新高新低,以传入 Data作为全区间数据来衡量,Data第 1 期至第 T-1期作为第 T 期的历
<!-- tags: 创建 宏观择时 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ---------- | ------ | ------------------------------------------------------------------- |
| `data` | array | Array,时序数据,包含"截止日"与"ColName"字段,按"截止日"升序排列 |
| `col_name` | string | String,字段名称,仅支持单个字段,默认取 Data除"截止日"的第一个字段 |
返回:array
### `tsd_ET_ContinueUpDown(data, k, col_name)`
声明:function
连续上涨下跌
<!-- tags: 择时信号 连续涨跌 趋势 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ---------- | ------ | ------------------------------------------------------------------- |
| `data` | array | Array,时序数据,包含"截止日"与"ColName"字段,按"截止日"升序排列 |
| `k` | int | Int,连续 K 期,默认取 3 |
| `col_name` | string | String,字段名称,仅支持单个字段,默认取 Data除"截止日"的第一个字段 |
返回:array
### `tsd_ET_ReversalUpDown(data, k, col_name)`
声明:function
反转上涨下跌
<!-- tags: 择时信号 涨跌反转 反转 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ---------- | ------ | ------------------------------------------------------------------- |
| `data` | array | Array,时序数据,包含"截止日"与"ColName"字段,按"截止日"升序排列 |
| `k` | int | Int,连续 K 期,默认取 3 |
| `col_name` | string | String,字段名称,仅支持单个字段,默认取 Data除"截止日"的第一个字段 |
返回:array
### `tsd_ET_SignalGenerator(data, col_name, event_arr, drop_first_n)`
声明:function
多事件信号发生器,支持单个宏观指标。底层调用单事件各接口,将"信号标记"整合到一
<!-- tags: 执行 打标 事件驱动 事件研究 宏观经济 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| -------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `data` | array | Array,时序数据,包含"截止日"与"ColName"字段,按"截止日"升序排列 |
| `col_name` | string | String,字段名称,仅支持单个字段,默认取 Data除"截止日"的第一个字段 |
| `event_arr` | array | Array,事件列表, 二维数据表,可参考事件列表 字段 类型 含义 是否非空 说明 事件名称 String 信号标记,事件配对出现 是 不可重复 事件公式 String 事件构造公式,包括函数及参 数 是 eval 解析,参数 Data、ColName固定不变,其 他参数可调整 是否生效 Bool 事件是否生效 是 1 表示生效;0 表示不生效 公式说明 String 对事件公式进行说明 否 |
| `drop_first_n` | int | Int,剔除历史前 N期数据,默认取 12,前期事件信号可能存在噪音,为了信号准 确性,Data尽可能取长一些 |
返回:array
### `tsd_ET_SignalStat(signal_data, index_id, cycle, n)`
声明:function
事件信号统计评价,支持多事件、单资产
<!-- tags: 评估 汇总 事件驱动 事件研究 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------------- | ------ | ------------------------------------------------------------------------------------------------ |
| `signal_data` | array | Array,多事件信号时序数据,包含"截止日"与各事件信号发生标记,可参考 TSD_ET_SignalGenerator的返回 |
| `index_id` | string | String,标的指数代码,仅支持单个指数(单资产) |
| `cycle` | string | String,指数未来收益周期,默认为月线,一般与 SignalData数据周期相同 |
| `n` | int | Int,指数未来收益期数,默认为 1,如未来 1个月的收益 |