Contents:
A collection of online (incremental) covariance forecasting and portfolio construction functions. See docs.
"Schur Complementary" portfolio construction, a new approach that leans on connection between top-down (hierarchical) and bottom-up (optimization) portfolio construction revealed by block matrix inversion. See my posts on the methodology and its role in the hijacking of the M6 contest.
A small compendium of portfolio theory papers tilted towards my interests. See literature.
One observes that tools for portfolio construction might also be useful in optimizing a portfolio of models.
NEW: Some slides for the CQF talk.
See the docs, but briefly:
Here y is a vector:
from precise.skaters.covariance.ewapm import ewa_pm_emp_scov_r005_n100 as f
s = {}
for y in ys:
x, x_cov, s = f(s=s, y=y)
This package contains lots of different "f"s. There is a LISTING_OF_COV_SKATERS with links to the code. See the covariance documentation.
Here y is a vector:
from precise.skaters.managers.schurmanagers import schur_weak_pm_t0_d0_r025_n50_g100_long_manager as mgr
s = {}
for y in ys:
w, s = mgr(s=s, y=y)
This package contains lots of "mgr"'s. There is a LISTING_OF_MANAGERS with links to respective code. See the manager documentation.
pip install precise
or for latest:
pip install git+https://github.com/microprediction/precise.git
Trouble? It probably isn't with precise per se.
pip install --upgrade pip
pip install --upgrade setuptools
pip install --upgrade wheel
pip install --upgrade ecos # <--- Try conda install ecos if this fails
pip install --upgrade osqp # <-- Can be tricky on some systems see https://github.com/cvxpy/cvxpy/issues/1190#issuecomment-994613793
pip install --upgrade pyportfolioopt # <--- Skip if you don't plan to use it
pip install --upgrade riskparityportfolio
pip install --upgrade scipy
pip install --upgrade precise
Not investment advice. Not M6 entry advice. Just a bunch of code subject to the MIT License disclaimers.