-
Notifications
You must be signed in to change notification settings - Fork 132
/
instrument.schema.json
121 lines (121 loc) · 4.54 KB
/
instrument.schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://fdc3.finos.org/schemas/next/context/instrument.schema.json",
"type": "object",
"title": "Instrument",
"description": "A financial instrument from any asset class.",
"allOf": [
{
"type": "object",
"properties": {
"type": {
"const": "fdc3.instrument"
},
"id": {
"title": "Instrument identifiers",
"description": "Any combination of instrument identifiers can be used together to resolve ambiguity, or for a better match. Not all applications will use the same instrument identifiers, which is why FDC3 allows for multiple to be specified. In general, the more identifiers an application can provide, the easier it will be to achieve interoperability.\n\nIt is valid to include extra properties and metadata as part of the instrument payload, but the minimum requirement is for at least one instrument identifier to be provided.\n\nTry to only use instrument identifiers as intended. E.g. the `ticker` property is meant for tickers as used by an exchange.\nIf the identifier you want to share is not a ticker or one of the other standardized fields, define a property that makes it clear what the value represents. Doing so will make interpretation easier for the developers of target applications.",
"type": "object",
"properties": {
"BBG": {
"type": "string",
"title": "Bloomberg security",
"description": "https://www.bloomberg.com/"
},
"CUSIP": {
"type": "string",
"title": "CUSIP",
"description": "https://www.cusip.com/"
},
"FDS_ID": {
"type": "string",
"title": "FactSet Permanent Security Identifier",
"description": "https://www.factset.com/"
},
"FIGI": {
"type": "string",
"title": "Open FIGI",
"description": "https://www.openfigi.com/"
},
"ISIN": {
"type": "string",
"title": "ISIN",
"description": "https://www.isin.org/"
},
"PERMID": {
"type": "string",
"title": "Refinitiv PERMID",
"description": "https://permid.org/"
},
"RIC": {
"type": "string",
"title": "Refinitiv Identification Code",
"description": "https://www.refinitiv.com/"
},
"SEDOL": {
"type": "string",
"title": "SEDOL",
"description": "https://www.lseg.com/sedol"
},
"ticker": {
"type": "string",
"title": "Stock ticker",
"description": "Unstandardized stock tickers"
}
}
},
"name": {
"type": "string",
"title": "Name",
"description": "An optional human-readable name for the instrument"
},
"market": {
"description": "The `market` map can be used to further specify the instrument and help achieve interoperability between disparate data sources. This is especially useful when using an `id` field that is not globally unique.",
"type": "object",
"properties": {
"MIC": {
"type": "string",
"title": "Market Identifier Code",
"description": "https://en.wikipedia.org/wiki/Market_Identifier_Code"
},
"name": {
"type": "string",
"title": "Market Name",
"description": "Human readable market name"
},
"COUNTRY_ISOALPHA2": {
"type": "string",
"title": "Country ISO Code",
"description": "https://www.iso.org/iso-3166-country-codes.html"
},
"BBG": {
"type": "string",
"title": "Bloomberg Market Identifier",
"description": "https://www.bloomberg.com/"
}
},
"unevaluatedProperties": {
"type": "string"
}
}
},
"required": [
"type","id"
]
},
{ "$ref": "context.schema.json#/definitions/BaseContext" }
],
"examples": [
{
"type": "fdc3.instrument",
"name": "Microsoft",
"id": {
"ticker": "MSFT",
"RIC": "MSFT.OQ",
"ISIN": "US5949181045"
},
"market": {
"MIC": "XNAS"
}
}
]
}