怎么筛选只用昨日涨停的票进行训练?
由bq30zy4n创建,最终由small_q 被浏览 45 用户
如何只使用涨停股票数据做训练
- [x] 就是为了减少噪音,减少算力压力,所以只对每天特定的股票进行学习判断
https://bigquant.com/codeshare/a9b5d501-78ac-45e2-a22e-f9eacf4e01c6
过滤出涨停数据用于训练
使用DAI读取和计算因子,很容易实现这个功能
-- 使用DAI SQL获取数据,构建因子等,如下是一个例子作为参考
-- DAI SQL 语法: https://bigquant.com/wiki/doc/dai-PLSbc1SbZX#h-sql%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B
SELECT
price_limit_status,
-- 日期和股票代码
date,
instrument
-- 预计算因子和数据 cn_stock_factors https://bigquant.com/data/datasources/cn_stock_factors
FROM cn_stock_factors
QUALIFY
-- 去掉有空值的行
COLUMNS(*) IS NOT NULL
AND price_limit_status == 3
ORDER BY date, instrument
- 在 DAI SQL里使用
price_limit_status == 3
条件可以过滤出今天收盘涨停的股票,基础这个数据训练,来预测明日信号 - 如果要使用更上一个交易日的涨停状态,可以使用条件
m_lag(price_limit_status, 1) == 3
- 在如下策略数据时间段,数据过滤后只有15000多条,修改 StockRanker 参数 每叶节点最小样本数 为 200,这样可以比较好适合较小的数据,树的数量也改小了为 10,因为收敛得更早。【注意风险】这个数据量太少,波动会很大
- 结果:在这个特定的数据区间,只用涨停股票训练效果(17.94%)不如全市场数据训练效果(97.95%)
https://bigquant.com/codeshare/1d0d357c-566f-4459-b922-998d318528ce
使用上一次涨停为训练数据
https://bigquant.com/codeshare/71efc3e4-b8b0-4d98-9283-666807412ed3
\