quantlab.factor.predefined.literature_alpha.LiteratureAlpha#

class quantlab.factor.predefined.literature_alpha.LiteratureAlpha(config)[source]#

Bases: FactorKunQuant

Compute eight literature-backed equity characteristics in KunQuant.

This class only calculates factors. It does not choose an investment universe, download inputs, train a model or form a portfolio. Apply a point-in-time universe to the dataset first; NaN-masked symbols then stay out of every cross-sectional rank automatically.

The default output set contains raw and ranked forms of all eight signals. factor_names can select any subset, in which case only its reachable graph branches and required data_columns are retained. The SUE event columns must contain actual EPS, the pre-announcement consensus and its scale price frozen at the event, then carried forward by the data layer.

Parameters:
factor_configFactorConfig

KunQuant factor configuration. data_columns must exactly equal LiteratureAlphaParameters.required_panel_columns() for the selected outputs.

Raises:
ValueError

If a requested output is unknown or the data-column contract does not match the selected formulas.

Examples

The dataset in this example already contains point-in-time aligned price, fundamental and earnings-event columns:

factor = LiteratureAlpha(FactorConfig(
    warmup_bars=400,
    dataset=dataset,
    mode="batch",
    data_columns=(
        "adjClose", "ret", "risk_free", "mkt_rf", "smb", "hml",
        "close", "volume", "gross_profit", "total_assets",
        "prior_year_total_assets", "eps_actual_event",
        "eps_consensus_event", "eps_scale_price_event",
    ),
    file_path="data/factors/literature_alpha.zarr",
))
features = factor.compute("2015-01-01", "2024-12-31")
cal_stream(data, timestamp, symbols)[source]#

Advance one stream bar, refusing an external Fama-French CSV.