public void setLaufzeit(DataPointVector DPVector, int vorlaufzeit_jahre, int laufzeit) { Date Beginn = new Date(); Date Ende = new Date(); int laufzeit_jahre = RandomNumber(2, 25); Date Stichtag = Calendar.getInstance().getTime(); DPVector.addDataPoint("AI_Stichtag_Datum", Stichtag); Beginn.setYear((2014 - vorlaufzeit_jahre) - 1900); Beginn.setMonth(RandomNumber(1, 12)); Beginn.setDate(RandomNumber(1, 28)); Ende.setYear(2014 + laufzeit_jahre - 1900); Ende.setMonth(RandomNumber(1, 12)); Ende.setDate(RandomNumber(1, 28)); // Ende Laufzeit // DPVector.addDataPoint("GF17_Vertragsbeginn_Datum", Beginn); DPVector.addDataPoint("GF18_Kapitalbeginn_Datum", Beginn); DPVector.addDataPoint("GF19_Kapitalende_Datum", Ende); DPVector.addDataPoint("GF52_Vertragsende_Datum", Ende); DPVector.addDataPoint( "GFA83_Ursprungslaufzeit_Code", BCAlgos.XEN_Laufzeitenberechnung(Beginn, Ende)); DPVector.addDataPoint( "GFA84_Restlaufzeit_Code", BCAlgos.XEN_Laufzeitenberechnung(Stichtag, Ende)); }
public Vector<DataPointVector> CDSorCLN(int type, int NominalWert) { int LastID = getLastID() + 1; Vector<DataPointVector> CDSData = new Vector(); // 0ter Datensatz entspricht dem CDS // alle weiten sind Underlyungs // // Wichtige Parameter // // Dieser Vector enthält Kredite mit verschiedenen Ausprägungen DataPointVector DPVector = new DataPointVector(); String GFK = ""; if (type == 0) GFK = "Q"; if (type == 1) GFK = "H"; DPVector.addDataPoint("GF00_Geschaeftsfallkategorie_Code", GFK); if (type == 1) { DPVector.addDataPoint("WM00_Wertpapiertyp_Code", "ANL"); DPVector.addDataPoint("WM02_Wertpapierart_Code", "CLN"); } Date Stichtag = Calendar.getInstance().getTime(); DPVector.addDataPoint("AI_Mandant", 1); DPVector.addDataPoint("AI_Stichtag_Datum", Stichtag); DPVector.addDataPoint("EM04_Sektor_ESVG_MS_Code", ESVGSektoren.randomElement()); DPVector.addDataPoint("EO02_Sitzland_OS_Code", Laender.randomElement()); DPVector.addDataPoint( "GF03_Geschaeftsfall_Waehrung_Code", Land_Waehrung.get(Laender.randomElement())); int vorlaufzeit_jahre = RandomNumber(2, 10); Date Beginn = new Date(); Date Ende = new Date(); int laufzeit_jahre = RandomNumber(2, 25); Beginn.setYear((2014 - vorlaufzeit_jahre) - 1900); Beginn.setMonth(RandomNumber(1, 12)); Beginn.setDate(RandomNumber(1, 28)); Ende.setYear(2014 + laufzeit_jahre - 1900); Ende.setMonth(RandomNumber(1, 12)); Ende.setDate(RandomNumber(1, 28)); // // Ende Laufzeit // int Anzahl_Underlyings = 1; if (type == 1) { Anzahl_Underlyings = 2; // RandomNumber(3, 6); } if (type == 1) { // Phantasie ISIN DPVector.addDataPoint("AI_ISIN", "DE000BAY0017"); } System.out.println("Anzahl_Underlyings = " + Anzahl_Underlyings); DPVector.addDataPoint("GF17_Vertragsbeginn_Datum", Beginn); DPVector.addDataPoint("GF18_Kapitalbeginn_Datum", Beginn); DPVector.addDataPoint("GF19_Kapitalende_Datum", Ende); // Derivate Attribute für einen Swap if (type == 0) DPVector.addDataPoint("GF40_Kauf_Verkauf_Code", "V"); if (type == 0) DPVector.addDataPoint("GF42_Derivattyp_Code", "S"); DPVector.addDataPoint("GF52_Vertragsende_Datum", Ende); DPVector.addDataPoint( "GFA83_Ursprungslaufzeit_Code", BCAlgos.XEN_Laufzeitenberechnung(Beginn, Ende)); DPVector.addDataPoint( "GFA84_Restlaufzeit_Code", BCAlgos.XEN_Laufzeitenberechnung(Stichtag, Ende)); DPVector.addDataPoint("GF109_Bilanzseite_Code", "AKT"); DPVector.addDataPoint("GF112_Zerlegung_Underlying_Kennzeichen", "FALSCH"); DPVector.addDataPoint("NN", NominalWert); if (type == 1) { DPVector.addDataPoint( "MW", NominalWert * 1.2); // hier die Möglichekit schaffen dass der Marktwert auch weniger als die // Nominale ist } CDSData.add(DPVector); // originaeres CDS for (int j = 0; j < Anzahl_Underlyings; j++) { // Hinzufuegen von Underlyings DataPointVector Underlying = new DataPointVector(); Underlying.addDataPoint("GF00_Geschaeftsfallkategorie_Code", "A"); Underlying.addDataPoint("AI_Mandant", 1); Underlying.addDataPoint("AI_Stichtag_Datum", Stichtag); Underlying.addDataPoint("GF109_Bilanzseite_Code", "AUB"); Underlying.addDataPoint("EM04_Sektor_ESVG_MS_Code", ESVGSektoren.randomElement()); Underlying.addDataPoint("EO02_Sitzland_OS_Code", Laender.randomElement()); Underlying.addDataPoint( "GF03_Geschaeftsfall_Waehrung_Code", Land_Waehrung.get(Laender.randomElement())); Beginn.setYear((2014 - vorlaufzeit_jahre) - 1900); Beginn.setMonth(RandomNumber(1, 12)); Beginn.setDate(RandomNumber(1, 28)); Ende.setYear(2014 + laufzeit_jahre - 1900); Ende.setMonth(RandomNumber(1, 12)); Ende.setDate(RandomNumber(1, 28)); // // Ende Laufzeit // Underlying.addDataPoint("GF17_Vertragsbeginn_Datum", Beginn); Underlying.addDataPoint("GF18_Kapitalbeginn_Datum", Beginn); Underlying.addDataPoint("GF19_Kapitalende_Datum", Ende); Underlying.addDataPoint("GF52_Vertragsende_Datum", Ende); Underlying.addDataPoint( "GFA83_Ursprungslaufzeit_Code", BCAlgos.XEN_Laufzeitenberechnung(Beginn, Ende)); Underlying.addDataPoint( "GFA84_Restlaufzeit_Code", BCAlgos.XEN_Laufzeitenberechnung(Stichtag, Ende)); Underlying.addDataPoint("GF112_Zerlegung_Underlying_Kennzeichen", "WAHR"); Underlying.addDataPoint("GB01_Beziehungsart_Code", "UL"); Underlying.addDataPoint("AI_Geschaeftsfall_ID2", LastID); Underlying.addDataPoint("NN", NominalWert / Anzahl_Underlyings); Underlying.addDataPoint("BW", NominalWert / Anzahl_Underlyings); CDSData.add(Underlying); } return (Vector<DataPointVector>) CDSData; }