Skip to main content

relriskparity

Build a relaxed risk parity portfolio based on least squares approach

Usageโ€‹

relriskparity [-ve VERSION] [-rc RISK_CONTRIBUTION] [-pf PENAL_FACTOR] [-tr TARGET_RETURN] [-de SMOOTHING_FACTOR_EWMA] [-mt METHOD] [-ct CATEGORIES] [-p PERIOD] [-s START_PERIOD] [-e END_PERIOD] [-lr] [--freq {d,w,m}] [-mn MAX_NAN] [-th THRESHOLD_VALUE] [-v LONG_ALLOCATION] [--name NAME]

Parametersโ€‹

NameDescriptionDefaultOptionalChoices
risk_parity_modelversion of relaxed risk parity model: Possible values are: 'A': risk parity without regularization and penalization constraints 'B': with regularization constraint but without penalization constraint 'C': with regularization and penalization constraintsATrueA, B, C
risk_contributionVector of risk contribution constraintsNoneTrueNone
penal_factorThe penalization factor of penalization constraints. Only used with version 'C'.1TrueNone
target_returnConstraint on minimum level of portfolio's return-1TrueNone
smoothing_factor_ewmaSmoothing factor for ewma estimators0.94TrueNone
nan_fill_methodMethod used to fill nan values in time series, by default time. Possible values are: 'linear': linear interpolation 'time': linear interpolation based on time index 'nearest': use nearest value to replace nan values 'zero': spline of zeroth order 'slinear': spline of first order 'quadratic': spline of second order 'cubic': spline of third order 'barycentric': builds a polynomial that pass for all pointstimeTruelinear, time, nearest, zero, slinear, quadratic, cubic, barycentric
categoriesShow selected categoriesASSET_CLASS, COUNTRY, SECTOR, INDUSTRYTrueNone
historic_periodPeriod to get yfinance data from. Possible frequency strings are: 'd': means days, for example '252d' means 252 days 'w': means weeks, for example '52w' means 52 weeks 'mo': means months, for example '12mo' means 12 months 'y': means years, for example '1y' means 1 year 'ytd': downloads data from beginning of year to today 'max': downloads all data available for each asset3yTrue1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max
start_periodStart date to get yfinance data from. Must be in 'YYYY-MM-DD' formatTrueNone
end_periodEnd date to get yfinance data from. Must be in 'YYYY-MM-DD' formatTrueNone
log_returnsIf use logarithmic or arithmetic returns to calculate returnsFalseTrueNone
return_frequencyFrequency used to calculate returns. Possible values are: 'd': for daily returns 'w': for weekly returns 'm': for monthly returnsdTrued, w, m
max_nanMax percentage of nan values accepted per asset to be considered in the optimization process0.05TrueNone
threshold_valueValue used to replace outliers that are higher to threshold in absolute value0.3TrueNone
long_allocationAmount to allocate to portfolio1TrueNone
nameSave portfolio with personalized or default nameRRP_0TrueNone

Examplesโ€‹

2022 Apr 05, 14:08 (๐Ÿฆ‹) /portfolio/po/ $ relriskparity

[3 Years] Relaxed risk parity portfolio based on least squares approach

Weights
โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ โ”ƒ Value โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ AAPL โ”‚ 13.42 % โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ AMZN โ”‚ 16.51 % โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ BA โ”‚ 10.18 % โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ FB โ”‚ 12.83 % โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ MSFT โ”‚ 14.36 % โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ T โ”‚ 24.0 % โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ TSLA โ”‚ 8.68 % โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Annual (by 252) expected return: 28.99%
Annual (by โˆš252) volatility: 26.60%
Sharpe ratio: 1.0899