Bezeichnung des Algorithmus | XEN_Instrument_Art |
Kurzbezeichnung | Art des Instruments |
Verbale Beschreibung/Beispiele | Der Algorithmus klassifiziert Geschäftsfälle in unterschiedliche Kategorien für Zwecke der GKE. Geschäftsfallkategorien, die für die GKE nicht relevant sind (z.B. Einlagen), fallen in die Kategorie "Nicht relevant (NR)". |
Kommt vor in/wird verwendet für | |
Formale Beschreibung | FUNKTION XEN_Instrument_Art (AI_Mandant MA, AI_Geschaeftsfall_ID gfId, AI_Stichtag_Datum repDate) //(I) Identifikation der Input-Parameter geschaeftsfallkategorie = SELEKTIERE GF.GF00_Geschaeftsfallkategorie_Code VON GF_Geschaeftsfall bilanzseite = SELEKTIERE GK.GKA01_Bilanzseite_Code VON GF_Geschaeftsfall esvgCode = SELEKTIERE EM.EMA49_Sektor_fuer_Meldezwecke_Code VON EM_Einheit_MS VON (KR_Kundenrollen MIT AI_Rolle_Code ISTGLEICH "Inhaber (IH)") repoKZ = SELEKTIERE ST.ST04_Repo_Sicherheit_Kennzeichen VON ST_Sicherheiten_Stammdaten VON SZ_Sicherheiten_Zerlegung MIT SZ.AI_Zerlegungsansatz_Code ISTGLEICH "Internes Risikomanagement (INT)" VON GE_Geschaeftsfall_Exposure MIT GE.AI_Zerlegungsansatz_Code ISTGLEICH "Internes Risikomanagement (INT)" VON GF_Geschaeftsfall forderungsAnVerkauf = SELEKTIERE GF.GKA18_Kredituebertragung_An_Verkauf_Code VON GF_Geschaeftsfall factoringKennzeichen = SELEKTIERE GF.GF159_Factoring_Forfaitierung_Kennzeichen VON GF_Geschaeftsfall wertpapierklassifikation = SELEKTIERE WM.WMA28_Wertpapierklassifikation_Code VON WM_Wertpapier_MS VON GF_Geschaeftsfall typAusserbilanziell = SELEKTIERE GF.GF114_Ausserbilanzielle_Geschaefte_Code VON GF_Geschaeftsfall allgemGBfixiert = SELEKTIERE GF.GF116_Allgemeine_Geschaeftsbedingungen_fixiert_Kennzeichen VON GF_Geschaeftsfall derivattyp = SELEKTIERE GF.GF42_Derivattyp_Code VON GF_Geschaeftsfall underlyingKlasse = SELEKTIERE GF.GF43_Underlying_Klasse_Code VON GF_Geschaeftsfall shortKZ = SELEKTIERE GF.GF40_Short_Position_Kennzeichen VON GF_Geschaeftsfall underlyingKZ = SELEKTIERE GF.GF112_Zerlegung_Underlying_Kennzeichen VON GF_Geschaeftsfall treuhandKZ = SELEKTIERE GF.GF15_Treuhandvermoegen_Code VON GF_Geschaeftsfall gegenparteiausfallsrisiken = SELEKTIERE ALLE GE.AI_Exposure_ID VON GE_Geschaeftsfall_Exposure MIT (AI_Zerlegungsansatz_Code ISTGLEICH "CoRep (COR)" UND GE02_Forderungskategorie_Code ENTHAELT ("Wertpapierfinanzierungsgeschäft (WPFI)", "Derivat bzw. Geschäft mit langer Abwicklungsfrist (DGLA)", "Exposure aus produktübergreifender vertraglicher Nettingvereinbarung (PUVN)") VON GF_Geschaeftsfall summeRisikopositionswert = 0 ITERIERE exposureId VON 0, MAX(gegenparteiausfallsrisiken) risikopositionswert = SELEKTIERE GEW.Wert VON GEW_Geschaeftsfall_Exposure_Wert MIT AI_Wertart_Code ISTGLEICH "Risikopositionswert (RP)" UND AI_Exposure_ID ISTGLEICH exposureId summeRisikopositionswert = summeRisikopositionswert + risikopositionswert ENDE ITERATION regulatorischerNettingsatz = SELEKTIERE GB.AI_Geschaeftsfall_ID VON GB_Geschaeftsfall_Sachkonto_Sicherheiten_Beziehung MIT (GB.GB01_Beziehungsart_Code ISTGLEICH "Regulatorisches Netting (NE)" UND GB.AI_Geschaeftsfall_ID2 ISTGLEICH gfId) mehrzweckrahmenKZ = SELEKTIERE GF.GF196_Mehrzweckrahmen_Kennzeichen VON GF_Geschaeftsfall ona = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT GFW.AI_Wertart_Code ISTGLEICH "ausstehender Nominalwert (ONA)" VON GF_Geschaeftsfall nar = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT GFW.AI_Wertart_Code ISTGLEICH "Nicht ausgenutzter Rahmen (NAR)" VON GF_Geschaeftsfall kapitalbeginn = SELEKTIERE GF.GF18_Kapitalbeginn_Datum VON GF_Geschaeftsfall existiertRevolvierendeAusnutzungOhneSublimit = FALSCH zugrundeliegendeGF = SELEKTIERE ALLE GF.AI_Geschaeftsfall_ID2 VON GB_Geschaeftsfall_Sachkonto_Sicherheiten_Beziehung MIT ((GB.GB01_Beziehungsart_Code ISTGLEICH "Rahmengeschäftsfall Beziehung (RB)") UND (GB.AI_Geschaeftsfall_ID ISTGLEICH gfId)) ITERIERE zugrundeliegenderGF VON (0, Max(zugrundeliegendeGF)) gfkategorie_zugrundeliegenderGF = SELEKTIERE GF.GF00_Geschaeftsfallkategorie_Code VON GF_Geschaeftsfall MIT GF.AI_Geschaeftsfall_ID ISTGLEICH zugrundeliegenderGF sublimit_kennzeichen = SELEKTIERE GF.GF211_Sublimit_Kennzeichen VON GF_Geschaeftsfall MIT GF.AI_Geschaeftsfall_ID ISTGLEICH zugrundeliegenderGF WENN (gfkategorie_zugrundeliegenderGF ENTHAELT ("Revolvierender Kredit (exkl. Überziehungskredit) (V)", "Überziehungskredit (W)") UND sublimit_kennzeichen ISTGLEICH FALSCH) DANN existiertRevolvierendeAusnutzungOhneSublimit = WAHR ENDE ITERATION ENDE //(II) Verarbeitung der Parameter WENN(underlyingKZ ISTGLEICH FALSCH) DANN WENN(geschaeftsfallkategorie ENTHAELT ("Wertpapiere (H)", "Investmentfonds (I)" UND bilanzseite ENTHAELT ("Aktiv in der Bilanz (AKT)") UND treuhandKZ ISTGLEICH "Kein Treuhandvermögen (A)") DANN WENN(wertpapierklassifikation ENTHAELT ("Schuldverschreibungen (SCHV)", "Credit Linked Note (CLN)", "Sonstige Wertpapiere (SONS)") DANN rValue = "Schuldverschreibungen (SC)" SONST rValue = "Verbriefte Anteilsrechte (VA)" ENDE SONST WENN(geschaeftsfallkategorie ENTHAELT ("Verbriefung (J)") UND bilanzseite ENTHAELT ("Aktiv in der Bilanz (AKT)", "Nicht in der Bilanz (NIB)") UND treuhandKZ ISTGLEICH "Kein Treuhandvermögen (A)") DANN rValue = "Verbriefungstranche (VB)" SONST WENN(geschaeftsfallkategorie ISTGLEICH "Anteilsrechte nicht in Form von Wertpapieren (K)") DANN rValue = "Nicht verbriefte Anteilsrechte (NV)" SONST WENN(geschaeftsfallkategorie ISTGLEICH "Derivate (Q)" UND treuhandKZ ISTGLEICH "Kein Treuhandvermögen (A)") DANN WENN(shortKZ ISTGLEICH WAHR UND ((derivattyp ISTGLEICH "Swap (SWAP)" UND underlyingKlasse ISTGLEICH "Credit Default (CD)") ODER (derivattyp ISTGLEICH "Option (OPT)" UND underlyingKlasse ISTGLEICH "Credit Spread (CS)") ODER (derivattyp ISTGLEICH "Swap (SWAP)" UND underlyingKlasse ISTGLEICH "Total Return (TR)"))) DANN rValue = "Begebene unfunded Kreditderivate (KD)" SONST WENN(summeRisikopositionswert > 0 UND ISTLEER(regulatorischerNettingsatz)) rValue = "Regulatorischer Netting-Satz (RN)" ENDE SONST WENN(geschaeftsfallkategorie ISTGLEICH "Regulatorischer Netting-Satz (Z)") DANN //Ein regulatorischer Netting-Satz ist dann zu melden, sofern daraus ein Gegenparteiausfallsrisiko entsteht WENN(summeRisikopositionswert > 0) DANN rValue = "Regulatorischer Netting-Satz (RN)" SONST rValue = "Nicht relevant (NR)" ENDE //Die außerbilanzmäßigen Geschäfte gem. Anhang I der CRR werden nach den FinRep-Kategorien aufgegliedert SONST WENN(geschaeftsfallkategorie ISTGLEICH "Außerbilanzielle Geschaefte gem. Anhang I CRR (exkl. Kreditderivate, Kreditzusagen) (P)" UND treuhandKZ ISTGLEICH "Kein Treuhandvermögen (A)") DANN WENN((typAusserbilanziell ISTGLEICH "Einlagentermingeschäfte ("Forward Deposits") (EL)") ODER (typAusserbilanziell ISTGLEICH "Akzepte (AZ)" UND allgemGBfixiert ISTGLEICH WAHR)) DANN rValue = "Einlagentermingeschäfte (EL)" SONST WENN(typAusserbilanziell ENTHAELT ("Sonstige Garantien,die den Charakter eines Kreditsubstituts haben (XG)", "„Unwiderrufliche Kreditsicherungsgarantien“ (standby letters of credit), die den Charakter eines Kreditsubstituts haben (UK)")) DANN rValue = "Finanzgarantien (exklusive Kreditderivate) (FG)" SONST rValue = "Sonstige Zusagen (SZ)" ENDE SONST WENN(geschaeftsfallkategorie ENTHAELT ("Wechselkredit (B)", "Barvorlagen (E)", "Einmalkredit (exkl. Kreditlinie) (X)", "Kreditlinie (Y)", "Überziehungskredit (W)", "Kreditkartenkredit (C)", "Revolvierender Kredit (exkl. Überziehungskredit) (V)", "Operating Leasing (F)", "Finance Leasing (G)") DANN //Kreditzusagen, deren allgemeine Geschäftsbedingungen nicht fixiert sind, werden als Sonstige Zusagen klassifiziert. Insbesondere stellen sie keine Instrumente gem. AnaCredit dar. Als einzige Ausnahme sind Mehrzweckrahmen-Geschäftsfälle keine Sonstigen Zusagen, wenn unter ihnen eine revolvierende Ausnutzung ohne Sublimit existiert und sie einen NAR > 0 haben. WENN(allgemGBfixiert ISTGLEICH FALSCH UND NICHT(mehrzweckrahmenKZ ISTGLEICH WAHR UND existiertRevolvierendeAusnutzungOhneSublimit ISTGLEICH WAHR UND nar > 0)) DANN rValue = "Sonstige Zusagen (SZ)" SONST WENN(repoKZ) DANN rValue = "Umgekehrte Pensionsgeschäfte (UP)" SONST WENN(esvgCode ENTHAELT ("Zentralbank (1210)", "MFIs - CRD - MiRe-pflichtig (1220A)", "MFIs - Nicht-CRD, other MFIs (1220B)", "MFIs - CRD - nicht MiRe-pflichtig (1220C)", "Kreditinstitute (MFI) nicht zuordenbar (1220Z)") DANN rValue = "Einlagen bei anderen Instituten, außer umgekehrte Pensionsgeschäfte (EI)" SONST WENN(forderungsAnVerkauf ENTHAELT ("Ankauf ohne Einfluss auf die Bilanz (AO)", "Ankauf mit Einfluss auf die Bilanz (AM)") UND factoringKennzeichen ISTGLEICH WAHR) DANN rValue = "Forderungen aus Warenlieferungen und Dienstleistungen (FW)" SONST WENN(geschaeftsfallkategorie ISTGLEICH "Kreditlinie (Y)") DANN rValue = "Kreditlinien ohne revolvierende Kredite (KL)" SONST WENN(geschaeftsfallkategorie ISTGLEICH "Überziehungskredit (W)") DANN rValue = "Überziehung (UE)" SONST WENN(geschaeftsfallkategorie ISTGLEICH "Kreditkartenkredit (C)") DANN rValue = "Kreditkartenforderung (KK)" SONST WENN( "Revolvierender Kredit (exkl. Überziehungskredit) (V)") DANN rValue = "Revolvierende Kredite (ohne Überziehungs- und Kreditkartenkredite) (RK)" SONST WENN( "Operating Leasing (F)", "Finance Leasing (G)") DANN rValue = "Finanzierungsleasings (FL)" //Noch nicht gezogene Einmalkredite und Barvorlagen mit nicht ausgenutztem Rahmen werden als sonstige Zusagen kategorisiert, wenn sie keinen ONA haben oder dieser im Verhältnis zum NAR sehr klein ist z.B. durch Gebühren. SONST WENN[(ona <= (nar * 0,03) ODER ISTNULL(ona)) UND kapitalbeginn ISTGLEICH "99991231" UND nar > 0] DANN rValue = "Sonstige Zusagen (SZ)" SONST rValue = "Andere Kredite (AK)" ENDE SONST rValue = "Nicht relevant (NR)" ENDE SONST rValue = "Nicht relevant (NR)" ENDE //(III) Rückgabe RUECKGABE rValue FUNKTIONSENDE |