コード例 #1
0
  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")));
    }
  }
コード例 #2
0
  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"));
  }