International Securities Identifying Number

International Securities Identifying Number

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:

  • International Securities Identifying Number — An International Securities Identifying Number (ISIN) uniquely identifies a security. Its structure is defined in ISO 6166. Securities for which ISINs are issued include bonds, commercial paper, equities and warrants. The ISIN code is a 12… …   Wikipedia

  • International Securities Identification Number — 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… …   Deutsch Wikipedia

  • National Securities Identifying Number — Die National Securities Identifying Number (NSIN) ist ein neunstelliger alphanumerischer Code, der eine eindeutige Identifikation für ein Wertpapier innerhalb eines bestimmten Landes darstellt. Sie ist elementarer Bestandteil der International… …   Deutsch Wikipedia

  • ISIN number — USA ISIN is an acronym for International Securities Identification Number. ISIN numbers are the unique 12 digit numbers that are recognized by the International Standards Organization, located in Geneva, Switzerland, as security identifiers for… …   Law dictionary

  • international relations — a branch of political science dealing with the relations between nations. [1970 75] * * * Study of the relations of states with each other and with international organizations and certain subnational entities (e.g., bureaucracies and political… …   Universalium

  • 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

  • CUSIP — The acronym CUSIP historically refers to the Committee on Uniform Security Identification Procedures, which was founded in 1964, during the paper crunch in Wall Street.[1] This 9 character alphanumeric code identifies any North American security… …   Wikipedia

  • List of ISO standards — This is a list of ISO standards that are discussed in Wikipedia articles. For a list of all the more than 16,000 ISO standards (as of 2007), see the [http://www.iso.org/iso/en/CatalogueListPage.CatalogueList ISO Catalogue] .About 300 of the… …   Wikipedia

  • Ticker symbol — Stock telegraph ticker machine by Thomas Edison A stock symbol or ticker symbol is a short abbreviation used to uniquely identify publicly traded shares of a particular stock on a particular stock market. A stock symbol may consist of letters,… …   Wikipedia

  • Check digit — A check digit is a form of redundancy check used for error detection, the decimal equivalent of a binary checksum. It consists of a single digit computed from the other digits in the message. With a check digit, one can detect simple errors in… …   Wikipedia

Share the article and excerpts

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