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 void KreditCubeV1BenchmarkSzenario(int n, HashSet Werte) { // n... Numer of Credits try { Connection conn = getConnection(); Statement st = conn.createStatement(); st = conn.createStatement(); for (int i = 0; i < n; i++) { int Buchwert = RandomNumber(10000, 1000000); int NAR = RandomNumber(10000, 1000000); int UKR = RandomNumber(10000, 1000000); DataPointVector DPVector_Kredit = Kredit(Buchwert, NAR, UKR, null, null, null); st.executeUpdate(DPVector_Kredit.getSQLInsertQuery(Werte, "Geschaeftsfall")); } st.close(); conn.close(); } catch (Exception e) { System.out.println(e.getMessage()); } }
public void BIZBenchmarkSzenario(HashSet Werte) { // SELECT Stichtag, Land, sum(Wert) AS ["Total Items"] FROM SmartCube GROUP BY Stichtag, Land; // String statemanet = "SELECT Stichtag, Land, sum(Wert) AS [XXX] FROM SmartCube GROUP BY // Stichtag, Land"; try { Connection conn = getConnection(); Statement st = conn.createStatement(); st = conn.createStatement(); // // Garantien // // W - Kreditfazilität für Kauf von Wertpapieren // A - Akzepte // Off-Balance Geschäfte // S-Unwiderrufliche Kreditsicherungsgarantien DataPointVector DPVector_OffBalance1 = OffBalanceGeschaeft(1000, 0, 0, "JP", "S"); st.executeUpdate(DPVector_OffBalance1.getSQLInsertQuery(Werte, "Geschaeftsfall")); DataPointVector DPVector_OffBalance2 = OffBalanceGeschaeft(650, 0, 0, "JP", "A"); st.executeUpdate(DPVector_OffBalance2.getSQLInsertQuery(Werte, "Geschaeftsfall")); // // Kredit1 besichert mit Gold // TreeMap<String, Object> Sicherheiten = new TreeMap(); Sicherheiten.put("GE01_1", "S0600"); Sicherheiten.put("GE02_1", "ONBALANCE"); // GE02_Forderungskategorie_Code Sicherheiten.put("AI_Zerlegungsansatz_Code_11", "INT"); Sicherheiten.put("BEL_11", 700); Sicherheiten.put("ST03_11", "GO"); Sicherheiten.put("ST_Land_11", "DE"); DataPointVector DPVector_Kredit1 = Kredit(1000, 400, 200, "EUR", "AT", Sicherheiten); // Kredit4 besichert mit Gold // TreeMap<String, Object> Sicherheiten2 = new TreeMap(); Sicherheiten2.put("GE01_1", "S0600"); Sicherheiten2.put("GE02_1", "ONBALANCE"); // GE02_Forderungskategorie_Code Sicherheiten2.put("AI_Zerlegungsansatz_Code_11", "INT"); Sicherheiten2.put("BEL_11", 5000); Sicherheiten2.put("ST03_11", "GA"); Sicherheiten2.put("ST_Land_11", "JP"); DataPointVector DPVector_Kredit4 = Kredit(4000, 4000, 3000, "EUR", "AT", Sicherheiten2); // unbesicherter Schweizer Franken Kredit DataPointVector DPVector_Kredit2 = Kredit(500, 0, 0, "CHF", "AT", null); // kredit an US Unternehmen DataPointVector DPVector_Kredit3 = Kredit(2000, 1000, 0, "EUR", "US", null); st.executeUpdate(DPVector_Kredit1.getSQLInsertQuery(Werte, "Geschaeftsfall")); st.executeUpdate(DPVector_Kredit2.getSQLInsertQuery(Werte, "Geschaeftsfall")); st.executeUpdate(DPVector_Kredit3.getSQLInsertQuery(Werte, "Geschaeftsfall")); st.executeUpdate(DPVector_Kredit4.getSQLInsertQuery(Werte, "Geschaeftsfall")); // Einlagentermingeschäfte ("Forward Deposits") DataPointVector DPVector_Einlagentermingeschaeft = OffBalanceGeschaeft(700, 0, 0, "JP", "T"); st.executeUpdate(DPVector_Einlagentermingeschaeft.getSQLInsertQuery(Werte, "Geschaeftsfall")); // Derivate mit negativen Marktwert und Einlagen DataPointVector DPVector_Einlage1 = Einlage(700, "AT", "EUR"); DataPointVector DPVector_Einlage2 = Einlage(1200, "US", "USD"); st.executeUpdate(DPVector_Einlage1.getSQLInsertQuery(Werte, "Geschaeftsfall")); st.executeUpdate(DPVector_Einlage2.getSQLInsertQuery(Werte, "Geschaeftsfall")); // Verkaufter Future mit negativen Markwert DataPointVector DPVector_Derivat1 = Derivat(-500, "V", "F", "IN", "F", "FALSCH"); // // Finanielle Aktiva // Vector<DataPointVector> CDS_Vector = CDSorCLN(0, 2500); for (int i = 0; i < CDS_Vector.size(); i++) { DataPointVector dummy = (DataPointVector) CDS_Vector.get(i); st.executeUpdate(dummy.getSQLInsertQuery(Werte, "Geschaeftsfall")); } // Ende - Insert Credit Default Swap Verkauft // Insert Credit Linked Note CDS_Vector = CDSorCLN(1, 10000); for (int i = 0; i < CDS_Vector.size(); i++) { DataPointVector dummy = (DataPointVector) CDS_Vector.get(i); st.executeUpdate(dummy.getSQLInsertQuery(Werte, "Geschaeftsfall")); } // Ende - Insert Credit Linked Note Vector<DataPointVector> Fond_Vector = Wertpapier(20000, 3, "I", "AT", "FOND", "SFON", null); for (int i = 0; i < Fond_Vector.size(); i++) { DataPointVector dummy = (DataPointVector) Fond_Vector.get(i); st.executeUpdate(dummy.getSQLInsertQuery(Werte, "Geschaeftsfall")); } // Anfang - ABS (ist Besichert) // // Kredit1 besichert mit Gold // TreeMap<String, Object> ABSSicherheiten = new TreeMap(); ABSSicherheiten.put("GE01_1", "S0600"); ABSSicherheiten.put("GE02_1", "ONBALANCE"); // GE02_Forderungskategorie_Code ABSSicherheiten.put("AI_Zerlegungsansatz_Code_11", "INT"); ABSSicherheiten.put("BEL_11", 8000); ABSSicherheiten.put("ST03_11", "GA"); ABSSicherheiten.put("ST_Land_11", "GB"); Vector<DataPointVector> ABS_Vector = Wertpapier(12000, 3, "H", "DE", "ANL", "ABS", ABSSicherheiten); for (int i = 0; i < ABS_Vector.size(); i++) { DataPointVector dummy = (DataPointVector) ABS_Vector.get(i); st.executeUpdate(dummy.getSQLInsertQuery(Werte, "Geschaeftsfall")); } // Ende Abs // Verkaufter Future mit positiven Markwert // gekaufter CDS zu sepkulativen Zweceken DataPointVector DPVector_Derivat2 = Derivat(300, "K", "S", "CD", "F", "FALSCH"); // gekaufte Option auf eine Akie DataPointVector DPVector_Derivat3 = Derivat(450, "K", "O", "IN", "F", "FALSCH"); st.executeUpdate(DPVector_Derivat1.getSQLInsertQuery(Werte, "Geschaeftsfall")); st.executeUpdate(DPVector_Derivat2.getSQLInsertQuery(Werte, "Geschaeftsfall")); st.executeUpdate(DPVector_Derivat3.getSQLInsertQuery(Werte, "Geschaeftsfall")); st.close(); conn.close(); } catch (Exception e) { System.out.println(e.getMessage()); } }
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 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 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 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; }