PBOResult

Defined in fynance.research

class PBOResult(pbo, logits, prob_oos_loss, slope, intercept, is_perf, oos_perf)[source]

Bases: object

Result of a pbo run.

Attributes:
pbofloat

Probability of backtest overfitting: the share of IS/OOS splits where the in-sample winner’s out-of-sample relative rank falls at or below the median (logit <= 0).

logitsnumpy.ndarray, shape (n_combinations,)

Rank logit ln(r / (1 - r)) of the IS winner’s OOS performance, one per split.

prob_oos_lossfloat

Share of splits where the IS winner’s OOS performance is negative.

slopefloat

OLS slope of OOS performance on IS performance (of the IS winner) across splits — a robust-performing selection procedure has a positive slope; near-zero or negative indicates the IS ranking carries no out-of-sample information.

interceptfloat

OLS intercept of the same regression.

is_perfnumpy.ndarray, shape (n_combinations,)

The IS winner’s own in-sample metric value, one per split.

oos_perfnumpy.ndarray, shape (n_combinations,)

The IS winner’s out-of-sample metric value, one per split.