public DataPointVector Derivat( int MW, String GF40, String GF42, String GF43, String GF44, String GFA120_Sicherheit_Kennzeichen) { // GF40 Kauf Verkauf Code // GF42_Derivattyp_Code : // O Option // F Future // W Forward // S Swap // X Sonstige // GF43_Underlying_Klasse_Code // GF44_Underlying_Subklasse_Code // // Wichtige Parameter // // // // Dieser Vector enthält Einlagen mit verschiedenen Ausprägungen DataPointVector DPVector = new DataPointVector(); DPVector.addDataPoint("GF00_Geschaeftsfallkategorie_Code", "Q"); DPVector.addDataPoint("GF40_Kauf_Verkauf_Code", GF40); DPVector.addDataPoint("GF42_Derivattyp_Code", GF42); DPVector.addDataPoint("GF43_Underlying_Klasse_Code", GF43); DPVector.addDataPoint("GF44_Underlying_Subklasse_Code", GF44); DPVector.addDataPoint("AI_Mandant", 1); 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())); if (MW < 0) { DPVector.addDataPoint("GF10_Soll_Haben_Code", "H"); // Ja nach AMrktwert Soll oder Haben DPVector.addDataPoint("GF109_Bilanzseite_Code", "PAS"); } else { DPVector.addDataPoint("GF10_Soll_Haben_Code", "S"); DPVector.addDataPoint("GF109_Bilanzseite_Code", "AKT"); } DPVector.addDataPoint("GF112_Zerlegung_Underlying_Kennzeichen", "FALSCH"); DPVector.addDataPoint("GFA120_Sicherheit_Kennzeichen", GFA120_Sicherheit_Kennzeichen); // // Laufzeiten // int laufzeit_jahre = RandomNumber(1, 4); setLaufzeit(DPVector, 1, laufzeit_jahre); DPVector.addDataPoint("MW", MW); return DPVector; }
public DataPointVector OffBalanceGeschaeft(int NN, int NAR, int UKR, String EM02, String GF114) { // GF114 = GF114_Ausserbilanzielle_Geschaefte_Code // UKR = Unwiderruflicher Kreditrahmen // // Wichtige Parameter // // // // Dieser Vector enthält Einlagen mit verschiedenen Ausprägungen DataPointVector DPVector = new DataPointVector(); DPVector.addDataPoint("GF00_Geschaeftsfallkategorie_Code", "P"); DPVector.addDataPoint("GF114_ausserbilanzielle_Geschaefte_Code", GF114); DPVector.addDataPoint("AI_Mandant", 1); DPVector.addDataPoint("EM04_Sektor_ESVG_MS_Code", ESVGSektoren.randomElement()); if (EM02 == null) { DPVector.addDataPoint("EO02_Sitzland_OS_Code", Laender.randomElement()); } else { DPVector.addDataPoint("EO02_Sitzland_OS_Code", EM02); } DPVector.addDataPoint( "GF03_Geschaeftsfall_Waehrung_Code", Land_Waehrung.get(Laender.randomElement())); DPVector.addDataPoint("GF10_Soll_Haben_Code", "H"); // Ja nach AMrktwert Soll oder Haben DPVector.addDataPoint("GF109_Bilanzseite_Code", "PUB"); DPVector.addDataPoint("GF112_Zerlegung_Underlying_Kennzeichen", "FALSCH"); // // Laufzeiten // int laufzeit_jahre = RandomNumber(1, 8); setLaufzeit(DPVector, 1, laufzeit_jahre); DPVector.addDataPoint("NN", NN); DPVector.addDataPoint("NAR", NAR); DPVector.addDataPoint("UKR", UKR); return DPVector; }
public void init() { // KFO Konsortialführer offen, Konsortialführer ist jenes KI, welches den Kreditvertrag // abschließt. Offen bedeutet, Kreditnehmer kennt die Konsortialpartner // KFS Konsortialführer still, Konsortialführer ist jenes KI, welches den Kreditvertrag // abschließt. Still bedeutet, Kreditnehmer kennt die Konsortialpartner nicht. // KO, Konsorte offen, Offen bedeutet, Kreditnehmer kennt die Konsortialpartner // KS, Konsorte still, Still bedeutet, Kreditnehmer kennt die Konsortialpartner nicht. // KK, Kein Konsortialkredit ReadExcel re = new ReadExcel(); re.setInputFile("C:\\Users\\frisch\\Desktop\\Prototyp_Stammdaten\\isocodes.xls"); try { Land_Waehrung = re.returnTreeMap(0, 4, 281, 2, 4); Waehrung_Land = re.returnTreeMap(0, 4, 281, 4, 2); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } Kredit_Verwendungszweck_Code.add("W"); // Kredit für Schaffung und Erhaltung von Wohnraum Kredit_Verwendungszweck_Code.add("K"); // Konsumkredit Kredit_Verwendungszweck_Code.add("I"); // Kredit für Immobilienfinanzierung Kredit_Verwendungszweck_Code.add("S"); // Sonstige Ausleihungen SektorBWG.add("0"); SektorBWG.add("1"); SektorBWG.add("2"); SektorBWG.add("3"); SektorBWG.add("4"); SektorBWG.add("5"); SektorBWG.add("6"); SektorBWG.add("7"); SektorBWG.add("8"); SektorBWG.add("9"); SektorBWG.add("11"); // Laender.add("BG"); // Laender.add("DK"); Laender.add("DE"); // Laender.add("EE"); // Laender.add("FI"); // Laender.add("FR"); Laender.add("GR"); // Laender.add("IE"); // Laender.add("IT"); // Laender.add("HR"); // Laender.add("LV"); // Laender.add("LT"); // Laender.add("LU"); // Laender.add("MT"); // Laender.add("NL"); Laender.add("AT"); // Laender.add("PL"); // Laender.add("PT"); // Laender.add("RO"); // Laender.add("SE"); // Laender.add("SK"); // Laender.add("SI"); // Laender.add("ES"); // Laender.add("CZ"); // Laender.add("HU"); Laender.add("GB"); // Laender.add("CY"); Laender.add("JP"); ESVGSektoren.add("1210"); // Zentralbank ESVGSektoren.add("1311"); // Zentralstaat ESVGSektoren.add("1312"); // Länder (inkl. Landeskammern, Landesfonds) ESVGSektoren.add("1313"); // Gemeinden (inkl. Gemeindefonds und -verbände) ESVGSektoren.add("1314"); // Sozialversicherung ESVGSektoren.add("1300Z"); // Staat nicht zuordenbar ESVGSektoren.add("1220A"); // 1220A-Z MFI ESVG_BIZ_SEKTOR_MAPPER.put("1210", "Offizieller Sektor"); // Zentralbank ESVG_BIZ_SEKTOR_MAPPER.put("1311", "Offizieller Sektor"); // Zentralstaat ESVG_BIZ_SEKTOR_MAPPER.put( "1312", "Offizieller Sektor"); // Länder (inkl. Landeskammern, Landesfonds) ESVG_BIZ_SEKTOR_MAPPER.put( "1313", "Offizieller Sektor"); // Gemeinden (inkl. Gemeindefonds und -verbände) ESVG_BIZ_SEKTOR_MAPPER.put("1314", "Offizieller Sektor"); // Sozialversicherung ESVG_BIZ_SEKTOR_MAPPER.put("1300Z", "Offizieller Sektor"); // Staat nicht zuordenbar ESVG_BIZ_SEKTOR_MAPPER.put("1220A", "Banken"); ESVGSektoren.add("1230"); // Geldmarktfonds ESVGSektoren.add("1240B"); // Rentenfonds ESVGSektoren.add("1240C"); // sonstige Fonds ESVGSektoren.add("1240D"); // Immobilienfonds ESVGSektoren.add("1240E"); // Aktienfonds ESVGSektoren.add("1240F"); // Hedgefonds ESVGSektoren.add("1240G"); // gemischte Fonds ESVGSektoren.add("1240Z"); // Investmentfonds nicht zuordenbar ESVGSektoren.add( "1250A"); // Andere finanzielle Unternehmen (exkl. Versicherungen und Pensionskassen) ESVGSektoren.add("1250B"); // Betriebliche Vorsorgekassen ESVGSektoren.add("1250C"); // Clearinghäuser ESVGSektoren.add("1250D"); // Financial Vehicle Corporations (FVCs) ESVGSektoren.add("1250E"); // Finanzleasinggesellschaften ESVGSektoren.add("1250Z"); // Sonstige Finanzinstitute nicht zuordenbar ESVGSektoren.add("1260A"); // Kredit- und Versicherungshilfstätigkeiten ESVGSektoren.add("1260B"); // Finanzielle Head-offices ESVGSektoren.add( "1270A"); // Firmeneigene Finanzinstitute und Kapitalgeber ohne Privatstiftungen (Holdings) ESVGSektoren.add("1270C"); // Sparkassenstiftungen (Anteilsverwaltungen) ESVGSektoren.add("1280"); // Versicherungsgesellschaften ESVGSektoren.add("1290"); // Pensionskassen (Alterssicherungssysteme) ESVGSektoren.add("1100"); // Nichtfinanzielle-Unternehmen // BIZ - Nicht-Banken-Privatsektor (Überbereich) // BIZ - Nichtbank-Finanzinstitutionen ESVG_BIZ_SEKTOR_MAPPER.put("1230", "Nicht-Banken-Privatsektor"); // Geldmarktfonds ESVG_BIZ_SEKTOR_MAPPER.put("1240B", "Nicht-Banken-Privatsektor"); // Rentenfonds ESVG_BIZ_SEKTOR_MAPPER.put("1240C", "Nicht-Banken-Privatsektor"); // sonstige Fonds ESVG_BIZ_SEKTOR_MAPPER.put("1240D", "Nicht-Banken-Privatsektor"); // Immobilienfonds ESVG_BIZ_SEKTOR_MAPPER.put("1240E", "Nicht-Banken-Privatsektor"); // Aktienfonds ESVG_BIZ_SEKTOR_MAPPER.put("1240F", "Nicht-Banken-Privatsektor"); // Hedgefonds ESVG_BIZ_SEKTOR_MAPPER.put("1240G", "Nicht-Banken-Privatsektor"); // gemischte Fonds ESVG_BIZ_SEKTOR_MAPPER.put( "1240Z", "Nicht-Banken-Privatsektor"); // Investmentfonds nicht zuordenbar ESVG_BIZ_SEKTOR_MAPPER.put( "1250A", "Nicht-Banken-Privatsektor"); // Andere finanzielle Unternehmen (exkl. Versicherungen und // Pensionskassen) ESVG_BIZ_SEKTOR_MAPPER.put( "1250B", "Nicht-Banken-Privatsektor"); // Betriebliche Vorsorgekassen ESVG_BIZ_SEKTOR_MAPPER.put("1250C", "Nicht-Banken-Privatsektor"); // Clearinghäuser ESVG_BIZ_SEKTOR_MAPPER.put( "1250D", "Nicht-Banken-Privatsektor"); // Financial Vehicle Corporations (FVCs) ESVG_BIZ_SEKTOR_MAPPER.put( "1250E", "Nicht-Banken-Privatsektor"); // Finanzleasinggesellschaften ESVG_BIZ_SEKTOR_MAPPER.put( "1250Z", "Nicht-Banken-Privatsektor"); // Sonstige Finanzinstitute nicht zuordenbar ESVG_BIZ_SEKTOR_MAPPER.put( "1260A", "Nicht-Banken-Privatsektor"); // Kredit- und Versicherungshilfstätigkeiten ESVG_BIZ_SEKTOR_MAPPER.put("1260B", "Nicht-Banken-Privatsektor"); // Finanzielle Head-offices ESVG_BIZ_SEKTOR_MAPPER.put( "1270A", "Nicht-Banken-Privatsektor"); // Firmeneigene Finanzinstitute und Kapitalgeber ohne // Privatstiftungen (Holdings) ESVG_BIZ_SEKTOR_MAPPER.put( "1270C", "Nicht-Banken-Privatsektor"); // Sparkassenstiftungen (Anteilsverwaltungen) ESVG_BIZ_SEKTOR_MAPPER.put("1280", "Nicht-Banken-Privatsektor"); // Versicherungsgesellschaften ESVG_BIZ_SEKTOR_MAPPER.put( "1290", "Nicht-Banken-Privatsektor"); // Pensionskassen (Alterssicherungssysteme) // BIZ - Nichfinanzieller Privatsektor (Überbereich) ESVG_BIZ_SEKTOR_MAPPER.put("1100", "Nichtfinanzielle-Unternehmen"); // BIZ - // • 1100 Nicht-finanzielle Unternehmen // BIZ - Haushalten und NPISH // • 1400B sonstige private Haushalte nicht zuordenbar // • 1400Z private Haushalte nicht zuordenbar // • 1500 sonstige private Organisationen ohne Erwerbszweck // • 1400A Selbständigenhaushalte (mit u.ohne Arbeitnehmer) // BIZ - Unallocated: Nichtfinanzieller Privatsektor // BIZ - Unallocated // BIZ - Unsicher – TBD // • 1270B Stiftunge Werttabelle.put("BW", "Buchwert"); Werttabelle.put("NN", "Nominale"); Werttabelle.put("MW", "Marktwert"); Werttabelle.put("KW", "Kompensationswert"); Werttabelle.put("FDU", "Forderungswert Derivate vor Netting gem. Ursprungsrisikomethode"); Werttabelle.put("FDM", "Forderungswert Derivate vor Netting gem. Marktbewertungsmethode"); Werttabelle.put("FDS", "Forderungswert Derivate vor Netting gem. Standardmethode"); Werttabelle.put("FDI", "Forderungswert Derivate vor Netting gem.internem Modell"); Werttabelle.put("FD", "Forderungswert Derivate"); Werttabelle.put("ND", "Netting"); Werttabelle.put("KGR", "kommunizierter Gesamtrahmen"); Werttabelle.put("ZH", "Zinsabgrenzung Haben"); Werttabelle.put("ZS", "Zinsabgrenzung Soll"); Werttabelle.put("EZ", "Effektivzinssatz"); Werttabelle.put("AJ", "annualisiert vereinbarter Jahreszinssatz"); Werttabelle.put("NAR", "nicht-ausgenützter Rahmen"); Werttabelle.put("UKR", "unwiderruflciher Kreditrahmen"); Werttabelle.put("DA", "direkte Abschreibung"); Werttabelle.put("EWB", "Einzelwertberichtigung"); Werttabelle.put("AWB", "aufgeteilte Pauschalwertberichtigung"); Werttabelle.put("EWBG", "Einzelwertberichtigung gesamt"); Werttabelle.put("WB", "Wertberichtigung § 57 BWG"); Werttabelle.put("KA", "in aktueller Periode angekaufter Kredit (Einzelkredit)"); Werttabelle.put("KV", "in aktueller Periode verkaufter Kredit (Einzelkredit)"); Werttabelle.put("EM", "Emission"); Werttabelle.put("TI", "Tilgung"); Werttabelle.put("NG", "Neugeschäft"); Werttabelle.put("NV", "Neukreditvergabe"); Werttabelle.put("KEZ", "kapitalgewichteter Effektivzinssatz (Neugeschäft)"); Werttabelle.put("KAJB", "kapitalgewichteter annualisierter Jahreszinssatz (Buchwert)"); Werttabelle.put("KAJNG", "kapitalgewichteter annualisierter Jahreszinssatz (Neugeschäft)"); Werttabelle.put("KAJN", "kapitalgewichteter annualisierter Jahreszinssatz (Neugeschäft)"); Werttabelle.put("KAJNV", "kapitalgewichteter annualisierter Jahreszinssatz (Neukreditvergabe)"); Werttabelle.put("REK", "Reklassifikation"); Werttabelle.put("RV", "Rückkauf von Verbriefungen innerhalb der Periode"); }
public Vector<DataPointVector> Wertpapier( int Marktwert, int Anzahl_Underlyings, String GF00, String EM02, String WM00, String WM02, TreeMap<String, Object> Sicherheiten) { 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(); DPVector.addDataPoint("GF00_Geschaeftsfallkategorie_Code", GF00); DPVector.addDataPoint("AI_Mandant", 1); DPVector.addDataPoint("WM00_Wertpapiertyp_Code", WM00); DPVector.addDataPoint("WM02_Wertpapierart_Code", WM02); DPVector.addDataPoint("EM04_Sektor_ESVG_MS_Code", ESVGSektoren.randomElement()); if (EM02 == null) { DPVector.addDataPoint("EO02_Sitzland_OS_Code", Laender.randomElement()); } else { DPVector.addDataPoint("EO02_Sitzland_OS_Code", EM02); } DPVector.addDataPoint( "GF03_Geschaeftsfall_Waehrung_Code", Land_Waehrung.get(Laender.randomElement())); int vorlaufzeit_jahre = RandomNumber(2, 5); int laufzeit_jahre = RandomNumber(2, 25); setLaufzeit(DPVector, vorlaufzeit_jahre, laufzeit_jahre); // // Sicherheiten // if (Sicherheiten != null) { for (String key : Sicherheiten.keySet()) { Object object = Sicherheiten.get(key); DPVector.addDataPoint(key.toString(), object); } } // Phantasie ISIN DPVector.addDataPoint("AI_ISIN", RandomISIN(EM02)); DPVector.addDataPoint("GF112_Zerlegung_Underlying_Kennzeichen", "FALSCH"); DPVector.addDataPoint( "MW", Marktwert); // 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("EM04_Sektor_ESVG_MS_Code", ESVGSektoren.randomElement()); String Land = Laender.randomElement(); Underlying.addDataPoint("AI_ISIN", RandomISIN(Land)); Underlying.addDataPoint("EO02_Sitzland_OS_Code", Land); Underlying.addDataPoint("GF03_Geschaeftsfall_Waehrung_Code", Land_Waehrung.get(Land)); Underlying.addDataPoint("GF112_Zerlegung_Underlying_Kennzeichen", "WAHR"); setLaufzeit(Underlying, vorlaufzeit_jahre, laufzeit_jahre); Underlying.addDataPoint("GB01_Beziehungsart_Code", "ZE"); Underlying.addDataPoint("AI_Geschaeftsfall_ID2", LastID); // Underlying.addDataPoint("NN", Marktwert/Anzahl_Underlyings); // Underlying.addDataPoint("BW", Marktwert/Anzahl_Underlyings); Underlying.addDataPoint("MW", Marktwert / Anzahl_Underlyings); Underlying.addDataPoint("BW", Marktwert / Anzahl_Underlyings); Underlying.addDataPoint("NN", Marktwert / Anzahl_Underlyings); CDSData.add(Underlying); } return (Vector<DataPointVector>) CDSData; }
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; }
public DataPointVector Einlage(int Buchwert, String EM02, String GF03) { // // Wichtige Parameter // // Dieser Vector enthält Einlagen mit verschiedenen Ausprägungen DataPointVector DPVector = new DataPointVector(); DPVector.addDataPoint("GF00_Geschaeftsfallkategorie_Code", "L"); Date Stichtag = Calendar.getInstance().getTime(); DPVector.addDataPoint("AI_Mandant", 1); DPVector.addDataPoint("GF109_Bilanzseite_Code", "PAS"); DPVector.addDataPoint("EM04_Sektor_ESVG_MS_Code", ESVGSektoren.randomElement()); if (EM02 == null) { DPVector.addDataPoint("EO02_Sitzland_OS_Code", Laender.randomElement()); } else { DPVector.addDataPoint("EO02_Sitzland_OS_Code", EM02); } if (GF03 == null) { DPVector.addDataPoint( "GF03_Geschaeftsfall_Waehrung_Code", Land_Waehrung.get(Laender.randomElement())); } else { DPVector.addDataPoint("GF03_Geschaeftsfall_Waehrung_Code", GF03); } DPVector.addDataPoint("GF10_Soll_Haben_Code", "H"); // Einlage per definition im Haben // DPVector.addDataPoint("GF15_Treuhandvermoegen_Code","A"); // DPVector.addDataPoint("GF16_Kredit_Verwendungszweck_Code",Kredit_Verwendungszweck_Code.randomElement()); // // Laufzeiten // int vorlaufzeit_jahre = RandomNumber(1, 10); int laufzeit_jahre = RandomNumber(2, 25); setLaufzeit(DPVector, vorlaufzeit_jahre, laufzeit_jahre); // // Ende Laufzeit // int x = RandomNumber(1, 2); // i... indikator gebunden if (x == 1) { DPVector.addDataPoint("GF30_Verzinsungsart_Code", "i"); DPVector.addDataPoint("GF38_Naechste_Zinsanpassung_Datum", Stichtag); } else { DPVector.addDataPoint("GF30_Verzinsungsart_Code", "f"); } DPVector.addDataPoint("BW", Buchwert); DPVector.addDataPoint("GF112_Zerlegung_Underlying_Kennzeichen", "FALSCH"); if (GF03.contains("EUR")) { DPVector.addDataPoint("GFA117_lokale_Verbindlichkeiten_in_lokaler_Waehrung", "WAHR"); } else { DPVector.addDataPoint("GFA117_lokale_Verbindlichkeiten_in_lokaler_Waehrung", "FALSCH"); } return DPVector; }
public DataPointVector Kredit( int Buchwert, int NAR, int UKR, String GF03, String EM02, TreeMap<String, Object> Sicherheiten) { // // Wichtige Parameter // int Ausfalls_Wahrscheinlichkeit = 5; // so viele Kredite fallen aus // // Ist der Kredit Ausgefallen ? // // Dieser Vector enthält Kredite mit verschiedenen Ausprägungen DataPointVector DPVector = new DataPointVector(); DPVector.addDataPoint("GF00_Geschaeftsfallkategorie_Code", "A"); int x = RandomNumber(1, 100); if (x > 100 - Ausfalls_Wahrscheinlichkeit) { DPVector.addDataPoint("GF99_ueberfaellig_Kennzeichen", wahr); } Date Stichtag = Calendar.getInstance().getTime(); DPVector.addDataPoint("AI_Mandant", 1); DPVector.addDataPoint("EM04_Sektor_ESVG_MS_Code", ESVGSektoren.randomElement()); if (EM02 == null) { DPVector.addDataPoint("EO02_Sitzland_OS_Code", Laender.randomElement()); } else { DPVector.addDataPoint("EO02_Sitzland_OS_Code", EM02); } if (GF03 == null) { DPVector.addDataPoint( "GF03_Geschaeftsfall_Waehrung_Code", Land_Waehrung.get(Laender.randomElement())); } else { DPVector.addDataPoint("GF03_Geschaeftsfall_Waehrung_Code", GF03); } DPVector.addDataPoint("GF10_Soll_Haben_Code", "S"); // Kredit per definition im Soll DPVector.addDataPoint("GF15_Treuhandvermoegen_Code", "A"); DPVector.addDataPoint( "GF16_Kredit_Verwendungszweck_Code", Kredit_Verwendungszweck_Code.randomElement()); // // Laufzeiten // int vorlaufzeit_jahre = RandomNumber(1, 10); int laufzeit_jahre = RandomNumber(2, 25); setLaufzeit(DPVector, vorlaufzeit_jahre, laufzeit_jahre); x = RandomNumber(1, 2); // i... indikator gebunden if (x == 1) { DPVector.addDataPoint("GF30_Verzinsungsart_Code", "i"); DPVector.addDataPoint("GF38_Naechste_Zinsanpassung_Datum", Stichtag); } else { DPVector.addDataPoint("GF30_Verzinsungsart_Code", "f"); } DPVector.addDataPoint("GF24_Konsortialkredit_Code", "KK"); // x = RandomNumber(1, 5);//Ein Fuenftel der Kredite ist besichert // if (x==1){ // DPVector.addDataPoint("GF91_Immobilienbesichert_Monstat_Kennzeichen",wahr); // DPVector.addDataPoint("GF89_vollbesichert_Zinsstat_Kennzeichen",wahr); // } DPVector.addDataPoint("BW", Buchwert); DPVector.addDataPoint("NAR", NAR); DPVector.addDataPoint("UKR", UKR); // x = RandomNumber(1, 5);//ein Fünftel aller Kredite Sind verbreift // // if (x==1){ // DPVector.addDataPoint("GF109_Bilanzseite_Code","NIB"); // DPVector.addDataPoint("GF105_Kredituebertragung_An_Verkauf_Code","V");//Kredit ist verkauft // //kann eeventuell noch verbessert werden // DPVector.addDataPoint("GF106_Kredituebertragung_Art_Code","TSV"); // int y = RandomNumber(0, 1); // if (y == 0){DPVector.addDataPoint("GF107_Kredituebertragung_serviciert_Kennzeichen",wahr);} // if (y == // 1){DPVector.addDataPoint("GF107_Kredituebertragung_serviciert_Kennzeichen",falsch);} // }else{ // DPVector.addDataPoint("GF109_Bilanzseite_Code","AKT"); // DPVector.addDataPoint("GF105_Kredituebertragung_An_Verkauf_Code","K");//Kredit ist nicht // verkauft // } DPVector.addDataPoint("GF109_Bilanzseite_Code", "AKT"); DPVector.addDataPoint("GF112_Zerlegung_Underlying_Kennzeichen", "FALSCH"); // // Sicherheiten // if (Sicherheiten != null) { for (String key : Sicherheiten.keySet()) { Object object = Sicherheiten.get(key); DPVector.addDataPoint(key.toString(), object); } } return DPVector; }