Skip to content

Commit 70610a5

Browse files
authored
Prepare for cross-validation, fix bug of fees not being used whe computing the outer returns in stacking and nco optimisations. (#64)
* Fix title cases and remove Documenter.jl link disambiguations from repo's readme [no ci] * Throw clearer IsNothingError using argcheck rather than letting the program throw an obscure MethodError * Fix subtle bug where fees were not being applied when predicting the outer returns of Stacking and NestedClusters optimisations
1 parent 44e76bf commit 70610a5

File tree

60 files changed

+796
-747
lines changed

Some content is hidden

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

60 files changed

+796
-747
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "PortfolioOptimisers"
22
uuid = "e0036ec9-05e5-505d-a6a9-07af41c94861"
3-
version = "0.14.0"
3+
version = "0.14.1"
44
authors = ["Daniel Celis Garza <daniel.celis.garza@gmail.com>"]
55

66
[deps]

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ There are other kinds of plots which we explore in the [examples](https://dcelis
429429
- Find complete indices [`find_complete_indices`]
430430
- Find uncorrelated indices [`find_uncorrelated_indices`]-(TBA)
431431

432-
### Matrix Processing
432+
### Matrix processing
433433

434434
- Positive definite projection [`Posdef`], [`posdef!`], [`posdef`]
435435
- Denoising [`Denoise`], [`denoise!`], [`denoise`]
@@ -439,7 +439,7 @@ There are other kinds of plots which we explore in the [examples](https://dcelis
439439
- Detoning [`Detone`], [`detone!`], [`detone`]
440440
- Matrix processing pipeline [`DenoiseDetoneAlgMatrixProcessing`], [`matrix_processing!`], [`matrix_processing`], [`DenoiseDetoneAlg`], [`DenoiseAlgDetone`], [`DetoneDenoiseAlg`], [`DetoneAlgDenoise`], [`AlgDenoiseDetone`], [`AlgDetoneDenoise`]
441441

442-
### Regression Models
442+
### Regression models
443443

444444
Factor prior models and implied volatility use [`regression`] in their estimation, which return a [`Regression`] object.
445445

@@ -467,9 +467,9 @@ Factor prior models and implied volatility use [`regression`] in their estimatio
467467
- Principal component [`PCA`]
468468
- Probabilistic principal component [`PPCA`]
469469

470-
### Moment Estimation
470+
### Moment estimation
471471

472-
#### [Expected Returns](@id readme-expected-returns)
472+
#### Expected returns
473473

474474
Overloads `Statistics.mean`.
475475

@@ -487,13 +487,13 @@ Overloads `Statistics.mean`.
487487
- Mean Squared Error [`MeanSquaredError`]
488488
- Standard deviation expected returns [`StandardDeviationExpectedReturns`]-(TBA)
489489

490-
#### [Variance and Standard Deviation](@id readme-variance)
490+
#### Variance and standard deviation
491491

492492
Overloads `Statistics.var` and `Statistics.std`.
493493

494494
- Optionally weighted variance with custom expected returns estimator [`SimpleVariance`]
495495

496-
#### [Covariance and Correlation](@id readme-covariance-correlation)
496+
#### Covariance and correlation
497497

498498
Overloads `Statistics.cov` and `Statistics.cor`.
499499

@@ -546,15 +546,15 @@ Overloads `Statistics.cov` and `Statistics.cor`.
546546
- Covariance with custom covariance estimator and matrix processing pipeline [`PortfolioOptimisersCovariance`]
547547
- Correlation covariance [`CorrelationCovariance`]-(TBA)
548548

549-
#### [Coskewness](@id readme-coskewness)
549+
#### Coskewness
550550

551551
Implements [`coskewness`].
552552

553553
- Coskewness and spectral decomposition of the negative coskewness with custom expected returns estimator and matrix processing pipeline [`Coskewness`]
554554
- Full coskewness [`Full`]
555555
- Semi (downside) coskewness [`Semi`]
556556

557-
#### [Cokurtosis](@id readme-cokurtosis)
557+
#### Cokurtosis
558558

559559
Implements [`cokurtosis`].
560560

@@ -695,7 +695,7 @@ The following estimator can only generate box sets.
695695

696696
- [`DeltaUncertaintySet`]
697697

698-
### [Turnover](@id readme-turnover)
698+
### Turnover
699699

700700
The turnover is defined as the element-wise absolute difference between the vector of current weights and a vector of benchmark weights. It can be used as a constraint, method for fee calculation, and risk measure. These are all implemented using [`turnover_constraints`], [`TurnoverEstimator`], and [`Turnover`].
701701

@@ -714,7 +714,7 @@ Fees are a non-negligible aspect of active investing. As such `PortfolioOptimise
714714

715715
Various risk measures and analyses require the computation of simple and cumulative portfolio returns and drawdowns both in aggregate and per-asset. These are computed by [`calc_net_returns`], [`calc_net_asset_returns`], [`cumulative_returns`], [`drawdowns`].
716716

717-
### [Tracking](@id readme-tracking)
717+
### Tracking
718718

719719
It is often useful to create portfolios that track the performance of an index, indicator, or another portfolio.
720720

@@ -1013,7 +1013,7 @@ These optimisations attempt to achieve weight values according to a risk budget
10131013
- L1
10141014
- L2
10151015

1016-
#### [Clustering](@id readme-clustering-opt)
1016+
#### Clustering
10171017

10181018
Clustering optimisations make use of asset relationships to either minimise the risk exposure by breaking the asset universe into subsets which are hierarchically or individually optimised.
10191019

docs/src/index.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ There are other kinds of plots which we explore in the [examples](https://dcelis
268268
- Find complete indices [`find_complete_indices`](@ref)
269269
- Find uncorrelated indices [`find_uncorrelated_indices`]-(@ref)
270270

271-
### Matrix Processing
271+
### Matrix processing
272272

273273
- Positive definite projection [`Posdef`](@ref), [`posdef!`](@ref), [`posdef`](@ref)
274274
- Denoising [`Denoise`](@ref), [`denoise!`](@ref), [`denoise`](@ref)
@@ -278,7 +278,7 @@ There are other kinds of plots which we explore in the [examples](https://dcelis
278278
- Detoning [`Detone`](@ref), [`detone!`](@ref), [`detone`](@ref)
279279
- Matrix processing pipeline [`DenoiseDetoneAlgMatrixProcessing`](@ref), [`matrix_processing!`](@ref), [`matrix_processing`](@ref), [`DenoiseDetoneAlg`](@ref), [`DenoiseAlgDetone`](@ref), [`DetoneDenoiseAlg`](@ref), [`DetoneAlgDenoise`](@ref), [`AlgDenoiseDetone`](@ref), [`AlgDetoneDenoise`](@ref)
280280

281-
### Regression Models
281+
### Regression models
282282

283283
Factor prior models and implied volatility use [`regression`](@ref) in their estimation, which return a [`Regression`](@ref) object.
284284

@@ -306,9 +306,9 @@ Factor prior models and implied volatility use [`regression`](@ref) in their est
306306
- Principal component [`PCA`](@ref)
307307
- Probabilistic principal component [`PPCA`](@ref)
308308

309-
### Moment Estimation
309+
### Moment estimation
310310

311-
#### [Expected Returns](@id readme-expected-returns)
311+
#### [Expected returns](@id readme-expected-returns)
312312

313313
Overloads `Statistics.mean`.
314314

@@ -326,13 +326,13 @@ Overloads `Statistics.mean`.
326326
- Mean Squared Error [`MeanSquaredError`](@ref)
327327
- Standard deviation expected returns [`StandardDeviationExpectedReturns`]-(@ref)
328328

329-
#### [Variance and Standard Deviation](@id readme-variance)
329+
#### [Variance and standard deviation](@id readme-variance)
330330

331331
Overloads `Statistics.var` and `Statistics.std`.
332332

333333
- Optionally weighted variance with custom expected returns estimator [`SimpleVariance`](@ref)
334334

335-
#### [Covariance and Correlation](@id readme-covariance-correlation)
335+
#### [Covariance and correlation](@id readme-covariance-correlation)
336336

337337
Overloads `Statistics.cov` and `Statistics.cor`.
338338

0 commit comments

Comments
 (0)