初始化数据
就是把你准备好的数据初始化一下
import qlib
qlib.init(provider_uri='~/.qlib/qlib_data/cn_data')
这里的provider_uri就是你存放数据的地址(后续会谈到有哪些数据)
按照特定的时间段查询对应股票数据(沪深300举例)
这里的时间就是对应的开盘日期
from qlib.data import D
instruments = D.instruments(market='csi300')
print(D.list_instruments(instruments=instruments, start_time='2010-01-01', end_time='2017-12-31', as_list=True)[:6])
用名称过滤器从数据中加载指定股票代码
from qlib.data import D
from qlib.data.filter import NameDFilter
nameDFilter = NameDFilter(name_rule_re='SH[0-9]{4}55')
instruments = D.instruments(market='csi300', filter_pipe=[nameDFilter])
print(D.list_instruments(instruments=instruments, start_time='2015-01-01', end_time='2016-02-15', as_list=True))
根据表达式过滤器从数据加载代码
后续会更详细说说过滤器
from qlib.data import D
from qlib.data.filter import ExpressionDFilter
expressionDFilter = ExpressionDFilter(rule_expression='$close>2000')
instruments = D.instruments(market='csi300', filter_pipe=[expressionDFilter])
print(D.list_instruments(instruments=instruments, start_time='2015-01-01', end_time='2016-02-15', as_list=True))
给定时间范围内加载特定属性的股票池数据
from qlib.data import D
instruments = ['SH600000']
fields = ['$close', '$volume', 'Ref($close, 1)', 'Mean($close, 3)', '$high-$low']
print(D.features(instruments, fields, start_time='2010-01-01', end_time='2017-12-31', freq='day').head().to_string())
后续就会直接讲工作流程及数据框架和怎么简单上手操作。