接上篇qlib实践1-数据获取。数据可以通过内置python脚本,或者手动拼链接,或者从github第三方源提供。获取下来后,可能需要对当天或者近几天数据进行更新操作。
数据格式
calendars:该数据集的所有交易日信息。
features:个股的特征信息。
instruments:所有股票的代码集合,现在还提供指数成分股(中证500,沪深300,中证100)。
数据更新
待测试
数据转换
除数据更新外,可以通过csv进行转换(待测试)
python scripts/dump_bin.py dump_all --csv_path ~/.qlib/csv_data/my_data --qlib_dir ~/.qlib/qlib_data/my_data --include_fields open,close,high,low,volume,factor
数据使用
数据准备好后可以开始练习qlib使用,通过代码直接引用路径和数据类型,示例代码:
import qlib
# region in [REG_CN, REG_US]
from qlib.constant import REG_CN
provider_uri = "~/.qlib/qlib_data/cn_data" # target_dir
qlib.init(provider_uri=provider_uri, region=REG_CN)
from qlib.data import D
test0 = D.calendar(start_time='2022-11-30', end_time='2022-12-01', freq='day')[:2]
print(test0)
遇到错误:
Qlib-TypeError: control character ‘delimiter’ cannot be a newline (\r or \n),原来是numpy版本差异
修复后,正确运行
再做一组测试
ok,至此,qlib环境就和数据的初步加载完成,下面开始理解qlib的其他定义。
Feature、ExpressionOps、Filter(NameDFilter、ExpressionDFilter)、
DataLoaer、DataHandler、DataHandlerLP、Processor、
Dataset、DatasetH、
Cache、Memcache、ExpressionCache、DatasetCache
QlibRecorder(R)
from qlib.data import D