目录

初始化

​编辑

参数

获取数据测试


初始化

1.下载并准备数据:执行以下命令来下载股票数据。请注意,数据是从 Yahoo Finance 上收集的,可能并不完美。如果用户拥有高质量的数据集,我们建议用户准备自己的数据。

一般需要挂梯子或使用镜像下载使用镜像下载(建议挂梯子):

python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn
 python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn --source_url https://mirrors.tuna.tsinghua.edu.cn/qlib/qlib_data_cn_1d_0.9.zip

2.先初始化 Qlib:

import qlib
# 区域取值 [REG_CN, REG_US]
from qlib.constant import REG_CN
provider_uri = "~/.qlib/qlib_data/cn_data"  # 目标目录
qlib.init(provider_uri=provider_uri, region=REG_CN)

  • successfully initialized 是Qlib初始化成功的直接标志
  • data_path 正确指向您配置的目录 D:/B/Qlib/.qlib/qlib_data/cn_data

参数

  • provider_uri:类型:str。Qlib 数据的 URI。例如,它可以是由 get_data.py 加载的数据存储位置
  • region:类型:str,可选参数(默认值:qlib.constant.REG_CN)。当前支持值有:qlib.constant.REG_US (’us’) 、 qlib.constant.REG_CN (’cn’)

获取数据测试

# 测试代码
import os
from qlib.data import D
from qlib.constant import REG_CN
 
# 检查数据目录
data_dir = r"D:/B/Qlib/.qlib/qlib_data/cn_data"
print("目录是否存在:", os.path.exists(data_dir))  # 应输出 True
print("日历文件是否存在:", os.path.exists(f"{data_dir}/calendars/day.txt"))  # 应输出 True
 
# 初始化Qlib
import qlib
qlib.init(provider_uri=data_dir, region=REG_CN)
 
# #获取交易日期并正确切片
calendar = D.calendar(start_time='2010-01-01', end_time='2017-12-31', freq='day')[:2]
print(calendar)  # 直接打印前两个交易日
 
# 将给定的市场名称解析为股票池配置:
instruments=D.instruments(market='all')
print(instruments)

# 在给定的时间范围内加载某个股票池的证券品种:
instruments = D.instruments(market='csi300')
ListTimeinstruments=D.list_instruments(instruments=instruments, start_time='2010-01-01', end_time='2017-12-31', as_list=True)[:6]
# 直接打印前六个证券品种
print(ListTimeinstruments)  

# 从基础市场加载符合名称过滤器的动态工具
from qlib.data.filter import NameDFilter
nameDFilter = NameDFilter(name_rule_re='SH[0-9]{4}55')
instruments = D.instruments(market='csi300', filter_pipe=[nameDFilter])
ListNameinstruments=D.list_instruments(instruments=instruments, start_time='2015-01-01', end_time='2016-02-15', as_list=True)
print(ListNameinstruments) 

正确运行后结果:          

Logo

加入社区!打开量化的大门,首批课程上线啦!

更多推荐