|
80 | 80 | { |
81 | 81 | "data": { |
82 | 82 | "text/plain": [ |
83 | | - "<refinitiv.data.session.platform.Definition object at 0x16ff3b399a0 {session_name='rdp'}>" |
| 83 | + "<refinitiv.data.session.Definition object at 0x7fdd732222b0 {name='workspace'}>" |
84 | 84 | ] |
85 | 85 | }, |
86 | 86 | "execution_count": 3, |
|
106 | 106 | "outputs": [], |
107 | 107 | "source": [ |
108 | 108 | "# Function to handle the intial Refresh for each item\n", |
109 | | - "def handle_refresh(streaming_prices, instrument_name, fields):\n", |
| 109 | + "def handle_refresh(fields, instrument_name, streaming_prices):\n", |
110 | 110 | " # One way to access data - get dataframe\n", |
111 | 111 | " print(f\"Refresh : {streaming_prices.get_snapshot()}\")\n", |
112 | 112 | " return\n", |
113 | 113 | "\n", |
114 | 114 | "# Function to update dataframe, when we receive updates for individual items\n", |
115 | | - "def handle_update(streaming_prices, instrument_name, fields):\n", |
| 115 | + "def handle_update(fields, instrument_name, streaming_prices):\n", |
116 | 116 | " # Alternative way of accesing data - access the updated fields\n", |
117 | 117 | " print(f\"Update : {instrument_name}:{fields}\")\n", |
118 | 118 | " \n", |
119 | 119 | "# Function to extract status code for an item as & when received from server\n", |
120 | 120 | "# Status contains a 'code' and a more detailed 'message'\n", |
121 | | - "def handle_status(streaming_prices, instrument_name, status):\n", |
122 | | - " print(f\"Status : {instrument_name}:{status['code']}:{status['message']}\")" |
| 121 | + "def handle_status(status, instrument_name, streaming_prices):\n", |
| 122 | + " state=status['State']\n", |
| 123 | + " print(f\"Status : {instrument_name}:{state['Code']}:{state['Text']}\")" |
123 | 124 | ] |
124 | 125 | }, |
125 | 126 | { |
|
138 | 139 | "name": "stdout", |
139 | 140 | "output_type": "stream", |
140 | 141 | "text": [ |
141 | | - "Refresh : Instrument BID ASK\n", |
142 | | - "0 EUR= 1.1222 1.1226\n", |
| 142 | + "Refresh : Instrument ASK BID\n", |
| 143 | + "0 EUR= 1.0596 1.0592\n", |
143 | 144 | "1 GBP= <NA> <NA>\n", |
144 | 145 | "2 JPY= <NA> <NA>\n", |
145 | 146 | "3 BADRIC <NA> <NA>\n", |
146 | | - "Refresh : Instrument BID ASK\n", |
147 | | - "0 EUR= 1.1222 1.1226\n", |
148 | | - "1 GBP= 1.3325 1.333\n", |
149 | | - "2 JPY= 115.24 115.27\n", |
| 147 | + "Refresh : Instrument ASK BID\n", |
| 148 | + "0 EUR= 1.0596 1.0592\n", |
| 149 | + "1 GBP= 1.2306 1.2302\n", |
| 150 | + "2 JPY= <NA> <NA>\n", |
150 | 151 | "3 BADRIC <NA> <NA>\n", |
151 | | - "Refresh : Instrument BID ASK\n", |
152 | | - "0 EUR= 1.1222 1.1226\n", |
153 | | - "1 GBP= 1.3325 1.333\n", |
154 | | - "2 JPY= 115.24 115.27\n", |
155 | | - "3 BADRIC <NA> <NA>\n" |
156 | | - ] |
157 | | - }, |
158 | | - { |
159 | | - "name": "stderr", |
160 | | - "output_type": "stream", |
161 | | - "text": [ |
162 | | - "[StreamingPrices universe=['EUR=', 'GBP=', 'JPY=', 'BADRIC']] on_status_stream_event <function handle_status at 0x0000016FA352BC10> raised exception: KeyError('code')\n" |
163 | | - ] |
164 | | - }, |
165 | | - { |
166 | | - "name": "stdout", |
167 | | - "output_type": "stream", |
168 | | - "text": [ |
169 | | - "Update : JPY=:{'BID': 115.24, 'ASK': 115.27}\n" |
| 152 | + "Refresh : Instrument ASK BID\n", |
| 153 | + "0 EUR= 1.0596 1.0592\n", |
| 154 | + "1 GBP= 1.2306 1.2302\n", |
| 155 | + "2 JPY= 135.87 135.84\n", |
| 156 | + "3 BADRIC <NA> <NA>\n", |
| 157 | + "Status : BADRIC:NotFound:The record could not be found\n" |
170 | 158 | ] |
171 | 159 | }, |
172 | 160 | { |
173 | 161 | "data": { |
174 | 162 | "text/plain": [ |
175 | | - "<OpenState.Opened: 1>" |
| 163 | + "<OpenState.Opened: 'Opened'>" |
176 | 164 | ] |
177 | 165 | }, |
178 | 166 | "execution_count": 5, |
|
183 | 171 | "name": "stdout", |
184 | 172 | "output_type": "stream", |
185 | 173 | "text": [ |
186 | | - "Update : JPY=:{'BID': 115.25, 'ASK': 115.27}\n", |
187 | | - "Update : GBP=:{'BID': 1.3325, 'ASK': 1.3329}\n", |
188 | | - "Update : GBP=:{'BID': 1.3324, 'ASK': 1.3329}\n", |
189 | | - "Update : EUR=:{'BID': 1.1222, 'ASK': 1.1226}\n", |
190 | | - "Update : GBP=:{'BID': 1.3326, 'ASK': 1.3327}\n", |
191 | | - "Update : GBP=:{'BID': 1.3325, 'ASK': 1.3329}\n", |
192 | | - "Update : JPY=:{'BID': 115.24, 'ASK': 115.27}\n", |
193 | | - "Update : EUR=:{'BID': 1.1223, 'ASK': 1.1224}\n", |
194 | | - "Update : JPY=:{'BID': 115.25, 'ASK': 115.26}\n", |
195 | | - "Update : JPY=:{'BID': 115.25, 'ASK': 115.27}\n", |
196 | | - "Update : JPY=:{'BID': 115.24, 'ASK': 115.27}\n", |
197 | | - "Update : GBP=:{'BID': 1.3326, 'ASK': 1.3329}\n", |
198 | | - "Update : JPY=:{'BID': 115.25, 'ASK': 115.27}\n", |
199 | | - "Update : GBP=:{'BID': 1.3325, 'ASK': 1.3329}\n", |
200 | | - "Update : JPY=:{'BID': 115.25, 'ASK': 115.26}\n", |
201 | | - "Update : JPY=:{'BID': 115.24, 'ASK': 115.27}\n", |
202 | | - "Update : JPY=:{'BID': 115.24, 'ASK': 115.27}\n", |
203 | | - "Update : JPY=:{'BID': 115.24, 'ASK': 115.27}\n", |
204 | | - "Update : GBP=:{'BID': 1.3325, 'ASK': 1.3329}\n", |
205 | | - "Update : EUR=:{'BID': 1.1223, 'ASK': 1.1224}\n", |
206 | | - "Update : JPY=:{'BID': 115.25, 'ASK': 115.27}\n", |
207 | | - "Update : GBP=:{'BID': 1.3326, 'ASK': 1.3329}\n" |
| 174 | + "Update : GBP=:{'ASK': 1.2305, 'BID': 1.2304}\n", |
| 175 | + "Update : JPY=:{'ASK': 135.86, 'BID': 135.85}\n", |
| 176 | + "Update : EUR=:{'ASK': 1.0595, 'BID': 1.0594}\n", |
| 177 | + "Update : JPY=:{'ASK': 135.86, 'BID': 135.85}\n", |
| 178 | + "Update : EUR=:{'ASK': 1.0596, 'BID': 1.0592}\n", |
| 179 | + "Update : JPY=:{'ASK': 135.89, 'BID': 135.84}\n", |
| 180 | + "Update : EUR=:{'ASK': 1.0595, 'BID': 1.0593}\n", |
| 181 | + "Update : JPY=:{'ASK': 135.86, 'BID': 135.85}\n", |
| 182 | + "Update : GBP=:{'ASK': 1.2305, 'BID': 1.2304}\n", |
| 183 | + "Update : JPY=:{'ASK': 135.86, 'BID': 135.85}\n", |
| 184 | + "Update : JPY=:{'ASK': 135.86, 'BID': 135.85}\n", |
| 185 | + "Update : EUR=:{'ASK': 1.0596, 'BID': 1.0592}\n", |
| 186 | + "Update : GBP=:{'ASK': 1.2306, 'BID': 1.2302}\n", |
| 187 | + "Update : JPY=:{'ASK': 135.86, 'BID': 135.83}\n", |
| 188 | + "Update : EUR=:{'ASK': 1.0594, 'BID': 1.0593}\n", |
| 189 | + "Update : GBP=:{'ASK': 1.2304, 'BID': 1.2303}\n" |
208 | 190 | ] |
209 | 191 | } |
210 | 192 | ], |
|
242 | 224 | "name": "stdout", |
243 | 225 | "output_type": "stream", |
244 | 226 | "text": [ |
245 | | - "Update : EUR=:{'BID': 1.1223, 'ASK': 1.1224}\n" |
| 227 | + "Update : JPY=:{'ASK': 135.86, 'BID': 135.85}\n", |
| 228 | + "Update : EUR=:{'ASK': 1.0595, 'BID': 1.0593}\n" |
246 | 229 | ] |
247 | 230 | }, |
248 | 231 | { |
249 | 232 | "data": { |
250 | 233 | "text/plain": [ |
251 | | - "<OpenState.Closed: 3>" |
| 234 | + "<OpenState.Closed: 'Closed'>" |
252 | 235 | ] |
253 | 236 | }, |
254 | 237 | "execution_count": 6, |
|
286 | 269 | ], |
287 | 270 | "metadata": { |
288 | 271 | "kernelspec": { |
289 | | - "display_name": "RevData39", |
| 272 | + "display_name": "Python 3 (ipykernel)", |
290 | 273 | "language": "python", |
291 | | - "name": "rd39" |
| 274 | + "name": "python3" |
292 | 275 | }, |
293 | 276 | "language_info": { |
294 | 277 | "codemirror_mode": { |
|
300 | 283 | "name": "python", |
301 | 284 | "nbconvert_exporter": "python", |
302 | 285 | "pygments_lexer": "ipython3", |
303 | | - "version": "3.9.4" |
| 286 | + "version": "3.9.7" |
304 | 287 | } |
305 | 288 | }, |
306 | 289 | "nbformat": 4, |
|
0 commit comments