Qlib 数据初始化

183 阅读1分钟

Qlib

1:简介

Qlib 是一个以人工智能为导向的量化投资平台,旨在实现人工智能技术在量化投资中的潜力、赋能研究、创造价值。

它包含数据处理、模型训练、回测的完整 ML 管道;并涵盖量化投资的全链条:alpha seeking、风险建模、投资组合优化和订单执行。使用 Qlib,用户可以轻松尝试想法以创建更好的 Quant 投资策略。

2:需要依赖

pip install pyqlib

源码下载地址:

Qlib.

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)