Class LoaderUtils
- java.lang.Object
-
- com.opengamma.strata.loader.LoaderUtils
-
public final class LoaderUtils extends Object
Contains utilities for loading market data from input files.
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_POSITION_SCHEMEDefault scheme for positions.static StringDEFAULT_SECURITY_SCHEMEDefault scheme for securities.static StringDEFAULT_TRADE_SCHEMEDefault scheme for trades.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static IndexfindIndex(String reference)Attempts to locate a rate index by reference name.static BarrierTypeparseBarrierType(String str)Parses barrier type from the input string.static BasisPointsparseBasisPoints(String str)Parses basis points from the input string.static BigDecimalparseBigDecimal(String str)Parses a decimal from the input string.static BigDecimalparseBigDecimalBasisPoint(String str)Parses a decimal from the input string, converting it from a basis points to decimal form.static BigDecimalparseBigDecimalPercent(String str)Parses a decimal from the input string, converting it from a percentage to decimal form.static booleanparseBoolean(String str)Parses a boolean from the input string.static BusinessDayConventionparseBusinessDayConvention(String str)Parses business day convention from the input string.static BuySellparseBuySell(String str)Parses buy/sell from the input string.static CapFloorparseCapFloor(String str)Parses cap/floor from the input string.static CurrencyparseCurrency(String str)Parses currency from the input string.static LocalDateparseDate(String str)Parses a date from the input string.static LocalDateparseDate(String str, DateTimeFormatter... formatters)Parses a date from the input string using the specified formatters.static DayCountparseDayCount(String str)Parses day count from the input string.static DecimalparseDecimal(String str)Parses a decimal from the input string.static DecimalparseDecimalBasisPoint(String str)Parses a decimal from the input string, converting it from a basis points to decimal form.static DecimalparseDecimalPercent(String str)Parses a decimal from the input string, converting it from a percentage to decimal form.static doubleparseDouble(String str)Parses a double from the input string.static doubleparseDoublePercent(String str)Parses a double from the input string, converting it from a percentage to a decimal values.static FrequencyparseFrequency(String str)Parses a frequency from the input string.static intparseInteger(String str)Parses an integer from the input string.static KnockTypeparseKnockType(String str)Parses knock type from the input string.static LongShortparseLongShort(String str)Parses long/short from the input string.static MarketTenorparseMarketTenor(String str)Parses a market tenor from the input string.static PayReceiveparsePayReceive(String str)Parses pay/receive from the input string.static PercentageparsePercentage(String str)Parses a percentage from the input string.static PeriodparsePeriod(String str)Parses a period from the input string.static PutCallparsePutCall(String str)Parses put/call from the input string.static StandardIdparseRedCode(String str)Parses a RED code from the input string.static RollConventionparseRollConvention(String str)Parses roll convention from the input string.static TenorparseTenor(String str)Parses a tenor from the input string.static LocalTimeparseTime(String str)Parses time from the input string.static YearMonthparseYearMonth(String str)Parses a year-month from the input string.static ZoneIdparseZoneId(String str)Parses time-zone from the input string.static Optional<Currency>tryParseCurrency(String str)Tries to parse a currency from the input string.static Optional<Frequency>tryParseFrequency(String str)Tries to parse a frequency from the input string.static Optional<MarketTenor>tryParseMarketTenor(String str)Tries to parse a market tenor from the input string.static Optional<Period>tryParsePeriod(String str)Tries to parse a period from the input string.static Optional<Tenor>tryParseTenor(String str)Tries to parse a tenor from the input string.
-
-
-
Field Detail
-
DEFAULT_TRADE_SCHEME
public static final String DEFAULT_TRADE_SCHEME
Default scheme for trades.- See Also:
- Constant Field Values
-
DEFAULT_POSITION_SCHEME
public static final String DEFAULT_POSITION_SCHEME
Default scheme for positions.- See Also:
- Constant Field Values
-
DEFAULT_SECURITY_SCHEME
public static final String DEFAULT_SECURITY_SCHEME
Default scheme for securities.- See Also:
- Constant Field Values
-
-
Method Detail
-
findIndex
public static Index findIndex(String reference)
Attempts to locate a rate index by reference name.This utility searches
IborIndex,OvernightIndex,FxIndexandPriceIndex.- Parameters:
reference- the reference name- Returns:
- the resolved rate index
-
parseBoolean
public static boolean parseBoolean(String str)
Parses a boolean from the input string.Parsing is case insensitive. True is parsed as 'TRUE', 'T', 'YES', 'Y'. False is parsed as 'FALSE', 'F', 'NO', 'N'. Other strings are rejected.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseInteger
public static int parseInteger(String str)
Parses an integer from the input string.If input value is bracketed, it will be parsed as a negative value. Comma separated values will be parsed assuming American decimal format. Values in European decimal formats (thus "12456789" formatted as "12.456.789") will not be parsed.
For example "12,300" and "12300" will be parsed as integer "12300" and similarly "(12,300)", "-12,300" and "-12300" will be parsed as integer "-12300".
Note: Comma separated values such as "1,234,5,6" will be parsed as integer "123456".
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseDouble
public static double parseDouble(String str)
Parses a double from the input string.If input value is bracketed, it will be parsed as a negative value. Comma separated values will be parsed assuming American decimal format. Values in European decimal formats (thus "12456789.444" formatted as "12.456.789,444") will not be parsed.
For example "12,300.12" and "12300.12" will be parsed as "12300.12d" and similarly "(12,300.12)", "-12,300.12" and "-12300.12" will be parsed as "-12300.12d".
Note: Comma separated values such as "1,234,5,6.12" will be parsed as "123456.12d".
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseDoublePercent
public static double parseDoublePercent(String str)
Parses a double from the input string, converting it from a percentage to a decimal values.If input value is bracketed, it will be parsed as a negative decimal percentage. For example '(12.34)' will be parsed as -0.1234d.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseBigDecimal
public static BigDecimal parseBigDecimal(String str)
Parses a decimal from the input string.If input value is bracketed, it will be parsed as a negative value. Comma separated values will be parsed assuming American decimal format. Values in European decimal formats (thus "12456789.444" formatted as "12.456.789,444") will not be parsed.
For example "12,300.12" and "12300.12" will be parsed as big decimal "12300.12" and similarly "(12,300.12)", "-12,300.12" and "-12300.12" will be parsed as big decimal "-12300.12".
Note: Comma separated values such as "1,234,5,6.12" will be parsed as big decimal "123456.12".
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseBigDecimalPercent
public static BigDecimal parseBigDecimalPercent(String str)
Parses a decimal from the input string, converting it from a percentage to decimal form.If input value is bracketed, it will be parsed as a negative value. For example '(12.3456789)' will be parsed as a big decimal -0.123456789.
- Parameters:
str- the string to parse- Returns:
- the parsed value in decimal form
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseBigDecimalBasisPoint
public static BigDecimal parseBigDecimalBasisPoint(String str)
Parses a decimal from the input string, converting it from a basis points to decimal form.If input value is bracketed, it will be parsed as a negative value. For example '(12.3456789)' will be parsed as a big decimal -0.00123456789.
- Parameters:
str- the string to parse- Returns:
- the parsed value in decimal form
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseDecimal
public static Decimal parseDecimal(String str)
Parses a decimal from the input string.If input value is bracketed, it will be parsed as a negative value. Comma separated values will be parsed assuming American decimal format. Values in European decimal formats (thus "12456789.444" formatted as "12.456.789,444") will not be parsed.
For example "12,300.12" and "12300.12" will be parsed as big decimal "12300.12" and similarly "(12,300.12)", "-12,300.12" and "-12300.12" will be parsed as big decimal "-12300.12".
Note: Comma separated values such as "1,234,5,6.12" will be parsed as big decimal "123456.12".
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseDecimalPercent
public static Decimal parseDecimalPercent(String str)
Parses a decimal from the input string, converting it from a percentage to decimal form.If input value is bracketed, it will be parsed as a negative value. For example '(12.3456789)' will be parsed as a big decimal -0.123456789.
- Parameters:
str- the string to parse- Returns:
- the parsed value in decimal form
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseDecimalBasisPoint
public static Decimal parseDecimalBasisPoint(String str)
Parses a decimal from the input string, converting it from a basis points to decimal form.If input value is bracketed, it will be parsed as a negative value. For example '(12.3456789)' will be parsed as a big decimal -0.00123456789.
- Parameters:
str- the string to parse- Returns:
- the parsed value in decimal form
- Throws:
ParseFailureException- if the string cannot be parsed
-
parsePercentage
public static Percentage parsePercentage(String str)
Parses a percentage from the input string.If input value is bracketed, it will be parsed as a negative value. For example. '(12.3456789)' will be parsed as '-12.3456789%'.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseBasisPoints
public static BasisPoints parseBasisPoints(String str)
Parses basis points from the input string.If input value is bracketed, it will be parsed as a negative value. For example. '(12.3456789)' will be parsed as '12.3456789bps'.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseDate
public static LocalDate parseDate(String str, DateTimeFormatter... formatters)
Parses a date from the input string using the specified formatters.Each formatter is tried in order.
- Parameters:
str- the string to parseformatters- the date formats- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseDate
public static LocalDate parseDate(String str)
Parses a date from the input string.Parsing is case insensitive. It accepts formats 'yyyy-MM-dd', 'yyyyMMdd', 'yyyy/M/d', 'd/M/yyyy', 'd-MMM-yyyy' or 'dMMMyyyy'. Some formats also accept two-digits years (use is not recommended): 'd/M/yy', 'd-MMM-yy' or 'dMMMyy'.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseYearMonth
public static YearMonth parseYearMonth(String str)
Parses a year-month from the input string.Parsing is case insensitive. It accepts formats 'yyyy-MM', 'yyyyMM', 'MMM-yyyy' or 'MMMyyyy'. Some formats also accept two-digits years (use is not recommended): 'MMM-yy' or 'MMMyy'.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseTime
public static LocalTime parseTime(String str)
Parses time from the input string.It accepts formats 'HH[:mm[:ss.SSS]]'.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseZoneId
public static ZoneId parseZoneId(String str)
Parses time-zone from the input string.- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parsePeriod
public static Period parsePeriod(String str)
Parses a period from the input string.It accepts the same formats as
Period, but the "P" at the start is optional.- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
tryParsePeriod
public static Optional<Period> tryParsePeriod(String str)
Tries to parse a period from the input string.- Parameters:
str- the string to parse, may be null- Returns:
- the parsed period, empty if unable to parse
-
parseMarketTenor
public static MarketTenor parseMarketTenor(String str)
Parses a market tenor from the input string.- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
tryParseMarketTenor
public static Optional<MarketTenor> tryParseMarketTenor(String str)
Tries to parse a market tenor from the input string.- Parameters:
str- the string to parse, may be null- Returns:
- the parsed market tenor, empty if unable to parse
-
parseTenor
public static Tenor parseTenor(String str)
Parses a tenor from the input string.A tenor cannot be zero or negative.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
tryParseTenor
public static Optional<Tenor> tryParseTenor(String str)
Tries to parse a tenor from the input string.Parsing is case insensitive.
- Parameters:
str- the string to parse, may be null- Returns:
- the parsed tenor, empty if unable to parse
-
parseFrequency
public static Frequency parseFrequency(String str)
Parses a frequency from the input string.- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
tryParseFrequency
public static Optional<Frequency> tryParseFrequency(String str)
Tries to parse a frequency from the input string.- Parameters:
str- the string to parse, may be null- Returns:
- the parsed frequency, empty if unable to parse
-
parseCurrency
public static Currency parseCurrency(String str)
Parses currency from the input string.Parsing is case insensitive.
- Parameters:
str- the string to parse- Returns:
- the parsed currency
- Throws:
ParseFailureException- if the string cannot be parsed
-
tryParseCurrency
public static Optional<Currency> tryParseCurrency(String str)
Tries to parse a currency from the input string.Parsing is case insensitive.
- Parameters:
str- the string to parse, may be null- Returns:
- the parsed currency, empty if unable to parse
-
parseDayCount
public static DayCount parseDayCount(String str)
Parses day count from the input string.Parsing is case insensitive. It leniently handles a variety of known variants of day counts.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseBusinessDayConvention
public static BusinessDayConvention parseBusinessDayConvention(String str)
Parses business day convention from the input string.Parsing is case insensitive. It leniently handles a variety of known variants of business day conventions.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseRollConvention
public static RollConvention parseRollConvention(String str)
Parses roll convention from the input string.Parsing is case insensitive. It leniently handles a variety of known variants of roll conventions.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseBuySell
public static BuySell parseBuySell(String str)
Parses buy/sell from the input string.Parsing is case insensitive. Buy is parsed as 'BUY' or 'B'. Sell is parsed as 'SELL' or 'S'. Other strings are rejected.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseCapFloor
public static CapFloor parseCapFloor(String str)
Parses cap/floor from the input string.Parsing is case insensitive. Cap is parsed as 'CAP' or 'C'. Floor is parsed as 'FLOOR' or 'F'. Other strings are rejected.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parsePayReceive
public static PayReceive parsePayReceive(String str)
Parses pay/receive from the input string.Parsing is case insensitive. Pay is parsed as 'PAY' or 'P'. Receive is parsed as 'RECEIVE', 'REC' or 'R'. Other strings are rejected.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parsePutCall
public static PutCall parsePutCall(String str)
Parses put/call from the input string.Parsing is case insensitive. Put is parsed as 'PUT' or 'P'. Call is parsed as 'CALL' or 'C'. Other strings are rejected.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseLongShort
public static LongShort parseLongShort(String str)
Parses long/short from the input string.Parsing is case insensitive. Long is parsed as 'LONG' or 'L'. Short is parsed as 'SHORT' or 'S'. Other strings are rejected.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseBarrierType
public static BarrierType parseBarrierType(String str)
Parses barrier type from the input string.Parsing is case insensitive. Up is parsed as 'UP' or 'U'. Down is parsed as 'DOWN' or 'D'. Other strings are rejected.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseKnockType
public static KnockType parseKnockType(String str)
Parses knock type from the input string.Parsing is case insensitive. KnockIn is parsed as 'KNOCKIN', 'IN'. KnockOut is parsed as 'KNOCKOUT', 'OUT'. Other strings are rejected.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
parseRedCode
public static StandardId parseRedCode(String str)
Parses a RED code from the input string.The input string but be 6 or 9 characters long to be valid.
- Parameters:
str- the string to parse- Returns:
- the parsed value
- Throws:
ParseFailureException- if the string cannot be parsed
-
-