Package com.polytechnik.utils
Class DiffSkewness
java.lang.Object
com.polytechnik.utils.DiffSkewness
Build two--node Gauss quadrature and calculate
its characteristics as parameter--dependent values.
An example of such such characterists can be
distribution skewness and its derivatives.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final double[]
(package private) final double[]
(package private) final double[]
final double
(package private) final double[]
static final OrthogonalPolynomialsMonomialsBasis
(package private) final double[]
(package private) final double[]
(package private) final double[]
(package private) final double[]
final Skewness
(package private) final double[]
-
Constructor Summary
ConstructorsConstructorDescriptionDiffSkewness
(double[] NOM, double[] SDENOM, double[] origmoments, double di, OrthogonalPolynomialsBasisFunctionsCalculatable<? extends BasisFunctionsCalculatable> M, double[] A, double[] B, double[] D, double[] XA, double[] L4NOM) -
Method Summary
Modifier and TypeMethodDescriptionstatic DiffSkewness
getDiffSkewness_FromMonomials
(double m0, double m1, double m2, double m3, double dm) getGamma()
Calculate Skewness & Sekewness derivatives.double
getGamma1
(double x) Calculate Skewness asympthotics.Returns L^2 volatility.Returns L^4 volatility (within a constant, assume a_4=0).static double[][]
getNOM_SDENOM_FromMonomials
(double m0, double m1, double m2, double m3, double dm) Internal method! I made it public for unit test purposes only! Calculates arrays for skewness calculation: Skewness=NOM(p)/sqrt(SQDENOM(p)).Returns second order monic orthogonal polynomial coefficients.getSkewnessAt
(double p) Calculate skewness for the moments: origmoments[k]+di*Qm(p).getX1X2()
Returns x1 & x2 quadrature nodes.Returns the midpoint (x_1+x_2)/2.Returns quadrature nodes difference x_2-x_1.Parameter--dependent average (the root of first order orthogonal polynomial).
-
Field Details
-
M
public final OrthogonalPolynomialsBasisFunctionsCalculatable<? extends BasisFunctionsCalculatable> M -
sknodi
-
di
public final double di -
NOM
final double[] NOM -
SDENOM
final double[] SDENOM -
origmoments
final double[] origmoments -
A
final double[] A -
B
final double[] B -
D
final double[] D -
XA
final double[] XA -
L4NOM
final double[] L4NOM -
ONE
final double[] ONE -
MB
-
-
Constructor Details
-
DiffSkewness
DiffSkewness(double[] NOM, double[] SDENOM, double[] origmoments, double di, OrthogonalPolynomialsBasisFunctionsCalculatable<? extends BasisFunctionsCalculatable> M, double[] A, double[] B, double[] D, double[] XA, double[] L4NOM)
-
-
Method Details
-
getGamma1
public double getGamma1(double x) Calculate Skewness asympthotics. -
getGamma
Calculate Skewness & Sekewness derivatives. -
getSkewnessAt
Calculate skewness for the moments: origmoments[k]+di*Qm(p). -
getOrthogonalPolynomial2Coefs
Returns second order monic orthogonal polynomial coefficients. The polynomial is built on parameter-dependent measure. -
getL4Volatility
Returns L^4 volatility (within a constant, assume a_4=0). -
getL2Volatility
Returns L^2 volatility. -
getX1X2midpoint
Returns the midpoint (x_1+x_2)/2. -
getX2minusX1
Returns quadrature nodes difference x_2-x_1. This difference can be successfully used in place of standard deviation. It has proper asymthotic and no divergence, thus provide much better stability in most cases. -
getX1X2
Returns x1 & x2 quadrature nodes. -
getXaverage
Parameter--dependent average (the root of first order orthogonal polynomial). -
getDiffSkewness_FromMonomials
public static DiffSkewness getDiffSkewness_FromMonomials(double m0, double m1, double m2, double m3, double dm) -
getNOM_SDENOM_FromMonomials
public static double[][] getNOM_SDENOM_FromMonomials(double m0, double m1, double m2, double m3, double dm) Internal method! I made it public for unit test purposes only! Calculates arrays for skewness calculation: Skewness=NOM(p)/sqrt(SQDENOM(p)).- Returns:
- array with [0]: NOM, [1]: SQDENOM, [2]: NOM(calculated directly) [3]: null, [4]: original moments.
-