数据调用和因子加工
由xuxiaoyin创建,最终由xuxiaoyin 被浏览 5 用户
DAI数据抽取
DAI是BigQuant研发的高性能分布式数据平台,其详细介绍可参考 数据平台/DAI 。
import dai # 导入第三方库
# 开始日期和结束日期
start_date = '2023-01-01 09:00:00'
end_date = '2023-02-01 16:00:00'
# 从训练集中取数, 取出2023年1月份的所有个股分钟收盘价(表格的具体字段名称请参考https://bigquant.com/data/datasources/cpt_jyc_2025_stock_csi1000_bar1m)
df = dai.query(
"""
SELECT date, instrument, close
FROM cpt_jyc_2025_stock_csi1000_bar1m
""",
filters={
"date": [start_date, end_date],
},
).df()
DAI算子调用
DAI的所有算子均可在 DAI SQL 函数列表 中查询到, 合理使用DAI算子可为你的程序提速, 这里给大家介绍几个算子使用样例。
样例1: 计算五分钟均线
import dai # 导入第三方库
# 开始日期和结束日期
start_date = '2023-01-01 09:00:00'
end_date = '2023-02-01 16:00:00'
# 在训练集中加工五分钟均线
df = dai.query(
"""
SELECT date, instrument, m_avg(close, 5) AS ma_5
FROM cpt_jyc_2025_stock_csi1000_bar1m
""",
filters={
"date": [start_date, end_date],
},
).df()
样例2: 计算个股分钟收盘价截面上的排名百分比
import dai # 导入第三方库
# 开始日期和结束日期
start_date = '2023-01-01 09:00:00'
end_date = '2023-02-01 16:00:00'
# 在训练集中加工五分钟均线
df = dai.query(
"""
SELECT date, instrument, c_pct_rank(close) AS rank_close
FROM cpt_jyc_2025_stock_csi1000_bar1m
""",
filters={
"date": [start_date, end_date],
},
).df()
样例3: 计算个股
\