Skip to content

allocation 0.0.2

Choose a tag to compare

@microprediction microprediction released this 12 Oct 03:29
· 4 commits to main since this release

Correctness release: nine P1 fixes (#107). Each has a regression test.

Behaviour changes

  • SchurBridge / bridge_weights with long_only=True raise ValueError instead of returning a short position (#60).
  • barrier_constrain and the box-constraint estimators reject infeasible or malformed groups, caps and tau, and raise if the solve does not converge (#51).
  • Backtest turnover, cost and net Sharpe are charged on drift-adjusted trades when asset_returns is supplied, which compare and compare_random_subsets now do; target_turnover keeps the old quantity (#49).
  • One-factor Thurstone calibration raises RuntimeError when the inverse does not reproduce its target. With winning 1.5.0 this affects highly correlated pairs; a winning release including its PR #163 removes it (#58).
  • The low-rank factor sketch is deterministic and follows the assets under relabelling; seed no longer affects factor_decompose (#79).

Fixes

  • KeyedEwmaCovariance.matrix() stays positive definite when assets drop out and return (#50).
  • Inversion portfolios on a singular covariance no longer depend on asset labels (#85).
  • A Thurstone target must have one entry per asset (#89).
  • Supplied factor models are checked against the asset count; online estimators must return one finite weight per asset (#91).