Auf dieser Seite sieht man, wie Solvabilitätsregeln in einen Pseudo-Progammiercode übersetzt werden kann. Auf Basis VBA werden exakt strukturierte Vorgaben für das Technische Konzept erstellt.

Solvabilität

Interpretationsspielräume

Fachliches Mapping

Beispiel für Mapping und Interpretationen

Regelstruktur

Historische Daten

Lizenzproblematik

Business Case und Kostenplan

Technisches Konzept

Umsetzung und Realisierung

Testphase

Prozesse und Qualität

Einführungsmanagement

Nachsorge und Schulung

Steuerung und Koordination

Themen:

Basiswissen für Steuerprozesse in Banken

Internationale Adressformate

Abgeltungsteuer

Finanzmarktstabilisierung

Foreign Accounting Tax Compliance Act

Testautomatisierung

374. Verordnung zur Solvabilität

One Step Settlement

Öffentliche Vorträge

Allgemein:

Startseite

Orientierung

Sitemap (Kurztexte)

Sitemap (Struktur)

Gästebuch

Das Letzte auf der Site

BLOG Kurzinfos im Weblog

Anfrage

§6 TDG Kennzeichnung

Foto und Bildlizenzen

Kontakt

Mobil A
Mobil D
Office
Fax
+43 (68) 110 622 322
+49 (175) 29 843 83
+49 (89) 820 738-24
+49 (89) 820 738-29

 

 

Querverweis


Testautomatisierung
Testautomatisierung
Sie erhalten einen kleinen Überblick über verschiedene kostenfreie oder günstige Tools, die das Planen und Durchführen von Tests erheblich vereinfachen.


Geschäftsidee für TRX-Banken
Weicht man die im ersten Schritt vorgenommenen Einschränkungen wieder auf, ergeben sich weitere Möglichkeiten einer Geschäftsmodells.


Services
Services
Alle weiteren Services in Verbindung mit dieser Site. Sie finden hier alles von Links bis zu Downloads und der kompletten Site-Map.


Öffentliche Vorträge
Öffentliche Vorträge
Meine öffentlichen Vorträge und Referate, deren Kurzinhalte und einzelne Vorträge sind hier sogar zum Downloaden.

Sie sind hier: »  Startseite  »  Themen »  374. Verordnung zur Solvabilität  » Regelstruktur

Regelstruktur


Deskription von Regeln

Jeder Regel von Absatz (1) nach (6) wird wichtiger und überschreibt die vorhergehende Regel. Explizit wird dies in der (verkürzt dargestellten) Abfolge: Bei Zentralstaaten ist Solvawert 100, wenn Rating vorhanden, dann der aus dem Rating abgeleitete Wert. Wenn aber EU-Mitgliedstaat dann 0, wenn Drittstaat und anerkannt dann auch 0 und wenn MEIP-Wert vorliegt, dann diesen verwenden.

In eine an VBA orientierten Programmierdesciption würde der Paragraph §4 Absatz (1) wie folgt aussehen. Es sei aber darauf hingewiesen, dass diese fachlich richtige Darstellung hinsichtlich Performance absolut ungeeignet ist, für große Mengen sinnvoll zu arbeiten. Siehe dazu auch „Technisches Konzept“.

Summary

Die Deskiption von Regeln ist einerseits durchaus aufwändig, weil eben Hierarchien der Regeln exakt durchdacht werden muß, ist aber an sich keine wirklich große Arbeit in der Erstellung. Eher schon aufwändig ist das Zusammentragen der exakten Definitionen von Staatenlisten usw. Aber auch das ist mit etwas Fleiß schnell und sicher leistbar. Spannender wird auf jedenfall die Datenhistorie und der Gesamtkontext von Verträgen.


´ Wir müssen zunächst die EU-Staaten definieren und erweiterbar halten. Diese Funktion liefert uns bei Aufruf alle EU-Staaten zum aktuellen Zeitpunkt. Bis jetzt haben wir keinen Bedarf bezüglich eines Stichtages die damals jeweiligen EU-Staaten zu ermitteln

function EU-Staat()
        EU-Staat = { "Deutschland", "Österreich", "Italien" . . . . . .}
end function


´ Diese Funktion liefert uns die Menge an Staaten, die zwar offizielle Staaten sind, aber nach den Regeln nicht vergleichbar sind und damit nicht „anerkannt“ sind nach §4 (5), also nur Staaten für §4 Absatz (1) unseres » Beispiels

function sonstiges_Drittland()
      sonstiges_Drittland = { "China", "Afghanistan"; "Iran" . . . . }
end function


´ Staatenmenge für die Regel nach Absatz (5) unseres Beispiels

function anerkannt_Drittland()
      anerkannt_Drittland = { “Australien”, “USA” . . . . }
end function


´ Dies Funktion ermittelt die Nationalbank(en) zu einem im Aufruf übergebenen Staat bzw. übergebene Staatenliste

function Nationalbanken(Staatenauswahl)
        Bankenmenge = {}         ‘ Vorbelegung ist erstmal die leere Menge
        for i = 1 to Mengenanzahl(Staatenauswahl)
                case staatenauswahl (i) of
                        Österreich: Bankenmenge = Bankenmenge & { "ÖNB"}
                        Deutschland: Bankenmenge = Bankenmenge & { "Bundeszentralbank"}
                        Italien:. . . .
                        . . .
                End case
        next i
        Nationalbanken = Bankenmenge
end function


´Jetzt benötigen wir die Währung zu einem Staat oder einer Nationalbank

function Nationalwährung(Emittent)
      case Emittent of
            Österreich, ÖNB: Nationalwährung = Eur
            Deutschland, Bundeszentralbank: Nationalwährung = Eur
            USA, FBA: Nationalwährung = USD
            . . . .
      End case
      Nationalbanken = Bankenmenge
end function


´ Einfache Funktion, um eine Menge darauf zu testen, ob diese ein bestimmtes zu prüfendes Element enthält, also ob z.B. ein Staat in einer Staatenmenge enthalten ist, oder eine Nationalbank in einer Menge von Banken

function is_member_in(Member, Auswahl)
      enthalten = false
      for i = 1 to Mengenanzahl(Auswahl)
            If Auswahl(i) = Member then enthalten = true
      next i
      Is_member_in = enthalten
end function


´jetzt lesen wir die Feeds von Ratingagenturen und geben zurück, ob es einen Ratingwert gibt, und welchen, oder ob keinen Wert in der Datenbank auffindbar ist

function Rating (Emittent)
      lese_rating_feed_von_agentur()                   ´ verkürzte Darstellung
      if rating_exists then
            Rating = Agenturdaten
      else
            Rating = MISSING
      end if
end function


´ Diese Funktion wandelt die Ratingwerte in Bonitätsstufen bzw. gleich in dessen Solvawerte um. Dazu ist von FMA natürlich eine weitere Information notwendig, bzw. sobald diese vorliegt in dieser Funktion abzulegen. Es ist auch völlig klar, dass diese Transformation zwischen Ratingwerten und Solvabilitätszahlen nicht statisch ist, sondern variabel und ggf. sogar abhängig von weiteren Einflussfaktoren sein kann.

function transfer_rate(Ratingwert)
      case ratingwert of
            AAA : transfer_Rate = 0
            AA : transfer_Rate = 20
            A : transfer_Rate = 40
             . . . . .
      end case
end sub


‘ Hier können einzelne Ausnahmen nach Absatz (5) konfiguriert werden. Wird keine geeignete Ausnahme gefunden wird ein Abschlußwert von 999 geliefert, der nie kleiner sein, als ein bisher gefundener Solvabilitätswert. Damit klappt dann die Abschlußprüfung in der Hauptroutine

function prüfe_Ausnahme5(Emittent,Währung)
      if Emittent = Schweiz and Währung = CHF then prüfe_Ausnahme5 = 0
      if Emittent = SchweizerRegierung and Währung = CHF then prüfe_Ausnahme5 = 0
      if Emittent = …. and Währung = … then prüfe_Ausnahme5 = 20
      prüfe_Ausnahme5 = 999
end function


´ Prüfe ob MEIP Bewertung existiert, und welcher existiert

function MEIP (Forderung)
      lese_MEIP_feed
      if exist then
            MEIP = Agenturdaten
      else
            MEIP = MISSING
end function


' Im nächsten Schritt wandeln wir MEIP Werte in Solvabilitätszahlen um

function transfer_MEIP(Wert)
      case Wert of
            0: transfer_MEIP = 0
            1: transfer_MEIP = 20
            2: transfer_MEIP = 50
            3: transfer_MEIP = 100
             . . .
      end case
end sub


´ Jetzt folgt die Hauptfunktion, die die zuvor definierten Funktionen nutzt und die Regeln abarbeitet

function Was_ist_solva_Wert (Emittent, Währung)
     solvavalue = MISSING
     if ( is_member_in(emittent,sonstiges_Drittland()) or
          is_member_in(emittent,Nationalbank (sonstiges_Drittland())
     ) then
          If Rating (Emittent) = Missing Then solva_value = 100           ´Regel (1)
     Else solvavalue = transfer_rate(Rating(Emittent))                        ´Regel (2)

     if emittent = EU-Zentralbank then solvavalue =0                         ´Regel (3)

     if ( is_member_in(Emittent, EU-Staat()) or
          is_member in(Emittent, Nationalbanken(EU-Staat())
     ) and Währung = Nationalwährung (Emittent)
     then solvavalue = 0 ´Regel (4)

     regel5wert = prüfe_Ausnahme5(Emittent,Währung)
     if regel5wert < solvavalue then solvalue = regel5wert                   ´Regel (5)

     if not(MEIP (Forderung) = MISSING) then                                    ´Regel (6)
     solvavalue = transfer_MEIP (MEIP(Forderung))

     Was_ist_Solva_Wert = solvavalue
end function


´So könnte ein Aufruf im Hauptprogramm aussehen

public sub ()
       Was_ist_Solva_Wert(Deutschland, USD)
       Was_ist_Solva_Wert(EU-Zentralbank, Eur)
       Was_ist_Solva_Wert(US_Nationalbank, Eur)
       Was_ist_Solva_Wert(US_Nationalbank, USD)
end sub



zurück zu » Solvabilität Überblick
zurück zu » Fachliches Mapping
zurück zu » Mapping Beispiel
weiter zu » Historische Daten



zur nächsten Seite
zur letzten Seite zurück
Startseite
zur vorherigen Seite
zur nächsten Seite
zur vorherigen Seite
zur letzten Seite zurück
Startseite
zum Seitenanfang
zum Textanfang
zum Seitenende
druckbare Seiten
Seite mailen
Add Site to Mr. Wong
Bei LinkARENA bookmarken