quantlab.portfolio.predefined.expected_return.ZScoreExpectedReturn#
- class quantlab.portfolio.predefined.expected_return.ZScoreExpectedReturn(config)[source]#
Bases:
_ScaledByICmu = ic * median(sigma) * z: Grinold’s scale without the tilt to risky names.zis as inGrinoldExpectedReturn; each bar’szis scaled by the median volatility of its candidates, somuhas Grinold’s size (the samerisk_aversionandturnover_penaltymean the same) and, within a bar, ranks exactly as the prediction.- Parameters:
- configZScoreExpectedReturnConfig
ic, the model’s information coefficient.
- Raises:
- ValueError
If
icis not positive.
Examples
>>> model = ZScoreExpectedReturn(ZScoreExpectedReturnConfig(ic=0.05)) >>> model.expected_returns( ... np.array([[1.0, 2.0, 3.0]]), np.array([[0.02, 0.02, 0.04]]), np.ones((1, 3), dtype=bool) ... ).round(4) array([[-0.001, 0. , 0.001]])
- config_cls#
alias of
ZScoreExpectedReturnConfig