Class CSVSwaptionParser


  • public class CSVSwaptionParser
    extends Object
    Provides options to parse SwaptionDataLattice from csv files.
    Author:
    Roland Bachl
    • Constructor Detail

      • CSVSwaptionParser

        public CSVSwaptionParser​(SchedulePrototype fixMetaSchedule,
                                 SchedulePrototype floatMetaSchedule)
        Create the parser with no filter on the maturities and tenors.
        Parameters:
        fixMetaSchedule - The conventions used for the fixed leg of the swaptions.
        floatMetaSchedule - The conventions used for the float leg of the swaptions.
      • CSVSwaptionParser

        public CSVSwaptionParser​(String[] maturities,
                                 String[] tenors,
                                 SchedulePrototype fixMetaSchedule,
                                 SchedulePrototype floatMetaSchedule)
        Create the parser with filter on maturities and tenors.
        Parameters:
        maturities - The maturities, which the parser should consider.
        tenors - The tenors, which the parser should consider.
        fixMetaSchedule - The conventions used for the fixed leg of the swaptions.
        floatMetaSchedule - The conventions used for the float leg of the swaptions.
    • Method Detail

      • setFileQuotingConvention

        public void setFileQuotingConvention​(SwaptionDataLattice.QuotingConvention fileQuotingConvention,
                                             double fileQuotingUnit,
                                             double fileQuotingUnitForDisplacement)
        Set the quoting convention used in the files, together with their unit and the unit of the displacement. Values and shifts parsed are multiplied by this unit.
        Parameters:
        fileQuotingConvention - The quoting convention.
        fileQuotingUnit - The quoting unit (a scaling factor).
        fileQuotingUnitForDisplacement - The unit of the displacement (a scaling factor).
      • parseCSV

        public SwaptionDataLattice parseCSV​(File atmFile,
                                            File otmFile,
                                            LocalDate referenceDate,
                                            String currency,
                                            String index,
                                            String discountCurveName)
                                     throws IOException
        Extract a single lattice from the pair of csv files. The parser will not check that the files are aligned for the same reference date.
        Parameters:
        atmFile - The file containing data on atm swpations.
        otmFile - The file containing data on otm swaptions.
        referenceDate - The reference date the swaptions should be created with respect to.
        currency - The currency, which should be parsed from the files.
        index - The index, which should be parsed from the files.
        discountCurveName - The name of the discount curve, which should be used by the swaptions.
        Returns:
        The lattice containing the data from the files.
        Throws:
        IOException - Thrown upon io error with File.
      • parseZIP

        public SwaptionDataLattice[] parseZIP​(File atmFile,
                                              File otmFile,
                                              String currency,
                                              String index,
                                              String discountCurveName)
                                       throws IOException
        Extract an array of SwaptionDataLattice from the zip files. The reference dates will be taken from the names of the files inside the archives. The order of the files must be aligned inside the archives.
        Parameters:
        atmFile - The archive containing data on atm swpations.
        otmFile - The archive containing data on otm swaptions.
        currency - The currency, which should be parsed from the files.
        index - The index, which should be parsed from the files.
        discountCurveName - The name of the discount curve, which should be used by the swaptions.
        Returns:
        An array of lattices for each reference date.
        Throws:
        IOException - Thrown upon io error with File.
      • parseZIPToConvention

        public SwaptionDataLattice[] parseZIPToConvention​(File atmFile,
                                                          File otmFile,
                                                          String currency,
                                                          String index,
                                                          String discountCurveName,
                                                          SwaptionDataLattice.QuotingConvention convention,
                                                          double displacement,
                                                          AnalyticModel... models)
                                                   throws IOException
        Extract an array of SwaptionDataLattice from the zip files. The data in the zip file will be converted to the given quoting convention before storing. The reference dates will be taken from the names of the files inside the archives. The order of the files must be aligned inside the archives. Only the data sets for which a model with matching reference date is provided will be evaluated.
        Parameters:
        atmFile - The archive containing data on atm swpations.
        otmFile - The archive containing data on otm swaptions.
        currency - The currency, which should be parsed from the files.
        index - The index, which should be parsed from the files.
        discountCurveName - The name of the discount curve, which should be used by the swaptions.
        convention - The quoting convention to store the data in.
        displacement - The displacement to use, if storing in convention VOLATILITYLOGNORMAL
        models - The models for context to use for each data set top convert to convention.
        Returns:
        An array of lattices for each reference date.
        Throws:
        IOException - Thrown upon io error with File.
      • parseCSVMultiShift

        public Set<SwaptionDataLattice> parseCSVMultiShift​(File atmFile,
                                                           File otmFile,
                                                           LocalDate referenceDate,
                                                           String currency,
                                                           String index,
                                                           String discountCurveName)
                                                    throws IOException
        Extract a set of lattices from the pair of csv files. Each lattice contains data for matching displacements. The parser will not check that the files are alligned for the same reference date.
        Parameters:
        atmFile - The file containing data on atm swpations.
        otmFile - The file containing data on otm swaptions.
        referenceDate - The reference date the swaptions should be created with respect to.
        currency - The currency, which should be parsed from the files.
        index - The index, which should be parsed from the files.
        discountCurveName - The name of the discount curve, which should be used by the swaptions.
        Returns:
        The lattices containing the data from the files.
        Throws:
        IOException - Thrown upon io error with atmFile.
      • parseTenorsPerShift

        public Map<Double,​Set<String>> parseTenorsPerShift​(File atmFile,
                                                                 String currency)
                                                          throws IOException
        Create a map overview of which tenors in the given csv file share the same displacement.
        Parameters:
        atmFile - The file containing data on atm swpations.
        currency - The currency, which should be parsed from the files.
        Returns:
        A map overview of tenors per displacement.
        Throws:
        IOException - Thrown upon io error with atmFile.
      • getReferenceDates

        public static LocalDate[] getReferenceDates​(SwaptionDataLattice[] lattices)
        Extract the reference date of each SwaptionDataLattice in an array.
        Parameters:
        lattices - The array of lattices.
        Returns:
        Array of the respective reference dates.