qlib从入门到精通(一)

1、安装:

pip install pyqlib

pyqlib依赖的包比较大,它的定位不只是一个量化开发包了,而是一个量化平台。

从数据存储,指标计算,量化模型,回测,模型,结果分析等都有完整的覆盖。

>>> import qlib
>>> qlib.__version__
0.8.6

特别说明,它依赖pytorch和lighgtGBM,一个是深度学习框架,一个是传统机器学习的前沿,说明这个框架定位AI量化平台是非常合适的。

2、数据准备

python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn

scripts/get_data.py这个安装完成pip包是没有的,我从github上直接下载整个代码包,搁到开发环境中,一是里边有示例,脚本,二来这份代码还是值得好好读一读的。

把代码包下载到qlib-main里,当前目录创建文件夹:data,

使用如下命令,下载A股所有的日线数据(有没有包含退市的?)

python qlib-main/scripts/get_data.py qlib_data --target_dir ./data/cn_data --region cn 

import qlib
# region in [REG_CN, REG_US]
from qlib.constant import REG_CN
provider_uri = "./data/cn_data"  # target_dir
qlib.init(provider_uri=provider_uri, region=REG_CN)

把provider_uri指定我们的数据目录即可。

可以直接从数据中把某几支股票的数据读出来,返回来是一个复杂索引的pandas的dataframe,与我们自有的分析生态可以很好的结合,纯粹把qlib的数据层当做数据库也不错,由于是本地及内存计算,所以速度很快:

data = D.features(["sh600519"], ['$close'], start_time="20200101")
print(data)
data['$close'].plot()
import matplotlib.pyplot as plt
plt.show()

建立自己的数据——以可转债为例。

先通过tushare把400多支可转债的日线数据下载到本地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


 python qlib-main/scripts/dump_bin.py dump_all --csv_path  ./cb_quotes --qlib_dir ./data//cb_data --include_fields open,close,high,low,volume,factor  --symbol_field_name ts_code  --date_field_name trade_date     

#使用--symbol_field_name可以指数symbole列,--date_field_name可以指定date列                  

筛选出可交易的列表:

比如昨天收盘价在120块以下的可转债的列表。

expressionDFilter = ExpressionDFilter(rule_expression='$close<130')
    instruments = D.instruments(market='all', filter_pipe=[expressionDFilter])
    instu = D.list_instruments(instruments=instruments, start_time='2022-08-02', end_time='2022-08-03', as_list=True)

    print(instu)

这里的表达式,可以使用各种复合计算:

比如就是 ”收盘价比前一天收盘价高“

expressionDFilter = ExpressionDFilter(rule_expression='$close>Ref($close,1)')

假如我们这700多支转债是存在mongo库里,我们要先筛选出日期。然后对这些日期计算 今天收盘比昨天高这个规则。而且可以是一段时间如此的。

这里就很难预先计算了。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI量化投资实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值