• 基于tushare和mongo,玩转qlib自带的数据库


    百天计划之23天,关于“AI量化投资,财富自由与个人成长”。

    今天重点关注基于qlib的量化数据库,引入自有的数据源

    这是一个常见的需求。

    qlib内置的数据源是来自网上,数据质量不高且不稳定,网络不好的时候下载不下来。

    目前我选用的数据库是tushare,持久化的数据库是mongo。

    这里有定时任务持续更新数据,同时更新的数据要同步更新qlib。

    qlib的数据库是专门为AI量化定制的,可以多进程并行计算,在海量因子计算的时候有优势。

    01 数据准备

    qlib.tests.data.py  GetData

    DATASET_VERSION = "v2"
    REMOTE_URL = "https://qlibpublic.blob.core.windows.net/data/default/stock_data"
    QLIB_DATA_NAME = "{dataset_name}_{region}_{interval}_{qlib_version}.zip"

    从微软的服务器上下载一个zip,然后解压。

    支付A股,美股,按天和按分钟两种。

    如果下载慢,可以直接自己拼一个url,在下载软件里把zip包下载自行解压也可以。

    02 自动更新日频数据

    手动执行yahoo脚本(一次)

    python scripts/data_collector/yahoo/collector.py update_data_to_bin --qlib_data_1d_dir --trading_date --end_date

    定时任务执行(linux下的cron定时器):

    * * * * 1-5 python