ISO 6166

ISO 6166

Die International Securities Identification Number (ISIN) ist eine zwölfstellige Buchstaben-Zahlen-Kombination und stellt eine Identifikation für ein Wertpapier dar, das an der Börse gehandelt wird. Der Aufbau der ISIN wird in der ISO 6166 beschrieben.

Inhaltsverzeichnis

Hintergründe

Im Zuge der internationalen Harmonisierung der Finanzmärkte wurde im Januar 2000 die Entscheidung getroffen, auch in Deutschland den ISIN-Standard verbindlich einzuführen[1].

Gehandelte Wertpapiere, die mit einer ISIN versehen werden, können Aktien, Fonds, Schuldverschreibungen (bzw. Anleihe), Optionen oder Futures sein. Nur fungible Wertpapiere bekommen eine ISIN. Nicht alle an der Börse gehandelte Produkte bekommen eine ISIN, z. B. werden für Warentermingeschäfte andere Produkt-Identifikationen verwendet.

Die ISIN identifiziert ein Wertpapier eindeutig, aber nicht den Handel mit einem Wertpapier. Zum Beispiel wird Bayer AG (ISIN DE0005752000) an fünfzehn verschiedenen Börsenplätzen (elektronischer Handel und Parketthandel) in vier verschiedenen Währungen gehandelt. Durch Kombination von Market Identifier Code (MIC) gemäß ISO 10383 und ISIN wird diese Handelseindeutigkeit aber erreicht.

Die ISINs werden nach und nach weltweit eingeführt. Zur Zeit haben sie viele Staaten als eine weitere Möglichkeit zur Identifikation von Wertpapieren eingeführt. Nur wenige dieser Staaten haben sie bisher zur vorrangigen Identifikation erklärt. In Deutschland ist die Herausgebergemeinschaft Wertpapier-Mitteilungen, Keppler, Lehmann GmbH & Co. KG offiziell für die Vergabe der ISINs zuständig.

Die Prüfung des ISO 6166-Standards wird von der Association of National Numbering Agencies (ANNA) durchgeführt. Sie ist der Zusammenschluss aller nationalen Behörden für die Vergabe von Wertpapierkennnummern.

Aufbau der ISIN

Aufbau der ISIN
1 2 3 4 5 6 7 8 9 10 11 12
Länder-
code
NSIN Prüf-
ziffer

Der Aufbau der ISIN ist so ISO 6166 festgelegt: zwei Buchstaben als Ländercode, die neunstellige alphanumerische NSIN (National Securities Identifying Number) und eine Prüfziffer. Der Ländercode ist der ALPHA-2-Code der ISO 3166-1 des Landes, das die ISIN für ein Wertpapier herausgegeben hat. Dieses kann sich durchaus vom Heimatland des Wertpapieremittenten unterscheiden. Eine Besonderheit stellt das länderunabhängige Kürzel "XS" dar, welches für internationale Wertpapiere genutzt wird, die bei Clearstream oder Euroclear verwahrt werden.

Die ISIN wird von der jeweiligen nationalen Organisation herausgegeben (National numbering agency, NNA). Im deutschen Börsenhandel wurden Wertpapiere bisher über eine sechsstellige WKN (Wertpapierkennnummer) klassifiziert. Diese wurde am 22. April 2003 durch die ISIN ersetzt, was jedoch nicht bedeutet, dass die WKN damit abgeschafft wurde. Die WKN wird parallel zur ISIN immer noch von vielen Systemen zur Identifizierung der in Deutschland emittierten Wertpapiere verwendet.

  • Deutsche ISINs beginnen mit dem Länderkürzel DE. Die folgende NSIN setzt sich aus neun Nummern oder Zahlen zusammen. Dabei wurden bei der Einführung der ISIN-Codes aus allen (bis dahin nur numerisch existierenden) WKNs automatisch eine ISIN mit drei Nullen gefolgt von der bisherigen WKN generiert. Mit der abschließenden Prüfziffer ergibt sich z. B. für die Bayer AG (WKN 575200) die ISIN DE0005752000. Die mittlerweile[2] auch in alpha-numerischer Form bestehenden WKNs sind jedoch aus heutigen ISIN-Codes nicht unbedingt herleitbar.
  • In Österreich beginnen die ISINs mit den Länderkürzel AT gefolgt von derzeit noch vier Nullen dann der eindeutigen Wertpapiernummer und abschließend der Prüfziffer.
Prüfziffer berechnen
für DE0005752000
ISIN
ohne
Prüfziffer
Faktor Produkt Ziffern
für
Quersumme
D 1 2 2 2
3 1 3 3
E 1 2 2 2
4 1 4 4
0 2 0 0
0 1 0 0
0 2 0 0
5 1 5 5
7 2 14 1 + 4
5 1 5 5
2 2 4 4
0 1 0 0
0 2 0 0
Quersumme: 30
(10-(Quersumme mod 10)) mod 10 0

Die Prüfziffer wird mittels der sogenannten Double-Add-Double-Methode berechnet, die auf die ersten elf Zeichen der ISIN – ohne die ja noch zu berechnende Prüfziffer – angewendet wird:

  1. Alle Buchstaben werden durch Zahlen ersetzt. Dafür wird die Position des Buchstaben im Alphabet um neun erhöht, z. B. A = 10, B = 11, .., Z = 35. Alle Ziffern bleiben unverändert.
  2. Jede zweite Ziffer wird mit zwei multipliziert. Begonnen wird mit der letzten Ziffer (vor der Prüfziffer!).
  3. Von dieser Ziffernfolge wird die Quersumme gebildet. Da vorher jede zweite Ziffer verdoppelt wurde (siehe Punkt 2) ergibt sich daraus die Bezeichnung Double-Add-Double.
  4. Die Prüfziffer ergibt sich aus der Differenz zum nächst größeren Vielfachen von 10. Oder: (10 - (Quersumme mod 10)) mod 10 = Prüfziffer

Die Verifikation einer vollständigen ISIN kann durch die Neuberechnung der Prüfziffer und den Vergleich mit der vorhandenen erfolgen. Oft wird jedoch die vorhandene Prüfziffer einfach durch Addition zur restlichen Quersumme in den Algorithmus einbezogen. Da sie als Differenz der Quersumme zum nächstgrößeren Vielfachen von 10 berechnet wurde, muss eine korrekte Prüfziffer die Quersumme genau zu einem Vielfachen von 10 ergänzen und somit das Ergebnis 0 erzeugen. Jedes andere Resultat zeigt bei der Verifikation einen Fehler an.

Beispiele

Bayer AG: ISIN DE0005752000, WKN 575200

Treasury Corporation of Victoria, 5 3/4%, 2005-2016: ISIN AU0000XVGZA3

Double-Add-Double: Implementierung

Zeichenkettenverarbeitung ist auf Rechnern meist sehr viel teurer als Ganzzahlarithmetik. Eine effiziente Implementierung der Double-Add-Double-Methode sollte insbesondere eine explizite Expansion der Buchstaben zu zweistelligen Dezimalzahlen und ein symbolisches Rechnen vermeiden. Der zu unterhaltene Zustand sollte minimal sein und sich auf möglichst einfache Datentypen beschränken. Die folgende Java-Implementierung versucht, diesen Grundsätzen zu folgen:

/**
 * Berechnet die Double-Add-Double-Prüfziffer der Zeichenkette src (Länge = 11) 
 * bzw. prüft deren Gültigkeit (Länge = 12, Ergebnis 0 wenn die Prüfziffer korrekt ist, 
 * ansonsten undefiniert).
 */
/* 00 */  public static int dad(String src) {
/* 01 */    int  s = 0;
/* 02 */    int  a = (src.length() == 12)? 1 : 2;
/* 03 */    for(int i = src.length() - 1; i >= 0; i--) {
/* 04 */      int  c = src.charAt(i);
/* 05 */      if(c > '9') {
/* 06 */        // Es ist ein Buchstabe
/* 07 */        c -= ('A' - 10);
/* 08 */        s += (3-a)*(c/10) + a*c + (a-1)*(c%10)/5;
/* 09 */      }
/* 10 */      else {
/* 11 */        // Es ist eine Ziffer
/* 12 */        c -= '0';
/* 13 */        s += a*c + (a-1)*(c/5);
/* 14 */        a = 3 - a;
/* 15 */      }
/* 16 */    }
/* 17 */    s %= 10;
/* 18 */    return (10 - s%10) % 10;
/* 19 */  }

Der implementierte Algorithmus nutzt aus, dass für das Ergebnis lediglich die Restklasse modulo 10, d. h. die Einerstelle, der berechneten Quersumme von Interesse ist. Rechnerische Abweichungen ab der Zehnerstelle sind irrelevant, solange keine Zahlenbereichsüberläufe riskiert werden.

Die Verarbeitung der ISIN (mit oder ohne Prüfziffer) erfolgt von hinten. Die Ersetzung der Buchstaben durch zwei Ziffern, die Verdopplung jeder zweiten Ziffer und die Quersummenbildung werden nicht als Einzelschritte ausgeführt. Die Arbeit mit Zeichenketten ist so auf das bloße Durchlaufen der gegebenen ISIN beschränkt. Der zusätzlich unterhaltene Zustand beschränkt sich auf die bisher akkumulierte Quersumme s und den für das nächste Zeichen anzuwendenden Koeffizienten a, 1 oder 2.

Der Koeffizient a wird in Zeile 02 initialisiert: zu 1, wenn eine Prüfziffer vorhanden ist, die gegebene ISIN also 12 Stellen hat, ansonsten zu 2. Bei der Verifikation wird die vorhandene Prüfziffer also einfach zur Quersumme addiert und dann die vorhergehende Stelle nach Vorschrift verdoppelt. Wird beim Durchlaufen der ISIN eine der Ziffern 0 bis 9 verarbeitet, wird durch Zeile 14 zwischen einfacher und doppelter Wichtung umgeschaltet. Die Verarbeitung eines Buchstaben umfasst ja eigentlich zwei Ziffern, so dass ein Hin- und Herschalten des Koeffizienten hier unterbleiben kann.

Der Beitrag jedes Zeichens zur Quersumme wird auf s aufsummiert und für Ziffern und Buchstaben getrennt bestimmt.

Der Zahlenwert eines Ziffernzeichens '0' bis '9' wird in Zeile 12 durch Abzug des Offsets der Zeichenkodierung ermittelt. a*c ergibt das in die Quersumme einzubeziende Produkt. Der Term (a-1)*(c/5) berücksichtigt, dass ggf. auch dessen Zehnerstelle (bei: a == 2 && c >= 5) als eigenständiger Summand in die Quersumme aufzunehmen ist. Ihr Auftreten in a*c als voller Zehner ist, wie oben gesagt, irrelevant.

Analog dazu berechnet Zeile 07 den expandierten zweistelligen Zahlenwert eines Buchstaben. Dessen Einerstelle wird durch die Summe a*c + (a-1)*(c%10)/5 genau wie eine reguläre Ziffer in die Quersumme einbezogen. Seine Zehnerstelle wird durch den Term (3-a)*(c/10) mit dem anderen Koeffizienten aufgenommen. Da die Zehnerstelle keinen Wert größer als 3 annimmt, entsteht hier auch bei potentieller Dopplung keine in die Quersumme einzubeziehende Zehnerstelle des Produktes.

Einzelnachweise

  1. Offizieller Brief zur ISIN-Einführung (Stand 10/2001)
  2. seit 2003

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Iso 6166 — Pour les articles homonymes, voir ISIN (homonymie). L ISO 6166 relative aux instruments financiers ISIN (International Securities Identification Number) est une norme datant de 2001 qui identifie internationalement les valeurs mobilières. Elle… …   Wikipédia en Français

  • ISO 6166 — defines the structure of an International Securities Identifying Number (ISIN). An ISIN uniquely identifies a fungible security. Securities with which ISINs can be used are Equities, Fixed income ETF s only.ISINs consist of two alphabetic… …   Wikipedia

  • ISO 6166 — Pour les articles homonymes, voir ISIN (homonymie). L ISO 6166 relative aux instruments financiers ISIN (International Securities Identification Number) est une norme datant de 2001 qui identifie internationalement les valeurs mobilières. Elle… …   Wikipédia en Français

  • ISO 6166:2001 — изд.6 E TC 68/SC 4 Бумаги ценные и относящиеся к ним финансовые активы. Международная система нумерации для идентификации ценных бумаг (ISIN) раздел 03.060 …   Стандарты Международной организации по стандартизации (ИСО)

  • ISO 4217 — (ИСО 4217) Коды для представления валют и фондов Codes for the representation of currencies and funds  (англ.) Codes pour la représentation des monnaies et types de fonds  (фр.) …   Википедия

  • ISO 3166-1 alpha-2 — codes are two letter country codes in the ISO 3166 1 standard to represent countries and dependent territories. They are published by the International Organization for Standardization (ISO) as part of its ISO 3166 standard. They are the most… …   Wikipedia

  • ISO 10962 — is the CFI (Classification of Financial Instruments) code maintained by the International Organization for Standardization ( ISO). It is an alphabetical code consisting of 6 letters. The first letter is the category, the second is the group, and… …   Wikipedia

  • ISO 10383 — is an ISO standard for Codes for exchanges and market identification (MIC): it defines codes for stock markets. This standard is updated frequently and the latest published standard is available at [http://www.iso15022.org/MIC/homepageMIC.htm the …   Wikipedia

  • Iso 216 — Dimensions ISO 216 (mm × mm) Séries A A0 841 × 1189 A1 594 × 841 A2 420 × 594 A3 297 × 420 A4 210 × 297 A5 148 × 210 A6 …   Wikipédia en Français

  • ISO 3166-1 — est une des parties de la norme ISO 3166. Publiée pour la première fois en 1974 par l’ISO, elle attribue 3 codes pour les pays du monde : ISO 3166 1 alpha 2 : codes à deux lettres pour de nombreuses applications, notamment les domaines… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”