19 KiB
量化择时 / 宏观因子
TS_HGDataProcess
声明:class
基于宏观因子的批量择时数据处理框架
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
获取区间原始数据
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
date | Date,区间开始日 |
end_t |
date | Date,区间截止日 |
返回:array
getPostProcessData(beg_t, end_t)
声明:function
获取区间数据处理后的宏观数据
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
date | Date,区间开始日 |
end_t |
date | Date,区间截止日 |
返回:array
getMidProcessData(beg_t, end_t)
声明:function
获取区间数据处理的中间过程
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
date | Date,区间开始日 |
end_t |
date | Date,区间截止日 |
返回:array
getComData(beg_t, end_t)
声明:function
获取区间合成大类宏观因子
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
date | Date,区间开始日 |
end_t |
date | Date,区间截止日 |
返回:array
getComWeight()
声明:function
合成因子权重,各大类因子在小类因子上的合成比例
可见性:public
返回:array
tsd_HG_GetDataByQK(beg_t, end_t, cycle, zb_arr)
声明:function
提取区间宏观数据,仅支持以"HG000001" 代码取数的天软宏观数据
可见性: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
时序数据缺失值填充
可见性: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
时序数据统一口径处理
可见性: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
时序数据平滑处理
可见性: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 | Real,HP滤波平滑参数,默认取 1,当 SmoothType取 2时使用 |
date_field |
string | String,日期列名,默认"截止日",当 Data为二维数据表时,对除【DateField】列 进行平滑处理 |
返回:array
tsd_ET_ShortTermHighLow_Avg(data, k, b, col_name)
声明:function
短期高低点-均线
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
data |
array | Array,时序数据,包含"截止日"与"ColName"字段,按"截止日"升序排列 |
k |
int | Int,历史 K 期,默认取 12 |
b |
real | Real,b倍标准差,默认取 2 |
col_name |
string | String,字段名称,仅支持单个字段,默认取 Data除"截止日"的第一个字段 |
返回:array
tsd_ET_ShortTermHighLow_Percent(data, k, percent, col_name)
声明:function
短期高低点-分位点
可见性: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
短期新高新低
可见性: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 期的历
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
data |
array | Array,时序数据,包含"截止日"与"ColName"字段,按"截止日"升序排列 |
col_name |
string | String,字段名称,仅支持单个字段,默认取 Data除"截止日"的第一个字段 |
返回:array
tsd_ET_ContinueUpDown(data, k, col_name)
声明:function
连续上涨下跌
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
data |
array | Array,时序数据,包含"截止日"与"ColName"字段,按"截止日"升序排列 |
k |
int | Int,连续 K 期,默认取 3 |
col_name |
string | String,字段名称,仅支持单个字段,默认取 Data除"截止日"的第一个字段 |
返回:array
tsd_ET_ReversalUpDown(data, k, col_name)
声明:function
反转上涨下跌
可见性: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
多事件信号发生器,支持单个宏观指标。底层调用单事件各接口,将"信号标记"整合到一
可见性: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
事件信号统计评价,支持多事件、单资产
可见性:public
| 参数 | 类型 | 说明 |
|---|---|---|
signal_data |
array | Array,多事件信号时序数据,包含"截止日"与各事件信号发生标记,可参考 TSD_ET_SignalGenerator的返回 |
index_id |
string | String,标的指数代码,仅支持单个指数(单资产) |
cycle |
string | String,指数未来收益周期,默认为月线,一般与 SignalData数据周期相同 |
n |
int | Int,指数未来收益期数,默认为 1,如未来 1个月的收益 |