Qlib
1:简介
Qlib 是一个以人工智能为导向的量化投资平台,旨在实现人工智能技术在量化投资中的潜力、赋能研究、创造价值。
它包含数据处理、模型训练、回测的完整 ML 管道;并涵盖量化投资的全链条:alpha seeking、风险建模、投资组合优化和订单执行。使用 Qlib,用户可以轻松尝试想法以创建更好的 Quant 投资策略。
2:需要依赖
pip install pyqlib
源码下载地址:
3:数据初始化
准备数据
1:每只股票一个csv文件,无股票代码无特殊符号,文件名为股票代码
2:设置需要的列,值不要有字符串(有字符串失败了,不知道为啥)
在源代码中执行
"""
csv_path:源csv路径
qlib_dir:转换数据后的路径
date_field_name:时间
include_fields:字段
"""
DumpDataAll(csv_path="E:\code\k", qlib_dir="E:\code\k_bin",
date_field_name='date_time',
include_fields='date_time,open,high,low,close,preclose,avg_price,volume,amount,turn,pctChg,adjustflag').dump()
生成后 会在qlib_dir生成三个文件夹
calendars 日历
features 每只股票->股票字段数据
instruments 股票代码
使用
import qlib
from qlib.data import D
# 初始化数据
qlib.init(provider_uri={'day': "E:\code\k_bin"})
# 获取日历
trade = D.calendar(start_time='2024-01-01', end_time='2024-12-31', freq='day')
print(trade)
# 获取股票代码
instruments = D.instruments(market='all')
stock_list = D.list_instruments(instruments=instruments, start_time='2024-01-01', end_time='2024-12-31', as_list=True,
freq='day')
print(stock_list)
# 获取交易数据
df = D.features(instruments=['SZ000001'], fields=['$open', '$high', '$low'], start_time='2024-01-01',
end_time='2024-01-31', freq='day')
print(df)