quantlab.model.evaluation.cross_sectional_rank_ic_series#

quantlab.model.evaluation.cross_sectional_rank_ic_series(pred, target)[source]#

Return the per-row IC computed on per-row ranks, NaN on a skipped row.

Cells outside the joint mask are set to NaN on both panels before ranking. The order matters: a symbol missing only on the target side would otherwise still occupy a rank on the prediction side and shift every other rank in that row. Ties receive their average rank.

Parameters:
predarray_like

A 2-D [T, S] panel of predictions.

targetarray_like

A 2-D [T, S] panel of realised values.

Returns:
np.ndarray

A float64 array of length T.

Raises:
ValueError

If the inputs are not 2-D or differ in shape.

Examples

>>> cross_sectional_rank_ic_series([[1.0, 10.0, 100.0]], [[1.0, 3.0, 2.0]])
array([0.5])