qis.plot_signal_diagnostics

qis.plot_signal_diagnostics(result, figsize=(20, 11), group_colors=None, title=None, num_buckets=10, min_obs_per_asset=12)[source]

Two-row diagnostic figure for a signal panel.

Row 0: Per-horizon conditional-return boxplot — distribution of

forward returns at each signal-quantile bucket. Pooled β/t/IC annotated in each panel title.

Row 1: Per-horizon per-group β boxplot — distribution of per-asset

β by group, with the per-group regression t-stat annotated.

Both rows share the boxplot aesthetic; the bottom row is omitted when result.group_order is empty.

Parameters:
  • result (SignalDiagnosticsResult) – Output of estimate_signal_diagnostics.

  • figsize (Tuple[float, float]) – Figure dimensions.

  • group_colors (Dict[str, str] | None) – Optional group → hex palette.

  • title (str | None) – Figure-level title; auto-generated when None.

  • num_buckets (int) – Number of quantile buckets for row 0. Default 10.

  • min_obs_per_asset (int) – Per-asset β minimum-obs threshold for row 1.

Returns:

Matplotlib Figure.

Return type:

Figure