Qlib Initialization


Please follow the steps below to initialize Qlib.

  • Download and prepare the Data: execute the following command to download stock data.
    python scripts/get_data.py qlib_data_cn --target_dir ~/.qlib/qlib_data/cn_data

    Please refer to Raw Data for more information about get_data.py,

  • Initialize Qlib before calling other APIs: run following code in python.

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


Besides provider_uri and region, qlib.init has other parameters. The following are several important parameters of qlib.init:

  • provider_uri

    Type: str. The URI of the Qlib data. For example, it could be the location where the data loaded by get_data.py are stored.

  • region
    Type: str, optional parameter(default: qlib.config.REG_CN).

    Currently: qlib.config.REG_US (‘us’) and qlib.config.REG_CN (‘cn’) is supported. Different value of region will result in different stock market mode. - qlib.config.REG_US: US stock market. - qlib.config.REG_CN: China stock market.

    Different modse will result in different trading limitations and costs.

  • redis_host
    Type: str, optional parameter(default: “”), host of redis

    The lock and cache mechanism relies on redis.

  • redis_port

    Type: int, optional parameter(default: 6379), port of redis


    The value of region should be aligned with the data stored in provider_uri. Currently, scripts/get_data.py only provides China stock market data. If users want to use the US stock market data, they should prepare their own US-stock data in provider_uri and switch to US-stock mode.


    If Qlib fails to connect redis via redis_host and redis_port, cache mechanism will not be used! Please refer to Cache for details.