Skip to content

Releases: BorisVSchmid/numerai-vladthestaker

v3.0.0 added ensemble visualisations

28 Apr 09:13
aeb9b89
Compare
Choose a tag to compare

Update

Found a way to show how ensembles generated from different starting points (e.g. only considering models older than round X) compare. It is still up to you to decide which ensemble to use, as they come with different sizes of history.

  • Added a cumulative visualisation of the ensembles generated at different starting points. Seems to work pretty well.
  • The benchmark models are now only plotted from the moment they are staked.
  • Tweaked the dot size when visualizing tSSR

portfolio-performances-05corr-2mmc

v2.0.4 Ready for 2024

28 Dec 11:44
Compare
Choose a tag to compare

Update

Minor change only. Fixed a bug in the way the tSSR score was calculated (calculated its rho value from the wrong column). Would only have affected the dot sizes of the model plot.

Also simplified the good model selection. Dynamically basing it on the benchmark models was adding more complexity against dubious payoff.

Example

Here is an example of the model performances of the https://numer.ai/~benchmark_models.

model-performances

According to Vlad, the below stake distribution is the optimal stake weighting Numer.ai should go for, which would outperform their current stake distribution by a significant margin :-).

suggested stake distribution: 

   |name               |weight |stake |mean   |Cov    |CVaR  |VaR    |samplesize |starting_round |
   |:------------------|:------|:-----|:------|:------|:-----|:------|:----------|:--------------|
   |V42_LGBM_CLAUDIA20 |0.272  |59    |0.0195 |0.0264 |0.026 |0.0221 |291        |339            |
   |V42_LGBM_CT_BLEND  |0.116  |25    |       |       |      |       |           |               |
   |V42_LGBM_ROWAN20   |0.09   |19    |       |       |      |       |           |               |
   |V42_LGBM_TEAGER20  |0.315  |68    |       |       |      |       |           |               |
   |V42_LGBM_TEAGER60  |0.095  |20    |       |       |      |       |           |               |
   |V4_LGBM_VICTOR20   |0.112  |24    |       |       |      |       |           |               |

versus the returns and risks for the current stake distribution of models with > 100 rounds, as per https://numer.ai/~benchmark_models:

|   mean|    Cov|   CVaR|    VaR| samplesize|
|------:|------:|------:|------:|----------:|
| 0.0079| 0.0213| 0.0397| 0.0316|        290|

v2.0.3

21 Dec 21:15
Compare
Choose a tag to compare

Note

I just noticed a bug in how tssr is calculated - I'm taking the Acf of the mean of the list of models you have, and it should be the Acf of the time series of the individual models. Will fix. Influences the model-performance-plot but not the portfolios.

Update

Minor change only. Vlad is updated to reflect the latest change in the upcoming multipliers that the tournament will be using from 2024 onwards (we went from 0.5xCORR + 2xMMC to 0.5xCORR + 3xMMC, back to 0.5xCORR+2xMMC).

Example

Here is an example of the model performances of the https://numer.ai/~benchmark_models.

model-performances

According to Vlad, the below stake distribution is the optimal stake weighting Numer.ai should go for, which would outperform their current stake distribution by a significant margin :-).

suggested stake distribution: 

|name               |weight |stake |mean   |Cov    |CVaR   |VaR    |samplesize |starting_round |
|:------------------|:------|:-----|:------|:------|:------|:------|:----------|:--------------|
|V42_EXAMPLE_PREDS  |0.044  |9     |0.0188 |0.0257 |0.0261 |0.0207 |291        |339            |
|V42_LGBM_CLAUDIA20 |0.229  |49    |       |       |       |       |           |               |
|V42_LGBM_CT_BLEND  |0.105  |23    |       |       |       |       |           |               |
|V42_LGBM_ROWAN20   |0.075  |16    |       |       |       |       |           |               |
|V42_LGBM_TEAGER20  |0.308  |66    |       |       |       |       |           |               |
|V42_LGBM_TEAGER60  |0.093  |20    |       |       |       |       |           |               |
|V4_LGBM_VICTOR20   |0.094  |20    |       |       |       |       |           |               |
|V4_LGBM_VICTOR60   |0.053  |11    |       |       |       |       |           |               |

versus the returns and risks for the current stake distribution of models with > 100 rounds, as per https://numer.ai/~benchmark_models:

|   mean|    Cov|   CVaR|    VaR| samplesize|
|------:|------:|------:|------:|----------:|
| 0.0079| 0.0213| 0.0397| 0.0316|        290|

The future is 0.5xCORR + 2xMMC :-).

27 Nov 19:54
Compare
Choose a tag to compare

Update

Minor change only. Vlad is updated to the 0.5xCORR + 2XMMC multipliers that the tournament will be using.

Example

Here is an example of the model performances of the https://numer.ai/~benchmark_models.

model-performances

According to Vlad, the below stake distribution is the optimal stake weighting Numer.ai should go for, which would outperform their current stake distribution by a significant margin :-).

suggested stake distribution: 

|name             | weight| stake|mean   |Cov    |CVaR   |VaR    |samplesize |
|:----------------|------:|-----:|:------|:------|:------|:------|:----------|
|INTEGRATION_TEST |  0.414|    59|0.0128 |0.0218 |0.0216 |0.0183 |273        |
|V4_LGBM_VICTOR20 |  0.459|    66|       |       |       |       |           |
|V4_LGBM_VICTOR60 |  0.127|    18|       |       |       |       |           |

versus the current stake distribution of models with > 100 rounds, as per https://numer.ai/~benchmark_models:

|name               |   mean|    Cov|   CVaR|    VaR| samplesize|
|:------------------|------:|------:|------:|------:|----------:|
|current stake dist | 0.0086| 0.0267| 0.0444| 0.0413|        272|

The Future is MMC

26 Nov 15:04
Compare
Choose a tag to compare

Update

Vlad is updated in preparation to the upcoming 2024 change in numer.ai's model reward function.

Changes

  • A bug was solved that made v2.0.0 consider only the corr20v2 score, and ignore mmc.
  • MMC (the new scoring metric) wasn't backfilled yet by Numer.ai. Now it is.
  • Changed the look of the model performance plot to be more intuitive and pleasing. Note that tSSR refers to an autocorrelation and sample-size corrected sharpe.
  • An example bit of code is added on how to calculate the performance of any given stake distribution.

Example

Here is an example of the model performances of the https://numer.ai/~benchmark_models.
model-performances

According to Vlad, the below stake distribution is the optimal stake weighting Numer.ai should go for, which would outperform their current stake distribution by a significant margin :-).

suggested stake distribution: 

  |name               | weight| stake|mean   |Cov    |CVaR   |VaR    |samplesize |
  |:------------------|------:|-----:|:------|:------|:------|:------|:----------|
  |INTEGRATION_TEST   |  0.266|    38|0.0041 |0.0073 |0.0078 |0.0053 |272        |
  |V2_EXAMPLE_PREDS   |  0.112|    16|       |       |       |       |           |
  |V42_RAIN_ENSEMBLE2 |  0.092|    13|       |       |       |       |           |
  |V4_LGBM_NOMI20     |  0.086|    12|       |       |       |       |           |
  |V4_LGBM_TYLER60    |  0.103|    14|       |       |       |       |           |
  |V4_LGBM_VICTOR20   |  0.339|    48|       |       |       |       |           |

versus the current stake distribution of models with > 100 rounds, as per https://numer.ai/~benchmark_models:

|name               |   mean|   Cov|   CVaR|    VaR| samplesize|
|:------------------|------:|-----:|------:|------:|----------:|
|current stake dist | 0.0027| 0.009| 0.0148| 0.0122|        272|

Version 2 of Vlad: the future is MMC

23 Nov 11:27
Compare
Choose a tag to compare

WARNING

This version contains a bug that makes Vlad pull the corr20V2 scores as if they are MMC. Currently, the MMC scores aren't backfilled yet, so Vlad V2 isn't useful right now, unless you want to base your staking on corr20V2 scores.

The culprit was line 58 in functions.R, where there is a colnames(temp) <- c("roundNumber","score") that shouldn't be there, which renames the corr20V2 column to that of score

Update

Vlad is updated in preparation to the upcoming 2024 change in numer.ai's model reward function (I never got to update Vlad for the change in reward function in the second half of 2023, but luckily that change was short-lived).

Changes

Many changes, but this sums it up:

  • input columns are now just name, starting round, notes (dropped end rounds column).
  • made it easier to redefine within the code from what round onwards you want to consider your models
  • as we are switching to a world without stake multipliers, it is just MMC now (added an option to do X corr + Y mmc for when Numer.ai switches to a mixture of corr and MMC).
  • model stats have gotten fancier, including drawdown and tSSR (sharpe ratio modified for autocorrelation and sample size).
  • Your models likely don't all start at the same round. Vlad now calculates per starting point what the optimal portfolio is, presents all of those portfolios, and also (dumbly/blindly) combines those portfolios into a single one by equal weighting and merging the different starting point portfolios.
  • pretty printing of portfolios.

Example

Here is an example of the model performances of the https://numer.ai/~benchmark_models. Blacker dots have had less of a max drawdown, & bigger dots have a higher autocorrelation-corrected and samplesize-corrected Sharpe.

model-performances

And according to Vlad, the below is the stake weighting https://numer.ai/~benchmark_models should go for :-).

|name              | weight| stake|mean   |Cov    |CVaR   |VaR    |samplesize |
|:-----------------|------:|-----:|:------|:------|:------|:------|:----------|
|INTEGRATION_TEST  |  0.594|    85|0.0078 |0.0187 |0.0267 |0.0242 |269        |
|V3_EXAMPLE_PREDS  |  0.155|    22|       |       |       |       |           |
|V42_EXAMPLE_PREDS |  0.139|    20|       |       |       |       |           |
|V42_RAIN_ENSEMBLE |  0.112|    16|       |       |       |       |           |

First version of Vlad the Staker

15 Sep 17:54
Compare
Choose a tag to compare

First version. Next up are better time series visualisations.