skfolio.moments.RegimeAdjustmentTarget#

class skfolio.moments.RegimeAdjustmentTarget(*values)[source]#

Target dimension used to calibrate the short-term volatility update (STVU).

Determines what statistic is computed to detect volatility regime changes.

The STVU uses a statistic \(d^2\) that measures the discrepancy between predicted and realized risk. The target determines which aspect of the covariance matrix is calibrated.

Target

Formula

What it calibrates

PORTFOLIO

\(d^2 = n \cdot (w^T r)^2 / (w^T \Sigma w)\)

Portfolio variance along a single aggregated direction

DIAGONAL

\(d^2 = \sum_i (r_i / \sigma_i)^2\)

Individual asset volatilities across the universe (ignores correlations)

MAHALANOBIS

\(d^2 = r^T \Sigma^{-1} r\)

Full covariance structure (all eigenvalue directions)

Note

PORTFOLIO (the default) calibrates the covariance along economically relevant directions. MAHALANOBIS weights all eigenvector directions equally, including the smallest-eigenvalue directions whose estimates are typically the least stable. In practice this can make the regime multiplier sensitive to returns along poorly estimated directions that carry little portfolio relevance.

Methods

capitalize(/)

Return a capitalized version of the string.

casefold(/)

Return a version of the string suitable for caseless comparisons.

center(width[, fillchar])

Return a centered string of length width.

count

encode(/[, encoding, errors])

Encode the string using the codec registered for encoding.

endswith

expandtabs(/[, tabsize])

Return a copy where all tab characters are expanded using spaces.

find

format(*args, **kwargs)

Return a formatted version of the string, using substitutions from args and kwargs.

format_map(mapping, /)

Return a formatted version of the string, using substitutions from mapping.

index

isalnum(/)

Return True if the string is an alpha-numeric string, False otherwise.

isalpha(/)

Return True if the string is an alphabetic string, False otherwise.

isascii(/)

Return True if all characters in the string are ASCII, False otherwise.

isdecimal(/)

Return True if the string is a decimal string, False otherwise.

isdigit(/)

Return True if the string is a digit string, False otherwise.

isidentifier(/)

Return True if the string is a valid Python identifier, False otherwise.

islower(/)

Return True if the string is a lowercase string, False otherwise.

isnumeric(/)

Return True if the string is a numeric string, False otherwise.

isprintable(/)

Return True if all characters in the string are printable, False otherwise.

isspace(/)

Return True if the string is a whitespace string, False otherwise.

istitle(/)

Return True if the string is a title-cased string, False otherwise.

isupper(/)

Return True if the string is an uppercase string, False otherwise.

join(iterable, /)

Concatenate any number of strings.

ljust(width[, fillchar])

Return a left-justified string of length width.

lower(/)

Return a copy of the string converted to lowercase.

lstrip([chars])

Return a copy of the string with leading whitespace removed.

maketrans

partition(sep, /)

Partition the string into three parts using the given separator.

removeprefix(prefix, /)

Return a str with the given prefix string removed if present.

removesuffix(suffix, /)

Return a str with the given suffix string removed if present.

replace(old, new, /[, count])

Return a copy with all occurrences of substring old replaced by new.

rfind

rindex

rjust(width[, fillchar])

Return a right-justified string of length width.

rpartition(sep, /)

Partition the string into three parts using the given separator.

rsplit(/[, sep, maxsplit])

Return a list of the substrings in the string, using sep as the separator string.

rstrip([chars])

Return a copy of the string with trailing whitespace removed.

split(/[, sep, maxsplit])

Return a list of the substrings in the string, using sep as the separator string.

splitlines(/[, keepends])

Return a list of the lines in the string, breaking at line boundaries.

startswith

strip([chars])

Return a copy of the string with leading and trailing whitespace removed.

swapcase(/)

Convert uppercase characters to lowercase and lowercase characters to uppercase.

title(/)

Return a version of the string where each word is titlecased.

translate(table, /)

Replace each character in the string using the given translation table.

upper(/)

Return a copy of the string converted to uppercase.

zfill(width, /)

Pad a numeric string with zeros on the left, to fill a field of the given width.

References

[1]

“The Elements of Quantitative Investing”, Wiley Finance, Giuseppe Paleologo (2025).

classmethod has(value)#

Check if a value is in the Enum.

Parameters:
valuestr

Input value.

Returns:
xbool

True if the value is in the Enum, False otherwise.