Class SsviFormulaData

  • All Implemented Interfaces:
    SmileModelData, Serializable, org.joda.beans.Bean, org.joda.beans.ImmutableBean

    public final class SsviFormulaData
    extends Object
    implements SmileModelData, org.joda.beans.ImmutableBean, Serializable
    The data bundle for SSVI smile formula.

    The bundle contains the SSVI model parameters, ATM volatility, rho and eta.

    See Also:
    Serialized Form
    • Method Detail

      • of

        public static SsviFormulaData of​(double sigma,
                                         double rho,
                                         double eta)
        Obtains an instance of the SSVI formula data.
        Parameters:
        sigma - the sigma parameter, ATM volatility
        rho - the rho parameter
        eta - the eta parameter
        Returns:
        the instance
      • of

        public static SsviFormulaData of​(double[] parameters)
        Obtains an instance of the SSVI formula data.

        The parameters in the input array should be in the order of sigma (ATM volatility), rho and eta.

        Parameters:
        parameters - the parameters
        Returns:
        the instance
      • getSigma

        public double getSigma()
        Gets the sigma parameter.
        Returns:
        the sigma parameter
      • getRho

        public double getRho()
        Gets the rho parameter.
        Returns:
        the rho parameter
      • getEta

        public double getEta()
        Gets the eta parameters.
        Returns:
        the eta parameter
      • withSigma

        public SsviFormulaData withSigma​(double sigma)
        Returns a copy of this instance with sigma replaced.
        Parameters:
        sigma - the new sigma
        Returns:
        the new data instance
      • withRho

        public SsviFormulaData withRho​(double rho)
        Returns a copy of this instance with rho replaced.
        Parameters:
        rho - the new rho
        Returns:
        the new data instance
      • withEta

        public SsviFormulaData withEta​(double eta)
        Returns a copy of this instance with eta replaced.
        Parameters:
        eta - the new eta
        Returns:
        the new data instance
      • getNumberOfParameters

        public int getNumberOfParameters()
        Description copied from interface: SmileModelData
        Obtains the number of model parameters.
        Specified by:
        getNumberOfParameters in interface SmileModelData
        Returns:
        the number of model parameters
      • getParameter

        public double getParameter​(int index)
        Description copied from interface: SmileModelData
        Obtains a model parameter specified by the index.
        Specified by:
        getParameter in interface SmileModelData
        Parameters:
        index - the index
        Returns:
        the model parameter
      • isAllowed

        public boolean isAllowed​(int index,
                                 double value)
        Description copied from interface: SmileModelData
        Checks the value satisfies the constraint for a model parameter.

        The parameter is specified by index.

        Specified by:
        isAllowed in interface SmileModelData
        Parameters:
        index - the index
        value - the value
        Returns:
        true if allowed, false otherwise
      • with

        public SsviFormulaData with​(int index,
                                    double value)
        Description copied from interface: SmileModelData
        Creates a new smile model data bundle with a model parameter replaced.

        The parameter is specified by index and replaced by value.

        Specified by:
        with in interface SmileModelData
        Parameters:
        index - the index
        value - the value
        Returns:
        the new bundle
      • meta

        public static org.joda.beans.TypedMetaBean<SsviFormulaData> meta()
        The meta-bean for SsviFormulaData.
        Returns:
        the meta-bean, not null
      • metaBean

        public org.joda.beans.TypedMetaBean<SsviFormulaData> metaBean()
        Specified by:
        metaBean in interface org.joda.beans.Bean
      • getParameters

        public DoubleArray getParameters()
        Gets the model parameters.

        This must be an array of length 3. The parameters in the array are in the order of sigma (ATM volatility), rho and eta. The constraints for the parameters are defined in isAllowed(int, double).

        Returns:
        the value of the property, not null
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object