microsoft/qlib · error · ValueError

{self.__class__.__name__} does not support inst_processor. P

Error message

{self.__class__.__name__} does not support inst_processor. Please use `D.features(disk_cache=0)` or `qlib.init(dataset_cache=None)`

What it means

Error "{self.__class__.__name__} does not support inst_processor. Please use `D.features(disk_cache=0)` or `qlib.init(dataset_cache=None)`" thrown in microsoft/qlib.

Source

Thrown at qlib/data/cache.py:706

                df = df.swaplevel("datetime", "instrument").sort_index()
                # read cache and need to replace not-space fields to field
                df = cls.cache_to_origin_data(df, fields)

            else:
                df = pd.DataFrame(columns=fields)
        return df

    def _dataset(
        self, instruments, fields, start_time=None, end_time=None, freq="day", disk_cache=0, inst_processors=[]
    ):
        if disk_cache == 0:
            # In this case, data_set cache is configured but will not be used.
            return self.provider.dataset(
                instruments, fields, start_time, end_time, freq, inst_processors=inst_processors
            )
        # FIXME: The cache after resample, when read again and intercepted with end_time, results in incomplete data date
        if inst_processors:
            raise ValueError(
                f"{self.__class__.__name__} does not support inst_processor. "
                f"Please use `D.features(disk_cache=0)` or `qlib.init(dataset_cache=None)`"
            )
        _cache_uri = self._uri(
            instruments=instruments,
            fields=fields,
            start_time=None,
            end_time=None,
            freq=freq,
            disk_cache=disk_cache,
            inst_processors=inst_processors,
        )

        cache_path = self.get_cache_dir(freq).joinpath(_cache_uri)

        features = pd.DataFrame()
        gen_flag = False

View on GitHub (pinned to 79633dd950)

Solutions

  1. Call `D.features(..., disk_cache=0)` to disable disk cache when using inst_processor.
  2. Or initialize qlib with `qlib.init(dataset_cache=None)` so no dataset cache is used.

When it happens

Trigger: This error is raised at qlib/data/cache.py:706 when the guard condition fails: "does not support inst_processor". It triggers when the code path receives input or a state that violates the precondition checked at this point — e.g. an unimplemented abstract method being called, an unsupported argument type/value, or an invalid configuration. To avoid it, satisfy the documented precondition before this call: implement the required method in your subclass, or pass a supported value of the expected type as described by the message.

Common situations: See trigger scenarios.


AI-assisted analysis of microsoft/qlib@79633dd950 (2026-08-15). Data as JSON: /api/errors/a607ed9afffa9e5b. Report an issue: GitHub.