Skip to content

Commit a1c8849

Browse files
Peter CottonPeter Cotton
Peter Cotton
authored and
Peter Cotton
committed
Merge branch 'main' of https://github.com/microprediction/precise into main
2 parents 6436ad6 + 1c63ea4 commit a1c8849

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1524
-169
lines changed

Diff for: HELP.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
You can help create Elo ratings as follows:
2+
3+
git clone https://github.com/microprediction/precise.git
4+
cd precise
5+
pip install -e .
6+
python3 precise/skatervaluation/battlescripts/manager_var/stocks\?topic=stocks\&n_dim=int:200\&n_obs=int:225\&n_burn=int:200\&k=int:1.py
7+
8+
This should start to populate a new file which you can PR. It will go in [here](https://github.com/microprediction/precise/tree/main/precise/skatervaluation/battleresults/manager_var/stocks_1_days_p200_n200)
9+

Diff for: LISTING_OF_COV_SKATERS.md

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
| covariance skater | location |
2+
|-----|-----|
3+
| buf_emp_pcov_d0_n20 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufemp.py |
4+
| buf_emp_pcov_d0_n50 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufemp.py |
5+
| buf_emp_pcov_d0_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufemp.py |
6+
| run_emp_pcov_d0 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/runemp.py |
7+
| buf_sk_emp_pcov_d0_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
8+
| buf_sk_ld_pcov_d0_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
9+
| buf_sk_ld_pcov_d0_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
10+
| buf_sk_ld_pcov_d0_n300 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
11+
| buf_sk_gl_pcov_d0_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
12+
| buf_sk_gl_pcov_d0_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
13+
| buf_sk_glcv_pcov_d0_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
14+
| buf_sk_glcv_pcov_d0_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
15+
| buf_sk_glcv_pcov_d0_n300 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
16+
| buf_sk_glcv_pcov_d0_n100_t0 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
17+
| buf_sk_glcv_pcov_d0_n200_t0 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
18+
| buf_sk_glcv_pcov_lars_d0_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
19+
| buf_sk_glcv_pcov_lars_d0_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
20+
| buf_sk_glcv_pcov_lars_d0_n300 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
21+
| buf_sk_mcd_pcov_d0_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
22+
| buf_sk_oas_pcov_d0_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
23+
| buf_sk_oas_pcov_d0_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
24+
| buf_sk_oas_pcov_d0_n300 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
25+
| ewa_emp_pcov_d0_r01 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewaemp.py |
26+
| ewa_emp_pcov_d0_r02 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewaemp.py |
27+
| ewa_emp_pcov_d0_r05 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewaemp.py |
28+
| ewa_emp_pcov_d0_r10 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewaemp.py |
29+
| buf_huber_pcov_d0_a1_b2_n50 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
30+
| buf_huber_pcov_d0_a05_b2_n50 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
31+
| buf_huber_pcov_d0_a1_b5_n50 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
32+
| buf_huber_pcov_d0_a1_b2_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
33+
| buf_huber_pcov_d0_a05_b2_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
34+
| buf_huber_pcov_d0_a1_b5_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
35+
| buf_huber_pcov_d0_a1_b2_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
36+
| buf_huber_pcov_d0_a05_b2_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
37+
| buf_huber_pcov_d0_a1_b5_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
38+
| ewa_pm_emp_scov_r01_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
39+
| ewa_pm_emp_scov_r01_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
40+
| ewa_pm_emp_scov_r02_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
41+
| ewa_pm_emp_scov_r02_n50 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
42+
| ewa_pm_emp_scov_r05_n50 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
43+
| ewa_pm_emp_scov_r05_n25 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
44+
| ewa_pm_emp_scov_r01_n100_t0 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
45+
| ewa_pm_emp_scov_r01_n200_t0 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
46+
| ewa_pm_emp_scov_r02_n100_t0 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
47+
| ewa_pm_emp_scov_r02_n50_t0 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
48+
| ewa_pm_emp_scov_r05_n50_t0 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
49+
| ewa_pm_emp_scov_r05_n25_t0 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewapm.py |
50+
| ewa_lw_scov_d0_r01 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewalw.py |
51+
| ewa_lw_scov_d0_r02 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewalw.py |
52+
| ewa_lz_scov_d0_rg01_rl01_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewalz.py |
53+
| ewa_lz_scov_d0_rg005_rl01_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewalz.py |
54+
| ewa_lz_scov_d0_rg005_rl02_n50 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewalz.py |
55+
| buf_emp_pcov_d1_n20 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufemp.py |
56+
| buf_emp_pcov_d1_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufemp.py |
57+
| run_emp_pcov_d1 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/runemp.py |
58+
| buf_sk_ec_pcov_d1_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
59+
| buf_sk_ld_pcov_d1_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
60+
| buf_sk_gl_pcov_d1_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
61+
| buf_sk_glcv_pcov_d1_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
62+
| buf_sk_mcd_pcov_d1_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
63+
| buf_sk_oas_pcov_d1_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufsk.py |
64+
| ewa_emp_pcov_d1_r01 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewaemp.py |
65+
| ewa_emp_pcov_d1_r02 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewaemp.py |
66+
| ewa_emp_pcov_d1_r05 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewaemp.py |
67+
| ewa_emp_pcov_d1_r10 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewaemp.py |
68+
| buf_huber_pcov_d1_a1_b2_n50 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
69+
| buf_huber_pcov_d1_a1_b2_n100 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/bufhuber.py |
70+
| ewa_lw_scov_d1_r01 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewalw.py |
71+
| ewa_lw_scov_d1_r02 | https://github.com/microprediction/precise/blob/main/precise/skaters/covariance/ewalw.py |

Diff for: LISTING_OF_MANAGERS.md

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
| manager | location |
2+
|-----|-----|
3+
| weak_pm_t0_d0_r025_n50_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/weakmanagers.py |
4+
| weak_ewa_t0_d0_r025_n50_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/weakmanagers.py |
5+
| weak_pm_t0_d0_r050_n50_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/weakmanagers.py |
6+
| weak_ewa_t0_d0_r050_n50_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/weakmanagers.py |
7+
| weak_sk_ld_pcov_d0_n100_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/weakmanagers.py |
8+
| weak_sk_glcv_pcov_d0_n100_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/weakmanagers.py |
9+
| weak_sk_glcv_pcov_d0_n100_t0_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/weakmanagers.py |
10+
| weak_sk_mcd_pcov_d0_n100_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/weakmanagers.py |
11+
| ppo_pm_t0_d0_r025_n50_vol_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
12+
| ppo_ewa_d0_r025_n50_vol_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
13+
| ppo_pm_t0_d0_r025_n50_quad_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
14+
| ppo_ewa_d0_r025_n50_quad_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
15+
| ppo_pm_t0_d0_r025_n50_sharpe_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
16+
| ppo_ewa_d0_r025_n50_sharpe_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
17+
| ppo_sk_ld_pcov_d1_n100_vol_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
18+
| ppo_sk_glcv_pcov_d0_n100_vol_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
19+
| ppo_sk_glcv_pcov_d0_n100_t0_vol_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
20+
| ppo_sk_mcd_pcov_d0_n100_vol_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
21+
| ppo_sk_ld_pcov_d1_n100_quad_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
22+
| ppo_sk_glcv_pcov_d0_n100_quad_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
23+
| ppo_sk_glcv_pcov_d0_n100_t0_quad_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
24+
| ppo_sk_mcd_pcov_d0_n100_quad_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
25+
| ppo_sk_ld_pcov_d1_n100_sharpe_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
26+
| ppo_sk_glcv_pcov_d0_n100_sharpe_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
27+
| ppo_sk_glcv_pcov_d0_n100_t0_sharpe_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
28+
| ppo_sk_mcd_pcov_d0_n100_sharpe_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/ppomanagers.py |
29+
| hrp_weak_pm_t0_d0_r025_n50_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/hrpmanagers.py |
30+
| hrp_weak_pm_t0_d0_r050_n25_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/hrpmanagers.py |
31+
| hrp_weak_emp_d0_r025_n50_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/hrpmanagers.py |
32+
| hrp_weak_emp_d0_r050_n25_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/hrpmanagers.py |
33+
| schur_weak_pm_t0_d0_r025_n50_g100_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/schurmanagers.py |
34+
| schur_weak_pm_t0_d0_r050_n25_g100_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/schurmanagers.py |
35+
| schur_weak_emp_d0_r025_n50_g100_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/schurmanagers.py |
36+
| schur_weak_emp_d0_r050_n25_g100_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/schurmanagers.py |
37+
| schur_weak_pm_t0_d0_r025_n50_g050_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/schurmanagers.py |
38+
| schur_weak_pm_t0_d0_r050_n25_g050_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/schurmanagers.py |
39+
| schur_weak_emp_d0_r025_n50_g050_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/schurmanagers.py |
40+
| schur_weak_emp_d0_r050_n25_g050_long_manager | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/schurmanagers.py |
41+
| rfl_hrp_var_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
42+
| rfl_hrp_vol_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
43+
| rfl_hrp_mad_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
44+
| rfl_hrp_msv_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
45+
| rfl_hrp_flpm_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
46+
| rfl_hrp_slpm_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
47+
| rfl_hrp_cvar_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
48+
| rfl_hrp_evar_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
49+
| rfl_hrp_wr_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
50+
| rfl_hrp_mdd_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
51+
| rfl_hrp_add_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
52+
| rfl_hrp_dar_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
53+
| rfl_hrp_cdar_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
54+
| rfl_hrp_edar_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
55+
| rfl_hrp_mddrel_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
56+
| rfl_hrp_addrel_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
57+
| rfl_hrp_cdarrel_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
58+
| rfl_hrp_edarrel_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |
59+
| rfl_hrp_ucirel_long_manager_n200 | https://github.com/microprediction/precise/blob/main/precise/skaters/managers/rflmanagers.py |

Diff for: LITERATURE.md

+13
Original file line numberDiff line numberDiff line change
@@ -462,3 +462,16 @@ Butler and Morlay
462462

463463
We give a unified treatment of equivalence betwene some old and new generalizations of the Shcur complement of matrices
464464

465+
### G-Learner and GIRL: Goal Based Wealth Management with Reinfocement Learning [pdf](https://arxiv.org/abs/2002.10990)
466+
Matthew Dixon and Igor Halperin
467+
468+
We present a reinforcement learning approach to goal based wealth management problems such as optimization of retirement plans or target dated funds. In such problems, an investor seeks to achieve a financial goal by making periodic investments in the portfolio while being employed, and periodically draws from the account when in retirement, in addition to the ability to re-balance the portfolio by selling and buying different assets (e.g. stocks). Instead of relying on a utility of consumption, we present G-Learner: a reinforcement learning algorithm that operates with explicitly defined one-step rewards, does not assume a data generation process, and is suitable for noisy data. Our approach is based on G-learning - a probabilistic extension of the Q-learning method of reinforcement learning.
469+
In this paper, we demonstrate how G-learning, when applied to a quadratic reward and Gaussian reference policy, gives an entropy-regulated Linear Quadratic Regulator (LQR). This critical insight provides a novel and computationally tractable tool for wealth management tasks which scales to high dimensional portfolios. In addition to the solution of the direct problem of G-learning, we also present a new algorithm, GIRL, that extends our goal-based G-learning approach to the setting of Inverse Reinforcement Learning (IRL) where rewards collected by the agent are not observed, and should instead be inferred. We demonstrate that GIRL can successfully learn the reward parameters of a G-Learner agent and thus imitate its behavior. Finally, we discuss potential applications of the G-Learner and GIRL algorithms for wealth management and robo-advising
470+
471+
472+
### Super Learner in Prediction [via](https://biostats.bepress.com/ucbbiostat/paper266/)
473+
Eric Polley and Mark J. van der Laan
474+
475+
Super learning is a general loss based learning method that has been proposed and analyzed theoretically in van der Laan et al. (2007). In this article we consider super learning for prediction. The super learner is a prediction method designed to find the optimal combination of a collection of prediction algorithms. The super learner algorithm finds the combination of algorithms minimizing the cross-validated risk. The super learner framework is built on the theory of cross-validation and allows for a general class of prediction algorithms to be considered for the ensemble. Due to the previously established oracle results for the cross-validation selector, the super learner has been proven to represent an asymptotically optimal system for learning. In this article we demonstrate the practical implementation and finite sample performance of super learning in prediction.
476+
477+

0 commit comments

Comments
 (0)