private static final void CreditCurveEODAPISample() throws Exception { JulianDate dt = JulianDate.CreateFromYMD(2011, 7, 21); /* * Retrieves all the CDS curves available for the given EOD */ Set<String> setstrCDSCurves = CreditAnalytics.GetEODCDSCurveNames(dt); for (String strCDSCurveName : setstrCDSCurves) System.out.println(strCDSCurveName); /* * Retrieves the calibrated credit curve from the CDS instruments for the given CDS curve name, * IR curve name, and EOD. Also shows the 10Y survival probability and hazard rate. */ CreditCurve ccEOD = CreditAnalytics.LoadEODCDSCreditCurve("813796", "USD", dt); JulianDate dt10Y = JulianDate.Today().addYears(10); System.out.println( "CCFromEOD[" + dt10Y.toString() + "]; Survival=" + ccEOD.getSurvival("10Y") + "; Hazard=" + ccEOD.calcHazard("10Y")); /* * Displays the CDS quotes used to construct the closing credit curve */ CalibratableComponent[] aCompCDS = ccEOD.calibComp(); for (int i = 0; i < aCompCDS.length; ++i) System.out.println( aCompCDS[i].getPrimaryCode() + " => " + (int) (ccEOD.manifestMeasure(aCompCDS[i].getPrimaryCode()))); /* * Loads all available credit curves for the given curve ID built from CDS instruments between 2 dates */ Map<JulianDate, CreditCurve> mapCC = CreditAnalytics.LoadEODCDSCreditCurves( "813796", "USD", JulianDate.CreateFromYMD(2011, 7, 14), dt); /* * Displays their 5Y CDS quote */ for (Map.Entry<JulianDate, CreditCurve> meCC : mapCC.entrySet()) { JulianDate dtME = meCC.getKey(); CreditCurve ccCOB = meCC.getValue(); System.out.println(dtME + "[CDS.5Y] => " + (int) (ccCOB.manifestMeasure("CDS.5Y"))); } }
private static final void CreditCurveAPISample() throws Exception { JulianDate dtStart = JulianDate.Today(); JulianDate dt10Y = dtStart.addYears(10); /* * Create Credit Curve from flat Hazard Rate */ CreditCurve ccFlatHazard = CreditCurveBuilder.FromFlatHazard(dtStart.getJulian(), "CC", "USD", 0.02, 0.4); System.out.println( "CCFromFlatHazard[" + dt10Y.toString() + "]; Survival=" + ccFlatHazard.getSurvival("10Y") + "; Hazard=" + ccFlatHazard.calcHazard("10Y")); double[] adblDate = new double[5]; double[] adblSurvival = new double[5]; for (int i = 0; i < 5; ++i) { adblDate[i] = dtStart.addYears(2 * i + 2).getJulian(); adblSurvival[i] = 1. - 0.1 * (i + 1); } /* * Create Credit Curve from an array of dates and their corresponding survival probabilities */ CreditCurve ccFromSurvival = CreditCurveBuilder.FromSurvival( dtStart.getJulian(), "CC", "USD", adblDate, adblSurvival, 0.4); System.out.println( "CCFromSurvival[" + dt10Y.toString() + "]; Survival=" + ccFromSurvival.getSurvival("10Y") + "; Hazard=" + ccFromSurvival.calcHazard("10Y")); }