【历史文档】算子样例-自动标注股票
由qxiao创建,最终由small_q 被浏览 861 用户
更新
本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明
新版量化开发IDE(AIStudio):
https://bigquant.com/wiki/doc/aistudio-aiide-NzAjgKapzW
新版模版策略:
https://bigquant.com/wiki/doc/demos-ecdRvuM1TU
新版数据平台:
https://bigquant.com/wiki/doc/dai-PLSbc1SbZX
新版表达式算子:
https://bigquant.com/wiki/doc/dai-sql-Rceb2JQBdS
新版因子平台:
https://bigquant.com/wiki/doc/bigalpha-EOVmVtJMS5
\
使用场景
标注股票目标值。
输入端
- 代码列表:代码列表,必选。
输入参数
- 标注表达式:必填。
- 开始日期:开始日期,必填。
- 结束日期:结束日期,必填。
- 基准指数:默认为000300.SHA,选填。
输出端
- 标注数据:标注后的数据。常用关联板块有衍生特征抽取。
运行结果
-
可以通过模块id.data.read()来查看模块的具体数据,能够看到具体的数据。
模块详讲
根据相对收益率标注
m2模块代码示例
# 计算收益:5日收盘价(作为卖出价格)除以明日开盘价(作为买入价格)
shift(close, -5) / shift(open, -1)
# 极值处理:用1%和99%分位的值做clip
clip(label, all_quantile(label, 0.01), all_quantile(label, 0.99))
# 将分数映射到分类,这里使用20个分类
all_wbins(label, 20)
# 过滤掉一字涨停的情况 (设置label为NaN,在后续处理和训练中会忽略NaN的label)
where(shift(high, -1) == shift(low, -1), NaN, label)
通过运行 m2.plot_label_counts() 可以查看标注结果:
这幅柱状图描述了整个训练集中各个label的分布情况,本例中将收益率分为0到19个档级,柱状图高度表示各个档级的样本数量。
代码解读
- 根据未来几天的收益率进行标注可以直接修改shift(close, -5) 中的-5。
- clip(label, all_quantile(label, 0.01), all_quantile(label, 0.99)) ,利用分位数对极值进行处理。
- all_wbins(label, 20)是按照收益率等间隔分为20类,每个标注类别的之间的收益率间隔大小相等, 也可以使用all_cbins(label,20)是按照收益率等频间隔分为20类,但每个标注类别中样本个数相等,但每个标注类别之间的收益率间隔大小不等。
- where(shift(high, -1) == shift(low, -1), NaN, label) 过滤掉一字涨停的情况 (设置label为NaN,在后续处理和训练中会忽略NaN的label)
模块案例
https://bigquant.com/experimentshare/243ecf764a9f48c78882968f1d1d82ea
\