微软新出了一个Q_Lib量化平台,导师让我们研究一下,我看一遍使用手册,很多API都不会用哎。
print('----------0install--------------')
# 安装成功
import qlib
print(qlib.__version__)
print('----------1download.init--------------')
# 下载数据初始化
from qlib.config import REG_CN,REG_US
qlib.init(provider_uri="~/.qlib/qlib_data/cn_data",region=REG_CN)
# qlib.init(provider_uri="~/.qlib/qlib_data/us_data",region=REG_US)
# provider_url参数有两个:"~/.qlib/qlib_data/cn_data","~/.qlib/qlib_data/us_data"
# region参数有两个:REG_CN REG_US
print('----------2download.ex--------------')
# 下载数据
from qlib.data import D
a=D.calendar(start_time='2020-01-01',end_time='2020-12-31',freq='day')[:10]
b=D.instruments(market='all')
instruments = D.instruments(market='csi300')
c=D.list_instruments(instruments=instruments, start_time='2010-01-01', end_time='2020-12-31', as_list=True)[:6]
print(a,b,c,sep='\n')
from qlib.data.filter import NameDFilter
nameDFilter = NameDFilter(name_rule_re='SH[0-9]{4}55')
instruments = D.instruments(market='csi300', filter_pipe=[nameDFilter])
d=D.list_instruments(instruments=instruments, start_time='2015-01-01', end_time='2016-02-15', as_list=True)
print(d)
from qlib.data.filter import ExpressionDFilter
expressionDFilter = ExpressionDFilter(rule_expression='$close>2000')
instruments = D.instruments(market='csi300', filter_pipe=[expressionDFilter])
e=D.list_instruments(instruments=instruments, start_time='2015-01-01', end_time='2016-02-15', as_list=True)
print(e)
instruments = ['SH600000']
fields = ['$close', '$volume', 'Ref($close, 1)', 'Mean($close, 3)', '$high-$low']
f=D.features(instruments, fields, start_time='2010-01-01', end_time='2017-12-31', freq='day').head()
print(f,type(f))
instruments = ['SH600000','SZ000001']
fields = ['$close', '$volume', 'Ref($close, 1)', &#