/** * Loads the seasonality definition CSV file. * * @param resource the seasonality CSV resource * @return the map of seasonality definitions */ public static Map<CurveName, SeasonalityDefinition> loadSeasonalityDefinitions(ResourceLocator resource) { return parseSeasonalityDefinitions(resource.getCharSource()); }
public void test_loadSeasonalityDefinition() { Map<CurveName, SeasonalityDefinition> defns = SeasonalityDefinitionCsvLoader.loadSeasonalityDefinitions(ResourceLocator.of(GROUPS_1)); assertEquals(defns.size(), 1); SeasonalityDefinition defn = defns.get(CurveName.of("USD-CPI")); assertEquals(defn.getAdjustmentType(), ShiftType.SCALED); assertEquals(defn.getSeasonalityMonthOnMonth().size(), 12); }
/** * Parses one or more CSV format curve calibration files with seasonality. * <p> * If the files contain a duplicate entry an exception will be thrown. * * @param groupsCharSource the curve groups CSV character source * @param settingsCharSource the curve settings CSV character source * @param seasonalityResource the seasonality CSV character source * @param curveNodeCharSources the CSV character sources for curve nodes * @return the group definitions, mapped by name * @throws IllegalArgumentException if the files contain a duplicate entry */ public static ImmutableMap<CurveGroupName, RatesCurveGroupDefinition> parseWithSeasonality( CharSource groupsCharSource, CharSource settingsCharSource, CharSource seasonalityResource, Collection<CharSource> curveNodeCharSources) { Map<CurveName, SeasonalityDefinition> seasonality = SeasonalityDefinitionCsvLoader.parseSeasonalityDefinitions(seasonalityResource); return parse0(groupsCharSource, settingsCharSource, seasonality, curveNodeCharSources); }