行情数据又可分为日内行情和日间行情,以及A股和美股市场,根据不同粒度抽取不同的特征。 1. 市场 · A股市场 · 主要指数:上证50、沪深300、中证500、中证1000 · 成分股:沪深300+中证500+中证1000,共1800支股票 · ETF: 主要行业ETF以及宽基ETF · 美国市场: · 成分股: 标普500大盘股+标普400中盘股+ARK基金成分股+主流中概股,约1200只股票 · ETF: 主要行业ETF以及宽基ETF 2. 日内和日间技术特征提取 主要使用pandas-ta提取RSI、KDJ、Willr等技术因子,以及日内涨跌速度、涨跌幅等统计因子。相关实现见文后往期文章。 3. 日间财务特征提取 目前使用财务数据-估值有关指标,进行必要的放缩处理后供机器学习模型使用。 一个小技巧是,使用log变换可将数据有效平滑,例如下面的市盈率因子: df['pe_ratio_lyr_clip'] = (np.sign(df['pe_ratio_lyr']) * np.log1p(df['pe_ratio_lyr'].abs()) / 10).clip(-3, 3) 4. 数据存储 这里将行情数据进行上述加工后,存储到数据库clickhouse中,需要注意的是,使用默认的Float32格式存储,会消耗相当大的空间,尤其是分钟级的日内因子特征。因此,这里处理的技巧是将数据放缩到Short类型(-2^15 ~ 2^15 -1),使用Int16类型节省一半空间。 |
|