utilities.simulate_real_time_data()

Simulate mixed-frequency data with a realistic publication lag.

Usage

utilities.simulate_real_time_data(
    T=80,
    R=6,
    J=3,
    n_factors=2,
    n_macro=2,
    annnual_regional_lag_qrtrs=6,
    seed=42
)

Wraps simulate_data() and removes the most recent annnual_regional_lag_qrtrs quarters of annual regional data to mimic real-time data availability.

Parameters

T: int = 80

Number of quarterly time periods.

R: int = 6

Number of regions.

J: int = 3

Number of regional covariate panels.

n_factors: int = 2

Number of latent factors.

n_macro: int = 2

Number of macro indicator series.

annnual_regional_lag_qrtrs: int = 6

Quarters of annual data to mask.

seed: int = 42

Random seed for reproducibility.

Returns

tuple: tuple[
    npt.NDArray[np.float64],
    npt.NDArray[np.float64],
    npt.NDArray[np.float64],
    list[npt.NDArray[np.float64]],
    npt.NDArray[np.float64],
    npt.NDArray[np.float64],
]

(y_uk, y_annual, y_reg_true, Z_panel, macro, y_annual_no_lags) — same as simulate_data() with an additional copy of the annual data before the lag was applied.