SEDOL

SEDOL

SEDOL stands for "Stock Exchange Daily Official List", a list of security identifiers used in the United Kingdom and Ireland for clearing purposes. The numbers are assigned by the London Stock Exchange, on request by the security issuer. SEDOLs serve as the NSIN for all securities issued in the United Kingdom and are therefore part of the security's ISIN as well.

Description

SEDOLs are seven characters in length, consisting of two parts: a six-place alphanumeric code and a trailing check digit. SEDOLs issued prior to January 26, 2004 were composed only of numbers. For those older SEDOLs, those from Asia and Africa typically begin with 6, those from the UK and Ireland (until Ireland joined the EU) typically begin with 0 or 3 those from Europe typically began with 4, 5 or 7 and those from the Americas began with 2. After January 26, 2004, SEDOLs were changed to be alpha-numeric and are issued sequentially, beginning with B000009. At each character position numbers precede letters and vowels are never used. All new SEDOLs, therefore, begin with a letter. Ranges beginning with 9 are reserved for end user allocation.

The check digit for a SEDOL is chosen to make the total weighted sum of all seven characters a multiple of 10. The check digit is computed using a weighted sum of the first six characters. Letters have value 9 plus their alphabet position, such that B = 11 and Z = 35. While vowels are never used in SEDOLs, they are not ignored when computing this weighted sum (e.g. H = 17 and J = 19, even though I is not used), simplifying code to compute this sum. The resulting string of numbers is then multiplied by the weighting factor as follows:

First 1 Second 3 Third 1 Fourth 7 Fifth 3 Sixth 9 Seventh 1 (the check digit)

The character values are multiplied by the weights. The check digit is chosen to make the total sum, including the check digit, a multiple of 10, which can be calculated from the weighted sum of the first six characters as (10 - (this sum modulo 10) modulo 10.

For British and Irish securities, SEDOLs are converted to ISINs by padding the front with two zeros, then adding the country code on the front and the ISIN check digit at the end.

Example

BAE Systems: 0263494

The checksum can be calculated by multiplying the first six digits by their weightings:

(0×1, 2×3, 6×1, 3×7, 4×3, 9×9) = (0, 6, 6, 21, 12, 81)

Then summing up the results:

0 + 6 + 6 + 21 + 12 + 81 = 126

The check digit is then calculated by:

(10 - (126 modulo 10)) modulo 10 = (10 - 6) modulo 10 = 4

In Delphi

function GetSedolCheckDigit(const BaseSedol: string): Integer;const Weights: array [1..6] of Integer = ( 1, 3, 1, 7, 3, 9 );var i, d: Integer;begin if Length(BaseSedol) <> 6 then raise Exception.Create( 'SEDOLs without a check-digit must six characters long'); Result := 0; for i := 1 to 6 do begin case BaseSedol [i] of '0'..'9': d := Ord(BaseSedol [i] ) - Ord('0'); 'A'..'Z': d := Ord(BaseSedol [i] ) - Ord('A') + 10; else raise Exception.Create( 'SEDOLs must have only digits and uppercase letters'); end; Inc(Result, d * Weights [i] ); end; Result := (10 - (Result mod 10)) mod 10;end;


=In J=

(other formulations as possible; some twice as fastCitation
author = Bron, Dan; Rich, Henry; Hui, Roger
title = Check digit utility
url = http://www.jsoftware.com/pipermail/programming/2008-August/011582.html
] ):

sn =. '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' NB. SEDOL numerals acs =: (10 | 1 3 1 7 3 9 +/@:* -)&.(sn i. |:) NB. Checksum

In Perl

my @weights = (1, 3, 1, 7, 3, 9);

sub sedol_check_digit{ my ($sedol) = @_; die "invalid SEDOL format: `$sedol' " if $sedol !~ /^ [0-9A-Z] {6,7}$/; my @chars = split //, $sedol; my $sum = 0; for my $i ( 0 .. $#weights ) { my $char = $chars [$i] ; my $value = $char =~ /d/ ? $char : ord($char) - ord('A') + 10; $sum += $value * $weights [$i] ; } return (10 - ($sum % 10)) % 10;}


=In Python=

import string

# constantssedolchars = string.digits + string.ascii_uppercasesedol2value = dict((ch, n) for n,ch in enumerate(sedolchars))for ch in 'AEIOU': del sedol2value [ch] sedolchars = sorted(sedol2value.keys())sedolweight = [1,3,1,7,3,9,1]

def check(sedol): return len(sedol) = 7 and all(ch in sedolchars for ch in sedol) and sum(sedol2value [ch] * sedolweight [n] for n,ch in enumerate(sedol) ) % 10 = 0

def checksum(sedol): tmp = sum(sedol2value [ch] * sedolweight [n] for n,ch in enumerate(sedol [:6] ) ) return sedolchars [ (10 - (tmp % 10)) % 10]

sedol = '0263494'print sedol, checksum(sedol)

In Visual Basic

Option Explicit

Public Function getSedolCheckDigit(str As String) As Variant ' calculates the final digit of a six digit sedol code using the algo described on wikipedia If Len(str) <> 6 Then getSedolCheckDigit = "Six chars only please" Exit Function End If Dim mult(6) As Integer mult(1) = 1: mult(2) = 3: mult(3) = 1: mult(4) = 7: mult(5) = 3: mult(6) = 9 ' didn't use Array() to avoid Option Base problems Dim i, total As Integer Dim s As String total = 0 For i = 1 To 6 s = Mid(str, i, 1) total = total + IIf(IsNumeric(s), Val(s), Asc(s) - 55) * mult(i) Next getSedolCheckDigit = (10 - (total Mod 10)) Mod 10End Function

function IsSedolValid(const Sedol: string): Boolean;

function HasOnlyValidChars: Boolean; const ValidChars = ['0'..'9', 'A'..'Z'] ; var ch: Char; begin for ch in Sedol do begin if not (ch in ValidChars) then begin Result := False; Exit; end; end; Result := True; end;

begin Result := (Length(Sedol) = 7) and HasOnlyValidChars and (GetSedolCheckDigit(Copy(Sedol, 1, 6)) = Ord(Sedol [7] ) - Ord('0'));end;

Notes

External links

* [http://www.chriswareham.demon.co.uk/software/validate_sedol.c SEDOL validation code in C]
* [http://www.londonstockexchange.com/en-gb/products/informationproducts/sedol/ London Stock Exchange]
* [http://www.londonstockexchange.com/NR/rdonlyres/52511C77-4BF3-43E5-A4AF-F86C871EA7C1/0/SMFTechnicalSpecificationV6Clean.doc SEDOL Master File Technical Spec. Word Document (see section 7)]
* [http://www.rosettacode.org/wiki/SEDOL SEDOL on rosettacode.org]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • SEDOL — Die Stock Exchange Daily Official List (SEDOL) ist ähnlich der deutschen Wertpapierkennnummer (WKN) eine nationale Identifikationsnummer (National Securities Identifying Number) aus dem Vereinigten Königreich und Irland. Die offizielle… …   Deutsch Wikipedia

  • SEDOL code — The stock code used to identify all securities issued in the UK or Eire. The SEDOL code, which is the basis of the ISIN code for UK securities, consists of a 7 digit number allocated by the master file service of the London Stock Exchange.… …   Financial and business terms

  • SEDOL — Stock Exchange Daily Official List (Business » Stock Exchange) …   Abbreviations dictionary

  • SEDOL — Stock Exchange Daily Official List. Securities identification code issued by the London Stock Exchange. Has a built in check digit system. Company Extensions and Security Identifiers See Stock Exchange Daily Official List Euroclear Clearing and… …   Financial and business terms

  • SEDOL — See Stock Exchange Daily Official List …   Euroclear glossary

  • Lee Sedol — Infobox Go player playername=Lee Sedol fullname=Lee Sedol hangul=이세돌 hanja=李世乭 revisedromanization=I Sedol mccunereischauer=I Sedol dateofbirth=birth date and age|1983|2|3 cityofbirth= countryofbirth=South Korea residence=flagicon|South Korea… …   Wikipedia

  • Lee Sedol — (李世乭, Yi Se tol ou Lee Sedol), né le 3 février 1983 est un joueur de go professionnel. Sommaire 1 Biographie 2 Caractère 3 Style de jeu 4 Titres …   Wikipédia en Français

  • Stock Exchange Daily Official List - SEDOL — An identification code, consisting of seven alphanumeric characters, that is assigned to all securities trading on the London Stock Exchange and on other smaller exchanges in the U.K. U.K. stocks that do not trade in the U.S. can be identified by …   Investment dictionary

  • Stock Exchange Daily Official List — ( SEDOL) Euroclear Clearing and Settlement glossary An identification number assigned to all foreign stock by the London Stock Exchange. Foreign stock that has a CUSIP number and does not trade in the United States can be identified by its SEDOL… …   Financial and business terms

  • Stock Exchange Daily Official List — (SEDOL) An identification number assigned to all foreign stock by the London Stock Exchange. Foreign stock that has a CUSIP number and does not trade in the United States can be identified by its SEDOL code …   Euroclear glossary

Share the article and excerpts

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