MEFFGate Negociación ESPECIFICACIONES DE LA INTERFAZ FIX

Anuncio
MEFFGate
Negociación
ESPECIFICACIONES DE LA INTERFAZ FIX
Versión T1.2
30 de julio de 2012
La información contenida en este documento está sujeta a modificaciones sin previo aviso. A menos que se indique lo
contrario, las compañías, los nombres y los datos utilizados en los ejemplos son ficticios. Ninguna parte de este documento
puede ser reproducida o transmitida de ninguna forma, ni por cualquier medio, ya sea electrónico o mecánico, con ningún
propósito, sin la previa autorización por escrito.
© 2008 MEFF. Todos los derechos reservados.
© 2009 MEFF. Todos los derechos reservados.
© 2010 MEFF. Todos los derechos reservados.
© 2011 MEFF. Todos los derechos reservados.
© 2012 MEFF. Todos los derechos reservados.
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Modificaciones realizadas en la última revisión
A continuación se detallan las principales modificaciones realizadas en la versión T1.2:
General
Nueva versión del protocolo MEFFGate FIX T1.2. Tal y como se indica en el apartado 2.7
“Identificación del protocolo MEFFGate” de este manual, si la aplicación cliente quiere recibir
la nueva versión del protocolo T1.2 debe indicarlo en el tag ProprietaryFixProtocolVersion
[5680] del mensaje Logon. En caso de que no se especifique ningún valor en ese campo,
MEFFGate le entregará al cliente la versión indicada en la configuración de usuarios
MEFFGate
Se documenta el máximo número de suscripciones de cada tipo por cada conexión, que es
de 40
Se ha revisado el tratamiento de las aplicaciones, estableciéndose nuevos mensajes (Trade
Capture Report, Trade Capture Report Ack, Trade Capture Report Request y Trade Capture
Report Request Ack). Se elimina de esta versión (T1.2) (y de todas los anteriores) el mensaje
New Order-Cross
Se establece la forma de identificar un contrato no estándar (flexible) en la funcionalidad de
aplicaciones: SecurityID [48] + CFICode[461] + MaturityDate [541] + ContractMultiplier [231] +
StrikePrice [202]. Los mensajes relacionados son Trade Capture Report y Trade Capture
Report Ack
Para las retrocesiones se utilizará el mensaje Execution Report con ExecType = H
Nuevos campos
Se añade el campo NumberOfOrders [346] al mensaje Market Data Snapshot Full Refresh
Se añade el campo EventDate [866] en el mensaje Security List para informar del último día
de negociación del contrato
Se añade el bloque Stipulations al mensaje Security List para indicar si el contrato admite
órdenes y/o aplicaciones
Se añaden los campos StrikeValue [968], RoundLot [561] y MinTradeVol [562] al mensaje
Security List
Se añade el campo HaltReason [327] al el mensaje Security Status
Se ha incluido un nuevo campo TrdMatchID [880] en el mensaje Execution Report. Contiene
el número de registro de negociación (en la versión anterior esta información estaba en el
campo SecondaryExecID [527])
Se añade el campo GrossTradeAmt [381] al mensaje Execution Report
Se añade el campo SecondaryExecID [527] al mensaje Quote Status Report
Se añaden los campos OnBehalfOfCompID [115], OnBehalfOfSubID [116], DeliverToCompID
[128] y DeliverToSubID [129] en el Standard Message Header
Cambios en campos
Se modifica el significado del campo SecondaryExecID [527]. Ahora contiene el número de
historia de la orden
i
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Se añaden dos nuevos valores (9 y M) al tag MDEntryType [269] en los mensajes Market
Data Request y Market Data Snapshot Full Refresh. Se elimina el campo
OpenCloseSettleFlag [286] del mensaje Market Data Snapshot Full Refresh
Se amplía el tamaño de los campos OrderQty [38], BidSize [134], OfferSize [135], LastQty
[32], LeavesQty [151] y CumQty [14]
Se amplía el tamaño de la referencia de la orden hasta 15 caracteres. Este cambio afecta al
tag Text [58] en los mensajes New Order-Single, Order Modification Request y Execution
Report
Se han revisado los valores del campo OrdRejReason [103] en los mensajes Execution
Report y Quote Status Report
Como consecuencia de la eliminación del mensaje New Order – Cross, se elimina el campo
CrossType [549] en el mensaje Execution Report
Principales cambios respecto a la documentación publicada el 1 de diciembre de 2008:
Se elimina el campo NumberOfOrders [346] del mensaje Market Data Snapshot Full Refresh
Se han revisado los valores del campo OrdRejReason [103] de los mensajes Execution
Report y Quote Status Report
Se ha incluido, en el apartado 8.4.4 (Modificación de órdenes – Flujo de mensajes) la
situación correspondiente a la “Solicitud de modificación aceptada por MEFFGate de una
orden ejecutada en el momento de la solicitud” para indicar que se envía un mensaje Order
Cancel Reject como respuesta al mensaje Order Modification Request
Se ha modificado, en el apartado 8.5.4 (Cancelación de órdenes – Flujo de mensajes) la
situación correspondiente a la “Solicitud de cancelación aceptada por MEFFGate de una
orden ejecutada en el momento de la solicitud” para indicar que se envía un mensaje Order
Cancel Reject como respuesta al mensaje Order Cancel Request
Se han revisado el siguiente flujo de mensajes: 10.8 (Aplicaciones)
Se han revisado los siguientes mensajes: 10.10.4 (Trade Capture Report enviado por
MEFFGate) y 10.10.5 (Trade Capture Report Ack)
Principales cambios respecto a la documentación publicada el 11 de marzo de 2009:
En el Grupo de Contratos de derivados sobre energía el tag 200 (MaturityMonthYear) podrá
tener el formato YYYYMMwW para indicar los vencimientos semanales
Se han revisado los valores del campo AccountType [581] de los siguientes mensajes: Trade
Capture Report enviado a MEFFGate, Trade Capture Report enviado por MEFFGate y Trade
Capture Report Ack
Se han revisado los valores del campo NoSides [552] en el mensaje Trade Capture Report
enviado a MEFFGate
Principales cambios respecto a la documentación publicada el 24 de septiembre de 2009:
Se han revisado los siguientes mensajes: 10.10.3 (Trade Capture Report enviado a
MEFFGate), 10.10.4 (Trade Capture Report enviado por MEFFGate) y 10.10.5 (Trade
Capture Report Ack). También se revisa el apartado asociado 4.5.4 (Convenciones generales
en los mensajes de aplicación – Bloque instrument - Código de contrato (campo Symbol) o
ii
MEFFGate Negociación - Especificaciones de la Interfaz FIX
usando la combinación SecurityID + CFICode + MaturityDate + ContractMultiplier +
StrikePrice)
Se corrige la ubicación del bloque Stipulations dentro del mensaje Security List
Principales cambios respecto a la documentación publicada el 16 de marzo de 2010:
Request for Quote (nueva funcionalidad):
o
Nuevos mensajes: Quote Request y Quote Request Reject
o
Los miembros que están recibiendo actualmente los mensajes Indication of Interés no
notarán ningún cambio en su interface FIX
o
Se incluye una descripción explicativa dentro del apartado “7 - Request for Quote Petición de Interés”
o
Se ha añadido nuevos flujos de mesajes en el apartado 7
o
Se actualiza el apartado 1.2
Mensaje Trading Session Status: Se elimina el valor 0 (Unknown) en el tag TradSesStatus
[340]
Mensaje Market Data Snapshot Full Refresh: Se ha actualizado la descripción del campo
PriceDelta [811]
Principales cambios respecto a la documentación publicada el 25 de noviembre de 2011:
Se modifica el apartado “9.8.1 – Delta protection y configuración de la cuenta para quotes:
Introducción“ para indicar que la funcionalidad de la delta protection no está disponible
actualmente y que, en consecuencia, todos los parámetros relativos a la delta protection
deber enviarse a cero
El formato de los campos siguientes: MsgSeqNum [34], NextExpectedMsgSeqNum [789] y
RefSeqNum [45] ha sido corregido a SeqNum (de acuerdo con el estándar FIX)
Principales cambios respecto a la documentación publicada el 10 de enero de 2012:
Delta protection y configuración de la cuenta para quotes:
o
A partir de la versión 9.50 está disponible la funcionalidad de la delta protection
o
Se han modificado los apartados “9.8.1 - Introducción Delta protection y configuración
de la cuenta para quotes” y “9.8.2 - Delta Protection: Descripción” y los mensajes
Registration Instructions / Registration Instructions Response, para incluir los nuevos
motivos de de cancelación de la delta protection. Se establecen tres límites que
actúan de forma independiente dentro del periodo de tiempo establecido:
Volumen total de contratos ejecutados
Delta: abs[Volumen de (Compra de calls + Venta de puts + Compra de Futuros) –
(Venta de calls + Compra de puts – Venta de Futuros)]
abs[Volumen de compras – Volumen de ventas]
o
Campo CFICode [461]: Se añade el valor FMXXXX para permitir time-spreads en la
funcionalidad de quotes
iii
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Tabla de Contenidos
1.
Introducción ...................................................................................................................................1
1.1
1.2
1.3
1.4
1.5
2.
Decisiones de Implementación ....................................................................................................5
2.1
2.2
2.3
2.4
2.5
2.6
2.7
3.
Ámbito de este manual .......................................................................................................................... 1
Información pública e información privada ............................................................................................ 2
Organización del manual ....................................................................................................................... 3
Formato de las tablas de definición de mensajes .................................................................................. 4
Documentos relacionados ..................................................................................................................... 4
Descripción............................................................................................................................................ 5
Campos ignorados ................................................................................................................................ 5
Campos no soportados ......................................................................................................................... 5
Longitud del tipo String .......................................................................................................................... 5
Máxima longitud de mensaje ................................................................................................................. 5
Encriptación........................................................................................................................................... 5
Identificación del protocolo MEFFGate FIX ........................................................................................... 5
Sesión FIX.......................................................................................................................................6
3.1 Introducción ........................................................................................................................................... 6
3.2 Sesión FIX y sesión de comunicación ................................................................................................... 6
3.3 Identificación de la sesión FIX ............................................................................................................... 6
3.4 Software cliente y sesiones FIX ............................................................................................................ 7
3.5 Enrutamiento de mensajes de distintos usuarios a través de una misma sesión FIX (conexión
multilogon) ...................................................................................................................................................... 7
3.6 Sincronización de la sesión FIX ............................................................................................................ 8
3.7 Sincronización a nivel de aplicación .................................................................................................... 10
3.8 Alta disponibilidad ............................................................................................................................... 10
3.9 Campo PossResend ........................................................................................................................... 11
3.10 Recepción de información de todos los operadores del miembro ....................................................... 11
3.11 Recepción de información de actuaciones realizadas en nombre del propio operador ....................... 11
3.12 Mensajes administrativos que el cliente FIX debe gestionar ............................................................... 11
3.13 Lista de mensajes ............................................................................................................................... 11
3.14 Flujo de mensajes ............................................................................................................................... 12
3.15 Acotaciones y adaptaciones de FIX 4.4 .............................................................................................. 15
3.16 Definición de mensajes ....................................................................................................................... 16
3.16.1 Standard Message Header ...................................................................................................... 16
3.16.2 Standard Message Trailer ........................................................................................................ 18
3.16.3 Logon (Msg Type = A) ............................................................................................................. 19
3.16.4 Logout (Msg Type = 5) ............................................................................................................. 20
3.16.5 Heartbeat (Msg Type = 0) ........................................................................................................ 21
3.16.6 Test Request (Msg Type = 1) .................................................................................................. 22
3.16.7 Resend Request (Msg Type = 2) ............................................................................................. 23
3.16.8 Sequence Reset (Msg Type = 4) ............................................................................................. 24
3.16.9 Reject (Msg Type = 3).............................................................................................................. 25
4.
Convenciones generales en los mensajes de aplicación .......................................................26
4.1
4.2
4.3
4.4
4.5
4.6
Identificación de órdenes..................................................................................................................... 26
4.1.1 ClOrdID .................................................................................................................................... 26
4.1.2 OrderID .................................................................................................................................... 26
4.1.3 SecondaryOrderID ................................................................................................................... 26
4.1.4 SecondaryExecID .................................................................................................................... 26
Identificación de operaciones .............................................................................................................. 27
4.2.1 ExecID ..................................................................................................................................... 27
4.2.2 TrdMatchID .............................................................................................................................. 27
Bloque Parties ..................................................................................................................................... 27
Symbol y SecurityID ............................................................................................................................ 30
Bloque Instrument ............................................................................................................................... 31
4.5.1 CFICode................................................................................................................................... 31
4.5.2 Activo subyacente (campo SecurityID) .................................................................................... 32
4.5.3 Vencimiento (campo MaturityMonthYear) ................................................................................ 32
4.5.4 Código de contrato (campo Symbol) o usando la combinación SecurityID + CFICode +
MaturityDate + ContractMultiplier + StrikePrice ................................................................................... 32
4.5.5 Combinación de criterios de selección ..................................................................................... 32
Formato de Error (Campo Text) .......................................................................................................... 33
iv
MEFFGate Negociación - Especificaciones de la Interfaz FIX
4.7
5.
Mensajes Genéricos del Nivel de Aplicación ............................................................................34
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
6.
6.3
6.4
6.5
Introducción ......................................................................................................................................... 41
Información de mercado: Estado de la sesión de negociación............................................................ 42
6.2.1 Descripción .............................................................................................................................. 42
6.2.2 Lista de mensajes .................................................................................................................... 42
6.2.3 Flujo de mensajes .................................................................................................................... 42
6.2.4 Acotaciones y adaptaciones de FIX 4.4 ................................................................................... 43
Información de mercado: Contratos .................................................................................................... 44
6.3.1 Descripción .............................................................................................................................. 44
6.3.2 Solicitud de información de contratos ...................................................................................... 44
6.3.3 Recepción de la definición de contratos .................................................................................. 45
6.3.4 Recepción del estado de contratos .......................................................................................... 45
6.3.5 Finalización de las suscripciones ............................................................................................. 45
6.3.6 Lista de mensajes .................................................................................................................... 46
6.3.7 Flujo de mensajes .................................................................................................................... 46
6.3.8 Acotaciones y adaptaciones de FIX 4.4 ................................................................................... 51
Información de mercado: Precios ........................................................................................................ 52
6.4.1 Descripción .............................................................................................................................. 52
6.4.2 Solicitud de información ........................................................................................................... 52
6.4.3 Recepción de información........................................................................................................ 52
6.4.4 Lista de mensajes .................................................................................................................... 53
6.4.5 Flujo de mensajes .................................................................................................................... 53
6.4.6 Acotaciones y adaptaciones de FIX 4.4 ................................................................................... 55
Definición de mensajes ....................................................................................................................... 56
6.5.1 Trading Session Status Request (Msg Type = g) .................................................................... 56
6.5.2 Trading Session Status (Msg Type = h) ................................................................................... 57
6.5.3 Security List Request (Msg Type = x) ...................................................................................... 58
6.5.4 Security List (Msg Type = y) .................................................................................................... 59
6.5.5 Security Status Request (MsgType = e) .................................................................................. 62
6.5.6 Security Status (MsgType = f) .................................................................................................. 63
6.5.7 Market Data Request (Msg Type = V)...................................................................................... 65
6.5.8 Market Data Request Reject (Msg Type = Y) .......................................................................... 67
6.5.9 Market Data Snapshot Full Refresh (Msg Type = W)............................................................... 68
Request for Quote - Petición de Interés ....................................................................................70
7.1
7.2
7.3
7.4
7.5
7.6
8.
Introducción ......................................................................................................................................... 34
Estado de la comunicación.................................................................................................................. 34
Cambio de password de conexión al MEFFGate ................................................................................ 34
Rechazo de mensajes de aplicación ................................................................................................... 34
Lista de mensajes ............................................................................................................................... 34
Flujo de mensajes ............................................................................................................................... 35
Acotaciones y adaptaciones de FIX 4.4 .............................................................................................. 35
Definición de mensajes ....................................................................................................................... 36
5.8.1 Network Counterparty System Status Request (Msg Type = BC) ............................................ 36
5.8.2 Network Counterparty System Status Response (Msg Type = BD) ......................................... 37
5.8.3 User Request (Msg Type = BE) ............................................................................................... 38
5.8.4 User Response (Msg Type = BF) ............................................................................................ 39
5.8.5 Business Message Reject (MsgType = j) ................................................................................. 40
Información de Mercado .............................................................................................................41
6.1
6.2
7.
Limitación en el máximo número de suscripciones vivas permitidas ................................................... 33
Introducción ......................................................................................................................................... 70
Descripción.......................................................................................................................................... 70
Lista de mensajes ............................................................................................................................... 70
Flujo de mensajes ............................................................................................................................... 71
Acotaciones y adaptaciones de FIX 4.4 .............................................................................................. 72
Definición de mensajes ....................................................................................................................... 73
7.6.1 Quote Request (Msg Type = R) ............................................................................................... 73
7.6.2 Quote Request Reject (Msg Type = AG) ................................................................................. 74
7.6.3 Indication of Interest (Msg Type = 6)........................................................................................ 75
Gestión de Órdenes e información de operaciones ................................................................77
8.1
8.2
8.3
Introducción ......................................................................................................................................... 77
Gestión de órdenes en nombre de otro operador ................................................................................ 77
Entrada de órdenes ............................................................................................................................. 78
8.3.1 Descripción .............................................................................................................................. 78
v
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8.4
8.5
8.6
8.7
8.8
8.9
9.
8.3.2 Estados de la solicitud de alta de una orden............................................................................ 78
8.3.3 Tipos de órdenes soportados y validez de las órdenes ........................................................... 78
8.3.4 Persistencia de la orden .......................................................................................................... 78
8.3.5 Instrucciones de give-up en la orden ....................................................................................... 79
8.3.6 Lista de mensajes .................................................................................................................... 79
8.3.7 Flujo de mensajes .................................................................................................................... 79
8.3.8 Acotaciones y adaptaciones de FIX 4.4 ................................................................................... 81
Modificación de órdenes...................................................................................................................... 82
8.4.1 Descripción .............................................................................................................................. 82
8.4.2 Estados de la solicitud de modificación de una orden ............................................................. 83
8.4.3 Lista de mensajes .................................................................................................................... 83
8.4.4 Flujo de mensajes .................................................................................................................... 83
8.4.5 Acotaciones y adaptaciones de FIX 4.4 ................................................................................... 85
Cancelación de órdenes ...................................................................................................................... 86
8.5.1 Descripción .............................................................................................................................. 86
8.5.2 Estados de la solicitud de cancelación de una orden .............................................................. 86
8.5.3 Lista de mensajes .................................................................................................................... 87
8.5.4 Flujo de mensajes .................................................................................................................... 87
8.5.5 Acotaciones y adaptaciones de FIX 4.4 ................................................................................... 89
Cancelación masiva de órdenes ......................................................................................................... 90
8.6.1 Descripción .............................................................................................................................. 90
8.6.2 Criterios de selección ............................................................................................................... 90
8.6.3 Estados de la solicitud de cancelación masiva ........................................................................ 90
8.6.4 Campo ClOrdID ....................................................................................................................... 90
8.6.5 Lista de mensajes .................................................................................................................... 91
8.6.6 Flujo de mensajes .................................................................................................................... 91
8.6.7 Acotaciones y adaptaciones de FIX 4.4 ................................................................................... 92
Notificación de ejecución ..................................................................................................................... 93
8.7.1 Descripción .............................................................................................................................. 93
8.7.2 Retrocesión de una operación ................................................................................................. 93
8.7.3 Lista de mensajes .................................................................................................................... 93
8.7.4 Flujo de mensajes .................................................................................................................... 93
8.7.5 Acotaciones y adaptaciones de FIX 4.4 ................................................................................... 94
Solicitud de información de situación de órdenes ............................................................................... 95
8.8.1 Descripción .............................................................................................................................. 95
8.8.2 Lista de mensajes .................................................................................................................... 95
8.8.3 Flujo de mensajes .................................................................................................................... 96
8.8.4 Acotaciones y adaptaciones de FIX 4.4 ................................................................................... 96
Definición de mensajes ....................................................................................................................... 97
8.9.1 New Order - Single (Msg Type = D) ......................................................................................... 97
8.9.2 Order Cancel Request (Msg Type = F) .................................................................................... 99
8.9.3 Order Modification Request (Msg Type = G) ......................................................................... 100
8.9.4 Execution Report (Msg Type = 8) .......................................................................................... 103
8.9.5 Order Cancel Reject (Msg Type = 9) ..................................................................................... 107
8.9.6 Order Status Request (Msg Type = H)................................................................................... 108
8.9.7 Order Mass Cancel Request (Msg Type = q) ......................................................................... 109
8.9.8 Order Mass Cancel Report (Msg Type = r) ............................................................................ 111
8.9.9 Order Mass Status Request (Msg Type = AF) ....................................................................... 112
Gestión de Quotes .....................................................................................................................114
9.1
9.2
9.3
9.4
Introducción ....................................................................................................................................... 114
Entrada de quotes ............................................................................................................................. 115
9.2.1 Descripción ............................................................................................................................ 115
9.2.2 Lista de mensajes .................................................................................................................. 115
9.2.3 Flujo de mensajes .................................................................................................................. 116
9.2.4 Acotaciones y adaptaciones de FIX 4.4 ................................................................................. 119
Modificación de quotes ...................................................................................................................... 120
9.3.1 Descripción ............................................................................................................................ 120
9.3.2 Lista de mensajes .................................................................................................................. 120
9.3.3 Flujo de mensajes .................................................................................................................. 121
9.3.4 Acotaciones y adaptaciones de FIX 4.4 ................................................................................. 122
Cancelación de quotes ...................................................................................................................... 123
9.4.1 Descripción ............................................................................................................................ 123
9.4.2 Criterios de selección ............................................................................................................. 123
9.4.3 Lista de mensajes .................................................................................................................. 123
9.4.4 Flujo de mensajes .................................................................................................................. 124
vi
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9.5
9.6
9.7
9.8
9.9
10.
9.4.5 Acotaciones y adaptaciones de FIX 4.4 ................................................................................. 125
Notificación de ejecución de un quote ............................................................................................... 126
9.5.1 Descripción ............................................................................................................................ 126
9.5.2 Lista de mensajes .................................................................................................................. 126
9.5.3 Flujo de mensajes .................................................................................................................. 126
9.5.4 Acotaciones y adaptaciones de FIX 4.4 ................................................................................. 126
Solicitud de información del estado de quotes .................................................................................. 127
9.6.1 Descripción ............................................................................................................................ 127
9.6.2 Lista de mensajes .................................................................................................................. 127
9.6.3 Flujo de mensajes .................................................................................................................. 127
9.6.4 Acotaciones y adaptaciones de FIX 4.4 ................................................................................. 127
Definición de mensajes ..................................................................................................................... 128
9.7.1 Quote (Msg Type = S)............................................................................................................ 128
9.7.2 Quote Cancel (Msg Type = Z) ................................................................................................ 129
9.7.3 Quote Status Request (Msg Type = a)................................................................................... 130
9.7.4 Quote Status Report (Msg Type = AI) .................................................................................... 131
Delta protection y configuración de la cuenta para quotes ................................................................ 133
9.8.1 Introducción ........................................................................................................................... 133
9.8.2 Delta Protection: Descripción ................................................................................................. 133
9.8.3 Campo RegistID..................................................................................................................... 133
9.8.4 Lista de mensajes .................................................................................................................. 135
9.8.5 Flujo de mensajes .................................................................................................................. 135
9.8.6 Acotaciones y adaptaciones de FIX 4.4 ................................................................................. 135
9.8.7 Definición de mensajes .......................................................................................................... 136
Consulta de parámetros del quote .................................................................................................... 141
9.9.1 Descripción ............................................................................................................................ 141
9.9.2 Lista de mensajes .................................................................................................................. 141
9.9.3 Flujo de mensajes .................................................................................................................. 141
9.9.4 Acotaciones y adaptaciones de FIX 4.4 ................................................................................. 142
9.9.5 Definición de mensajes .......................................................................................................... 143
Aplicaciones ...............................................................................................................................145
10.1 Introducción ....................................................................................................................................... 145
10.2 Entrada de aplicaciones entre distintos miembros ............................................................................ 145
10.3 Aceptación de aplicaciones entre distintos miembros ....................................................................... 146
10.4 Entrada de aplicaciones dentro del mismo miembro ......................................................................... 146
10.5 Precio y Efectivo total ........................................................................................................................ 147
10.6 Grupos de aplicaciones y aplicaciones de contado ........................................................................... 147
10.7 Lista de mensajes ............................................................................................................................. 147
10.8 Flujo de mensajes ............................................................................................................................. 148
10.9 Acotaciones y adaptaciones de FIX 4.4 ............................................................................................ 152
10.10 Definición de mensajes ..................................................................................................................... 153
10.10.1 Trade Capture Report Request (Msg Type = AD) ............................................................. 153
10.10.2 Trade Capture Report Request Ack (Msg Type = AQ) ...................................................... 154
10.10.3 Trade Capture Report (Msg Type = AE) enviado a MEFFGate ........................................ 155
10.10.4 Trade Capture Report (Msg Type = AE) enviado por MEFFGate ..................................... 158
10.10.5 Trade Capture Report Ack (Msg Type = AR) .................................................................... 161
11.
Comunicación de Eventos ........................................................................................................164
11.1
11.2
11.3
11.4
11.5
Introducción ....................................................................................................................................... 164
Lista de mensajes ............................................................................................................................. 164
Flujo de mensajes ............................................................................................................................. 164
Acotaciones y adaptaciones de FIX 4.4 ............................................................................................ 164
Definición de mensajes ..................................................................................................................... 165
11.5.1 News (Msg Type = B) ............................................................................................................ 165
Apéndice A
Tipos de Órdenes de MEFF .................................................................................. A–1
Apéndice B
Campos de Usuario ................................................................................................ B-1
vii
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Índice de Mensajes
3.16.1
3.16.2
3.16.3
3.16.4
3.16.5
3.16.6
3.16.7
3.16.8
3.16.9
5.8.1
5.8.2
5.8.3
5.8.4
5.8.5
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5.8
6.5.9
7.6.1
7.6.2
7.6.3
8.9.1
8.9.2
8.9.3
8.9.4
8.9.5
8.9.6
8.9.7
8.9.8
8.9.9
9.7.1
9.7.2
9.7.3
9.7.4
10.10.1
10.10.2
10.10.3
10.10.4
10.10.5
11.5.1
Standard Message Header .................................................................................................. 16
Standard Message Trailer .................................................................................................... 18
Logon (Msg Type = A) ......................................................................................................... 19
Logout (Msg Type = 5) ......................................................................................................... 20
Heartbeat (Msg Type = 0) .................................................................................................... 21
Test Request (Msg Type = 1) .............................................................................................. 22
Resend Request (Msg Type = 2) ......................................................................................... 23
Sequence Reset (Msg Type = 4) ......................................................................................... 24
Reject (Msg Type = 3) .......................................................................................................... 25
Network Counterparty System Status Request (Msg Type = BC) ....................................... 36
Network Counterparty System Status Response (Msg Type = BD) .................................... 37
User Request (Msg Type = BE) ........................................................................................... 38
User Response (Msg Type = BF) ........................................................................................ 39
Business Message Reject (MsgType = j) ............................................................................ 40
Trading Session Status Request (Msg Type = g) ................................................................ 56
Trading Session Status (Msg Type = h) .............................................................................. 57
Security List Request (Msg Type = x) .................................................................................. 58
Security List (Msg Type = y) ................................................................................................ 59
Security Status Request (MsgType = e) .............................................................................. 62
Security Status (MsgType = f).............................................................................................. 63
Market Data Request (Msg Type = V) ................................................................................. 65
Market Data Request Reject (Msg Type = Y) ...................................................................... 67
Market Data Snapshot Full Refresh (Msg Type = W) .......................................................... 68
Quote Request (Msg Type = R) ........................................................................................... 73
Quote Request Reject (Msg Type = AG) ............................................................................. 74
Indication of Interest (Msg Type = 6) ................................................................................... 75
New Order - Single (Msg Type = D) .................................................................................... 97
Order Cancel Request (Msg Type = F) ................................................................................ 99
Order Modification Request (Msg Type = G) ..................................................................... 100
Execution Report (Msg Type = 8) ...................................................................................... 103
Order Cancel Reject (Msg Type = 9) ................................................................................. 107
Order Status Request (Msg Type = H) .............................................................................. 108
Order Mass Cancel Request (Msg Type = q) .................................................................... 109
Order Mass Cancel Report (Msg Type = r) ........................................................................ 111
Order Mass Status Request (Msg Type = AF) ................................................................... 112
Quote (Msg Type = S) ........................................................................................................ 128
Quote Cancel (Msg Type = Z)............................................................................................ 129
Quote Status Request (Msg Type = a) .............................................................................. 130
Quote Status Report (Msg Type = AI) ............................................................................... 131
Trade Capture Report Request (Msg Type = AD) ............................................................. 153
Trade Capture Report Request Ack (Msg Type = AQ) ...................................................... 154
Trade Capture Report (Msg Type = AE) enviado a MEFFGate ........................................ 155
Trade Capture Report (Msg Type = AE) enviado por MEFFGate ..................................... 158
Trade Capture Report Ack (Msg Type = AR) ..................................................................... 161
News (Msg Type = B) ........................................................................................................ 165
viii
MEFFGate Negociación - Especificaciones de la Interfaz FIX
1. Introducción
1. Introducción
1.1 Ámbito de este manual
Este documento contiene la definición de la interfaz ofrecida por MEFF para el desarrollo de
aplicaciones relacionadas con el ámbito de negociación. Dicha interfaz está basada en el estándar
FIX Protocol (Financial Information eXchange), en su versión 4.4. Para una información detallada del
estándar, consúltese el documento de referencia 1 (ver 1.5) o la página www.fixprotocol.org.
La interfaz sigue, tanto como es posible, las especificaciones de FIX 4.4. En la mayoría de los casos
la estructura y semántica de los mensajes es idéntica al estándar.
En algunos casos se han realizado extensiones del protocolo, por ejemplo para cubrir funcionalidades
que no han sido consideraras por el estándar. Dichas extensiones están claramente detalladas en el
documento.
En otros casos el estándar es ambiguo, o indica que los detalles deben ser acordados mutuamente
entre las partes. Es estos casos el manual contiene una descripción detallada que elimina las
posibles ambigüedades.
Todas las acotaciones y adaptaciones del estándar se han llevado a cabo siguiendo las
recomendaciones especificadas por el propio estándar.
Para evitar posibles duplicidades como fuente de información, este documento no incluye
explicaciones de aquellos aspectos que cumplen exactamente con el estándar. Para cualquier tema
que no esté explícitamente detallado en este manual, debe considerarse la documentación del
estándar como fuente de información.
El propósito de este documento es servir de base para los Miembros e ISVs que deseen desarrollar
software que se comunique con el mercado mediante la interfaz FIX del servidor MEFFGate.
30 de julio de 2012
© MEFF 2012
1
MEFFGate Negociación - Especificaciones de la Interfaz FIX
1. Introducción
1.2 Información pública e información privada
Las funcionalidades cubiertas por MEFFGate se agrupan en información pública e información
privada.
En la siguiente tabla se presentan las funciones públicas y los mensajes relacionados:
Función pública
Mensajes relacionados
Obtención del estado de sesión
Trading Session Status
Trading Session Status Request
Obtención de información de contratos
Security List Request
Security List
Security Status Request
Security Status
Obtención de información de precios
Market Data Request
Market Data Request Reject
Market Data – Snapshot / Full Refresh
Obtención de información acerca de las peticiones de interés
Indication of Interest (bloque Parties sin informar)
En la siguiente tabla se presentan las funciones privadas y los mensajes relacionados:
Función Privada
Mensajes relacionados
Gestión de órdenes
New Order – Single
Order Cancel Request
Order Modification Request
Execution Report
Order Cancel Reject
Order Status Request
Order Mass Cancel Request
Order Mass Cancel Report
Order Mass Status Request
Gestión de quotes
Quote
Quote Status Report
Execution Report
Quote Cancel
Quote Status Request
Execution Report
Aplicaciones
Trade Capture Report Request
Trade Capture Report Request Ack
Trade Capture Report
Trade Capture Report Ack
Execution Report
Envío de mensajes al supervisor de mercado y recepción
de mensajes del mismo
30 de julio de 2012
News
© MEFF 2012
2
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Request for Quote
1. Introducción
Quote Request
Quote Request Reject
Indication of Interest (bloque Parties informado)
1.3 Organización del manual
El presente manual está organizado en dos partes diferenciadas. En la primera parte, formada por los
primeros cuatro capítulos, se describen aspectos genéricos de esta interfaz.
Éste, el primer capítulo, describe el ámbito del documento, presenta la estructura del mismo e
introduce los documentos relacionados.
En el capítulo 2 “Decisiones de Implementación”, se presentan aquellas acotaciones o restricciones
derivadas de la implementación del protocolo que define este manual.
El capítulo 3 “Sesión FIX” describe aquellos aspectos relacionados con el nivel de sesión, incluyendo
la descripción detallada de los mensajes correspondientes.
El capítulo 4 “Convenciones generales en los mensajes de aplicación” describe con detalle aspectos
concretos que afectan a la mayoría de mensajes descritos en este manual.
Dado su contenido genérico, que afecta a todos los mensajes, se recomienda una lectura previa de
los capítulos 2, 3 y 4 antes de pasar al resto de capítulos.
La segunda parte del manual, formada por el resto de capítulos, describe las diferentes
funcionalidades soportadas por MEFFGate. En cada uno de estos capítulos se trata una funcionalidad
concreta, describiendo aquellos aspectos particulares que son de interés.
En cada uno de estos capítulos están presentes, entre otros, los siguientes apartados:
Introducción. Presenta una breve descripción de la funcionalidad abordada en el capítulo
Lista de mensajes. Relaciona los diferentes mensajes que implementan la funcionalidad
tratada en el capítulo
Flujo de mensajes. Describe los diferentes escenarios de intercambio de mensajes que se
pueden dar. Incluye los correspondientes diagramas de flujo de mensajes
Acotaciones y adaptaciones de FIX 4.4. Detalla las acotaciones y adaptaciones del
protocolo estándar realizadas por MEFF para adaptarlo a sus requerimientos
Definición de mensajes. Contiene una tabla para cada mensaje del capítulo, que describe
de forma detallada los campos que lo conforman
Finalmente, y a modo de apéndices, se presentan dos diferentes tablas de valores, referenciadas a lo
largo del documento.
30 de julio de 2012
© MEFF 2012
3
MEFFGate Negociación - Especificaciones de la Interfaz FIX
1. Introducción
1.4 Formato de las tablas de definición de mensajes
Tal y como se explica en el apartado anterior, en los capítulos en que sea necesario se incluye una
tabla por cada mensaje, que describe de forma detallada los campos que lo conforman.
Estas tablas contienen un campo por fila y presentan las siguientes columnas:
Columna
Significado
Tag
Número de campo. Los campos añadidos al mensaje en esta implementación presentan
un asterisco (“*”) a continuación de este número
Nombre
Nombre del campo según el estándar FIX
Req
“S” indica que el campo es requerido, “N” significa que el campo es opcional. “S*”
significa que el campo es requerido en esta implementación, pero opcional en el estándar
FIX 4.4
Valores válidos
Valores válidos del campo en el contexto del mensaje. Puede ser una lista de valores, o
un rango de valores numéricos, p.ej. “>=3, <= 10”. En esta columna también se indica el
valor por defecto del campo.
Para evitar confusiones con los términos, en los valores asociados a códigos se ha
respetado la descripción del valor original de FIX, y por tanto no se ha traducido
Formato
Tipo de dato del campo. Es uno de los tipos definidos por FIX, o uno de estos tipos con
alguna restricción adicional. String(n) es un tipo String con un máximo de n caracteres, o
en algunos casos con exactamente n caracteres. Para más información sobre el tipo
String consúltese 2.4
Descripción
Descripción del campo en el contexto del mensaje
1.5 Documentos relacionados
#
Título
Autor
Versión
1
Financial Information Exchange Protocol (FIX) 4.4 with errata 20030618
FIX Committee
18 junio 2003
2
Financial Information Exchange Protocol (FIX) 5.0 candidate release
FIX Committee
Octubre 2006
3
HF MEFFGate – Especificaciones de la interfaz FIX T3.3
MEFF
30 julio 2012
4
HF MEFFGate – Especificaciones de la interfaz FIX M3.3
MEFF
30 julio 2012
5
HF MEFFGate – Especificaciones de la interfaz FIX M3.0
MEFF
27 septiembre 2010
6
HF MEFFGate – Especificaciones de la interfaz FIX M2.0
MEFF
30 julio 2010
7
MEFFGate Negociación – Especificaciones de la interfaz FIX T1.1
MEFF
10 enero 2012
8
MEFFGate Negociación – Especificaciones de la interfaz FIX T1.0
MEFF
24 septiembre 2009
9
MEFFGate Liquidación – Especificaciones de la interfaz FIX C1.3
MEFF
27 septiembre 2010
10
MEFFGate Liquidación – Especificaciones de la interfaz FIX C1.2
MEFF
24 septiembre 2009
11
MEFFGate Liquidación – Especificaciones de la interfaz FIX C1.1
MEFF
24 septiembre 2009
30 de julio de 2012
© MEFF 2012
4
MEFFGate Negociación - Especificaciones de la Interfaz FIX
2. Decisiones de Implementación
2. Decisiones de Implementación
2.1 Descripción
En este capítulo se presentan las decisiones de implementación tomadas por MEFF. Aquí se detallan
aquellos aspectos que el estándar deja abiertos y que han sido definidos en esta implementación.
2.2 Campos ignorados
En algunos casos, el contenido de ciertos campos de los mensajes de entrada puede ser ignorado
por MEFFGate. Cuando éste es el caso, está claramente explicitado en la descripción del campo.
2.3 Campos no soportados
Los campos que no están soportados en un mensaje no se han incluido en la descripción del mismo.
Los mensajes enviados a MEFFGate no deben contener campos no soportados. Los mensajes
enviados por MEFFGate nunca contienen campos no soportados.
Ningún campo requerido ha sido declarado no soportado.
2.4 Longitud del tipo String
El estándar FIX no impone ninguna restricción de longitud máxima sobre el tipo String. En esta
implementación la longitud máxima es de 255 caracteres.
En algunos campos se ha fijado una longitud máxima inferior a este valor. En estos casos el tipo se
presenta como String(n), donde “n” es el número máximo de caracteres del campo. En ciertos casos
“n” indica la longitud exacta del campo, en dicho caso será explícitamente mencionado en la columna
de valores válidos.
2.5 Máxima longitud de mensaje
La longitud máxima de los mensajes enviados o recibidos por MEFFGate es de 4096 bytes.
2.6 Encriptación
MEFFGate no usa la encriptación que define el estándar FIX (mediante los campos SecureData and
SecureDataLen de la cabecera del mensaje). La encriptación está implementada mediante el uso de
SSL (Secure Socket Layer).
2.7 Identificación del protocolo MEFFGate FIX
MEFFGate implementa una funcionalidad adicional que permite que ambas partes se pongan de
acuerdo en la versión de MEFFGate FIX que van a usar.
No debe confundirse la versión del protocolo FIX (en este caso “4.4”), con la versión del protocolo
MEFFGate FIX (“T1.2” en esta edición).
Podrá existir más de una versión del protocolo MEFFGate FIX dentro de una misma versión de FIX.
Asimismo, podrá darse que una versión del protocolo MEFFGate FIX sea conforme con más de una
versión del protocolo FIX.
En la configuración de usuarios MEFFGate se puede indicar cuál es la versión del protocolo
MEFFGate FIX que proporcionará MEFFGate por defecto. El cliente también puede indicar en el
campo ProprietaryFixProtocolVersion, del mensaje Logon, la versión del protocolo MEFFGate FIX
que desea usar. Este campo es una adición de y se ha implementado como opcional.
Si la versión solicitada por el cliente no está disponible en el servidor MEFFGate en uso, éste
responde con un mensaje Logout con el correspondiente mensaje explicativo.
30 de julio de 2012
© MEFF 2012
5
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3. Sesión FIX
3.1 Introducción
El nivel de sesión FIX garantiza la entrega de mensajes, entre ambas partes, de forma completa y sin
errores. MEFFGate implementa la mayoría de las funcionalidades del nivel de sesión definidas en el
estándar FIX 4.4.
3.2 Sesión FIX y sesión de comunicación
Tal y como se explica en el estándar, existen dos tipos de sesión:
Sesión de comunicación. Se inicia cuando una petición de inicio de sesión (mensaje Logon)
es aceptada. Termina cuando finaliza la comunicación, preferiblemente con el intercambio de
mensajes Logout
Sesión FIX. Está compuesta por un conjunto de mensajes bidireccionales identificados por
una secuencia de números consecutivos. Una sesión FIX se inicia cuando la secuencia de
números de ambas partes se reinicia con el valor 1. No existe una forma explícita de finalizar
una sesión FIX; una sesión se acaba cuando se inicia una nueva. Una sesión FIX puede
abarcar más de una sesión de comunicación
Además de los dos tipos de sesión enumerados, debe considerarse el concepto de sesión de
Mercado. Una sesión de Mercado empieza cada día en el momento en que el servidor MEFFGate,
siguiendo el procedimiento definido por MEFF, carga de nuevo los datos del mercado y acepta
conexiones para dicha sesión de Mercado.
El cliente debe iniciar una nueva sesión FIX en la primera conexión de la sesión de Mercado.
Dado que MEFFGate no soporta el servicio 24 horas, el campo ResetSeqNumFlag no es necesario
en el mensaje Logon.
3.3 Identificación de la sesión FIX
Una vez se ha establecido una sesión de comunicación, MEFFGate identifica la sesión FIX asociada
a partir de cuatro campos del mensaje de Logon enviado por el iniciador:
SenderCompID
SenderSubID
TargetCompID
TargetSubID
SenderCompID identifica al miembro y SenderSubID identifica al operador. TargetCompID junto con
TargetSubID identifican al mercado.
No puede existir más de una sesión FIX concurrente con los mismos valores en estos cuatro campos.
Los campos SenderCompID, SenderSubID, TargetCompID y TargetSubID están presentes en todos
los mensajes FIX. Todos los mensajes pertenecientes a una misma sesión FIX deben mantener los
mismos valores en estos campos. Si se recibe un mensaje cuyos valores no se corresponden con los
de la sesión, será rechazado con un mensaje Reject.
30 de julio de 2012
© MEFF 2012
6
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
Hay que tener en cuenta que los valores de estos campos se invierten, respecto a los enviados por el
cliente, cuando el mensaje es enviado por MEFFGate. Supongamos que el operador “001”
perteneciente al miembro “A001” tiene establecida una sesión con el grupo de contratos financiero de
MEFF. Los valores serán los que se muestran a continuación:
Mensaje del cliente a MEFFGate:
Mensaje de MEFFGate al cliente:
o
SenderCompID = “A001”
o
SenderCompID = “MEFF”
o
SenderSubID = “001”
o
SenderSubID = “M3”
o
TargetCompID = “MEFF”
o
TargetCompID = “A001”
o
TargetSubID = “M3”
o
TargetSubID = “001”
*
3.4 Software cliente y sesiones FIX
Un cliente de MEFFGate es un desarrollo software que se conecta a MEFF mediante el servidor
MEFFGate.
Tal y como se vio en 3.3, una sesión FIX queda limitada a un operador y una plataforma. Un cliente
podrá establecer varias sesiones FIX simultáneas, para acceder a más de una plataforma u operar en
una plataforma con varios códigos de operador.
Un servidor MEFFGate puede dar servicio a varias sesiones simultáneamente, ya sean de un mismo
cliente o de varios.
Cuando un cliente FIX intenta conectar con una plataforma que no está disponible, su mensaje de
Logon es contestado con un mensaje Logout con la explicación pertinente.
3.5 Enrutamiento de mensajes de distintos usuarios a través de una
misma sesión FIX (conexión multilogon)
MEFFGate permite establecer, a través de una misma sesión FIX, el enrutamiento de mensajes de
distintos usuarios que tienen los correspondientes privilegios. Esto es una conexión multilogon.
Para ello se utilizan, en los mensajes aplicativos, los siguientes campos del Standard Message
Header: OnBehalfOfCompID [115], OnBehalfOfSubID [116], DeliverToCompID [128] y
DeliverToSubID [129].
Hay que tener en cuenta en cuenta que los campos OnBehalfOfCompID [115] y OnBehalfOfSubID
[116] los utiliza la aplicación cliente en los envíos de los mensajes aplicativos a MEFFGate. En
cambio los valores DeliverToCompID [128] y DeliverToSubID [129] los utiliza MEFFGate en los
envíos de los mensajes aplicativos a la aplicación cliente.
Mensaje aplicativo a MEFFGate:
Mensaje aplicativo al cliente:
o
OnBehalfOfCompID = “B001”
o
DeliverToCompID = “B001”
o
OnBehalfOfSubID = “351”
o
DeliverToSubID = “351”
*
Para más detalle sobre los códigos de mercado, véase Tabla 17 en documento “Tablas de
Codificación”
30 de julio de 2012
© MEFF 2012
7
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.6 Sincronización de la sesión FIX
Al iniciar una sesión de comunicación (envío de mensaje Logon), el cliente puede optar por iniciar una
nueva sesión FIX o continuar con una sesión previa de la misma sesión de mercado. A continuación
se describe el procedimiento a seguir en cada caso.
Inicio de nueva sesión FIX. Para iniciar una nueva sesión FIX se deberá usar el número 1
en el campo MsgSeqNum del mensaje Logon.
Continuación de sesión FIX previa. Para continuar una sesión FIX previa se deberá usar en
el campo MsgSeqNum el número consecutivo al usado en el último mensaje de la sesión que
se va a continuar.
Téngase en cuenta que al iniciar una nueva sesión FIX, la sesión iniciada sustituye a la anterior y por
tanto esta última no podrá ser continuada posteriormente.
Una aplicación cliente sólo puede continuar con una sesión FIX previa si se conecta al mismo
servidor MEFFGate. En caso de que deba conectarse a otro servidor MEFFGate sólo podrá iniciar
una nueva sesión FIX.
Cuando se envía un mensaje Logon con MsgSeqNum diferente de 1, el número enviado puede no
coincidir con el número que MEFFGate estaba esperando para esa sesión (MEFFGate espera el
número consecutivo al número del último mensaje recibido de dicha sesión). A continuación se
presentan las diferentes situaciones que se pueden dar respecto al número de secuencia del mensaje
Logon y el mensaje esperado por MEFFGate.
MsgSeqNum igual al número esperado por MEFFGate. No hay discrepancia y MEFFGate
acepta la conexión.
MsgSeqNum inferior al número esperado por MEFFGate. MEFFGate rechaza la conexión
con un mensaje Logout con número de secuencia igual a 1. En este caso la conexión no
puede ser aceptada ya que el número de secuencia usado en el mensaje Logon ya fue usado
previamente por otro mensaje de la misma sesión.
MsgSeqNum superior al número esperado por MEFFGate. MEFFGate acepta la conexión,
y solicita el envío de los mensajes que faltan entre el número de secuencia que el estaba
esperado y el número usado por el cliente. La solicitud de envío de dichos mensajes se
realizará con uno de los siguientes mecanismos:
o
Mensaje Logon con NextExpectedMsgSeqNum. Este método se usará siempre y
cuando el cliente haya usado el campo NextExpectedMsgSeqNum en su mensaje
Logon
o
Mensaje Resend Request. En el caso que el cliente no haya usado el campo
NextExpectedMsgSeqNum (mensaje Logon), el servidor tampoco hará uso de él. En
este caso el servidor, después del mensaje de Logon de respuesta, notificará al
cliente el error de secuencia mediante el mensaje Resend Request
Cuando se continúa con una sesión FIX es aconsejable usar el campo NextExpectedMsgSeqNum
(mensaje Logon), indicando el número de mensaje esperado, para facilitar la sincronización entre
ambas partes. De esta forma el servidor puede detectar si el cliente dejó de recibir alguno de los
mensajes, y proceder a su reenvío. Cuando no se especifica este valor, el servidor continúa el envío
de mensajes a partir del último número de secuencia enviado.
MEFFGate usa el campo NextExpectedMsgSeqNum en el mensaje Logon de contestación, siempre y
cuando el cliente lo haya usado en su mensaje de inicio.
MEFFGate sólo usa el mensaje Resend Request tal y como se ha descrito anteriormente, es decir,
inmediatamente después de una petición de Logon. En cualquier otro caso, cuando se produzca
discrepancia entre el número de secuencia esperado y el recibido, MEFFGate asume que existe
algún problema grave y finaliza la conexión con el envío de un mensaje Logout.
30 de julio de 2012
© MEFF 2012
8
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
Cuando MEFFGate solicita al cliente un número de secuencia inferior al que éste proponía, queda a
decisión del cliente repetir los mismos mensajes que envió con los números de secuencia que faltan,
enviar uno o más GapFills, o simplemente darles un nuevo uso. En cualquier caso el cliente debe
tener en cuenta que los mensajes serán procesados por MEFFGate en el momento de su recepción
como cualquier otro mensaje. Se recomienda implementar controles para no enviar órdenes que
podían haber quedado obsoletas durante el periodo que duró la desconexión.
Al igual que MEFFGate, el cliente sólo puede hacer uso del mensaje Resend Request en el caso de
detectar que el mensaje Logon que le ha enviado el servidor está fuera de secuencia y no contiene el
campo NextExpectedMsgSeqNum. Si MEFFGate recibe un mensaje Resend Request en cualquier
otro momento será considerado como un error y procederá a finalizar la conexión.
Independientemente de si fue solicitada mediante el mensaje Resend Request o con el campo
NextExpectedMsgSeqNum del mensaje Logon, la repetición de mensajes por parte del servidor está
limitada a los mensajes pertenecientes a la Sesión de Mercado en curso. El servidor repite todos los
mensajes solicitados, excepto los de información pública y los que no se correspondan con la última
situación de cada quote. Dado el volumen que puede representar la información pública y la referente
a la historia de cada quote, ésta no es repetible y será sustituida por mensajes GapFill. El cliente
debe usar las funcionalidades de consulta disponibles para ponerse al día de esta información.
Consúltese el apartado 3.7 para más información al respecto.
n+1  Logon
m
+
m 5
+
m 6
+
7
···
n
+
n 4
+
5
+
2
n
1
···
+
4 5
+
3
n
2
n
1
n
m
3
1
5 6 7 8
+
2 3 4
m
1
m
+
m 2
+
m 3
+
4
A) Se continua la sesión FIX sin petición de
repetición de mensajes
NextExpectedMsgSeqNum=m+1
+
3
1
+
m
+
m 2
+
m 3
+
4
m
m
m 50
m 49
m 48
m 17
-1
m 6
m 2
-1
m
n+1  Logon
···
n
n
2
···
+
4 5
n
3
1
2
n
1
+
5 6 7 8
m
m 2
-1
m
2 3 4
m
1
-5
0
B) Se continua la sesión FIX con petición de
mensajes
NextExpectedMsgSeqNum=m-50
Mensaje del servidor al cliente
Mensaje del cliente al servidor
Mensaje SequenceReset-GapFill enviado del servidor al
cliente para saltar los mensajes públicos (no repetibles)
- Escenarios de continuación de una sesión FIX -
Cuando un inicio de sesión de comunicaciones es rechazado, el servidor responde con un mensaje
Logout. La aplicación cliente debe tener en cuenta que este mensaje Logout puede venir con número
de secuencia 1, o con el número de secuencia correspondiente a su última comunicación. El número
de secuencia usado por el cliente en su mensaje Logon no es tenido en cuenta por MEFFGate y por
tanto no altera el número de secuencia esperado en próximas comunicaciones.
30 de julio de 2012
© MEFF 2012
9
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.7 Sincronización a nivel de aplicación
Cuando un cliente inicia una sesión de comunicación (mensaje Logon aceptado), recibe un conjunto
de información relacionada con la Sesión de Mercado actual. El conjunto de información a recibir
depende de si se trata del inicio de una nueva sesión o una reconexión a una sesión FIX existente.
Inicio de una sesión FIX. El cliente recibe todos los mensajes privados, no asociados a
suscripciones, correspondientes a toda la sesión de mercado en curso. El total o parte de
estos mensajes podrían haber sido recibidos previamente en una sesión FIX anterior.
Reconexión a una sesión FIX existente. El cliente recibe todos los mensajes privados, no
asociados a suscripciones, correspondientes a la sesión de mercado en curso y que no haya
recibido anteriormente. En este caso MEFFGate asegura que no se produce ninguna
duplicidad de mensaje (excepto cuando es solicitada explícitamente).
Los mensajes que provienen de una solicitud explicita de repetición (solicitada con un mensaje
Resend Request o un mensaje Logon con NextExpectedMsgSeqNum inferior al último mensaje
recibido) contendrán el valor “Y” en el campo PossDupFlag indicando dicha situación. Este caso no
aplica cuando se trata de una nueva sesión FIX (inicio de la sesión con número de secuencia 1).
En ambos casos, tanto la información privada asociada a suscripciones, como la información pública,
puede ser solicitada mediante los mensajes que implementan las funcionalidades correspondientes.
Debe tenerse en cuenta que cualquier suscripción a información es cancelada al finalizarse la sesión
de comunicación. Si al reconectar una sesión FIX se desea este servicio, debe volver a solicitarse.
El conjunto de mensajes privados no asociados a suscripciones que se menciona en este apartado se
corresponde con los siguientes mensajes:
Execution Report con ExecType con valores New (“0”), Replace (“5”), Cancelled (“4”),
Trade (“F”) y Trade Cancel (“H”)
Execution Report con ExecType con valor Rejected (“8”) que informan del rechazo de una
aplicación por parte de los sistemas centrales de MEFF
News
Quote Status Report correspondiente a la última situación de cada quote
3.8 Alta disponibilidad
Para mejorar la disponibilidad de acceso a MEFF se dispondrá de varias instancias del servidor
MEFFGate ejecutándose en equipos diferentes en las instalaciones del miembro.
Todas las instancias de MEFFGate estarán conectadas con los sistemas centrales de MEFF. Por
tanto, dispondrán de toda la información necesaria.
Cuando falla el servidor MEFFGate al que se halla conectado un cliente, el cliente puede continuar
trabajando con otro MEFFGate. En este caso, el cliente debe iniciar una nueva sesión FIX
(empezando por el número de secuencia 1), ya que el estado de las sesiones no se replica entre los
diferentes servidores MEFFGate. El cliente debe realizar los procesos necesarios para sincronizarse
a nivel de aplicación (ver 3.6).
Cuando falla una aplicación cliente que tenía establecida una sesión FIX, la aplicación cliente puede
reiniciarse en otro equipo que continúe la misma sesión (usando el mismo servidor MEFFGate). En
este caso, es responsabilidad del cliente recuperar el estado de la aplicación fallida. Si no fuese
posible recuperar este estado, lo más recomendable es iniciar una nueva sesión FIX, si bien es
posible mantener la sesión actual y consultar a nivel de aplicación todos los datos necesarios para
reconstruir el estado.
30 de julio de 2012
© MEFF 2012
10
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.9 Campo PossResend
La implementación FIX de MEFF no permite el uso del campo PossResend (ver 2.3 para más
información sobre campos no soportados).
3.10 Recepción de información de todos los operadores del miembro
Cuando un miembro lo solicite, un código de operador puede actuar como operador privilegiado, de
forma que recibe los mensajes relacionados con órdenes, destinados a todos los operadores del
miembro.
Los mensajes afectados por este mecanismo son el mensaje Execution Report que contiene los
siguientes valores en el campo ExecType: New (“0”), Cancelled (“4”), Replace (“5”), Trade (“F”) y
Trade Cancel (“H”) y el mensaje Quote Status Report.
Los mensajes enviados por MEFFGate a este operador, contienen la misma información que los
mensajes originales, exceptuando los campos TargetCompID y TargetCompSubID. Cuando sea
necesario, la información contenida en el bloque Parties permite identificar al operador destinatario
del mensaje original.
3.11 Recepción de información de actuaciones realizadas en nombre del
propio operador
En la plataforma tecnológica de MEFF es posible que se realicen actuaciones en nombre de un
operador. Esto puede ser realizado, por ejemplo, desde un MEFFStation Multi-Trader del miembro o
por el pool de operadores de MEFF.
En estos casos, el cliente FIX en nombre del cual se ha actuado recibe los mensajes
correspondientes a dicha operativa. Por ello, las aplicaciones clientes deben estar preparadas para
recibir mensajería originada a partir de actuaciones de terceros en su nombre.
Téngase en cuenta que, en este caso, el número de mensajes recibidos por la aplicación cliente
puede ser inferior a los que hubiera recibido en caso de haber sido ella la que enviase el mensaje
equivalente. Los mensajes que no se reciben son aquellos mensajes que se generan directamente
desde MEFFGate para notificar la recepción del mensaje y el envío del mismo a los sistemas
centrales.
Cuando sea necesario, la información contenida en el bloque Parties permite identificar al miembro y
operador que realizó la actuación (véase el apartado 4.3).
3.12 Mensajes administrativos que el cliente FIX debe gestionar
El cliente FIX debe ser capaz de gestionar todos los mensajes administrativos tal y como se
describen en este capítulo, incluyendo el mensaje Resend Request. Es decisión del cliente el
responder a éste mediante el reenvío de mensajes o simplemente enviando un GapFill (mensaje
Sequence Reset).
3.13 Lista de mensajes
La funcionalidad de nivel de sesión se implementa en FIX 4.4 mediante siete mensajes
administrativos. Todos ellos están completamente soportados por el protocolo FIX de MEFFGate.
30 de julio de 2012
© MEFF 2012
11
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Mensaje
3. Sesión FIX
Descripción
Solicitud o confirmación del inicio de una sesión de
comunicación
Logon (Msg Type = A)
Solicitud o confirmación de la finalización de una sesión
de comunicación
Logout (Msg Type = 5)
Notificación periódica de que la conexión permanece viva
Heartbeat (Msg Type = 0)
Solicitud de envío de un mensaje Heartbeat para
confirmar que la conexión permanece viva
Test Request (Msg Type = 1)
Solicitud de reenvío de mensajes que no han sido
recibidos
Resend Request (Msg Type = 2)
Rellenar un hueco de mensajes restableciendo un
número de secuencia superior
Sequence Reset (Msg Type = 4)
Rechazo de mensaje a nivel de sesión
Reject (Msg Type = 3)
3.14 Flujo de mensajes
Inicio de sesión de comunicación e inicio de sesión FIX
Una petición de inicio de sesión de comunicación (mensaje Logon) aceptada, es contestada
por el receptor con otro mensaje Logon. El iniciador no debe enviar ningún otro mensaje hasta
que haya recibido esta confirmación de aceptación.
MEFFGate Client
MEFFGate Server
Logon (“A”)
MsgSeqNum [34] = 1
Logon (“A”)
MsgSeqNum [34] = 1
30 de julio de 2012
© MEFF 2012
12
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
Inicio de sesión de comunicación y continuación de sesión FIX
Una petición de inicio de sesión de comunicación (mensaje Logon) aceptada, es contestada
por el receptor con otro mensaje Logon. El iniciador no debe enviar ningún otro mensaje hasta
que haya recibido esta confirmación de aceptación.
MEFFGate Client
MEFFGate Server
Logon (“A”)
MsgSeqNum [34] = m
NextExpectedMsgSeqNum [789] = n
Logon (“A”)
MsgSeqNum [34] = n
NextExpectedMsgSeqNum [789] = m+1
Inicio de sesión de comunicación rechazado
Cuando un inicio de sesión de comunicación (mensaje Logon) no es aceptado, MEFFGate
contestará con un mensaje Logout.
Para más detalle sobre el comportamiento de los números de secuencia de ambas partes
consultar el apartado 3.6.
MEFFGate Client
MEFFGate Server
Logon (“A”)
Logout (“5”)
Finalización de la sesión de comunicación iniciada por el emisor
El cliente puede, en cualquier momento, finalizar la sesión de comunicación mediante el envío
de un mensaje Logout.
MEFFGate Client
MEFFGate Server
Logout (“5”)
Logout (“5”)
30 de julio de 2012
© MEFF 2012
13
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
Finalización de la sesión de comunicación iniciada por el receptor
En situaciones excepcionales el servidor puede terminal la sesión de comunicación mediante
un mensaje Logout.
MEFFGate Client
MEFFGate Server
Logout (“5”)
Logout (“5”)
Envío de mensaje con los campos de identificación de sesión (SenderCompID,
SenderSubID, TargetCompID y TargetSubID) con valores diferentes a los asociados a la
sesión FIX actual
Todos los mensajes asociados a una sesión FIX deben incluir los mismos valores
identificadores de sesión (SenderCompID, SenderSubID, TargetCompID y TargetSubID). Si un
mensaje difiere con los valores indicados en el Logon de la sesión, es rechazado mediante con
Reject.
MEFFGate Client
MEFFGate Server
Any message with wrong ID
Reject (“3”)
SessionRejectReason [373] = 9 (CompID problem)
30 de julio de 2012
© MEFF 2012
14
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.15 Acotaciones y adaptaciones de FIX 4.4
Se ha añadido el campo opcional ProprietaryFixProtocolVersion al mensaje Logon para
identificar la versión del protocolo particular de MEFF
Se ha añadido el campo opcional FixEngineName al mensaje Logon. Contiene un texto
descriptivo de la aplicación software
Cuando una petición de inicio de sesión (mensaje Logon) es rechazada, el receptor (MEFF)
siempre enviará un mensaje Logout como contestación
Los campos SenderSubID [50] y TargetSubID [57] en la cabecera de los mensajes (Standard
Message Header) dejan de ser opcionales y pasan a ser requeridos
El campo PossResend no está soportado
No se soporta el método de encriptación de FIX
MEFFGate sólo acepta el mensaje ResendRequest después del mensaje Logon
Los valores válidos del campo ResetSeqNumFlag del mensaje Logon quedan limitados al
valor “N”
30 de julio de 2012
© MEFF 2012
15
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.16 Definición de mensajes
3.16.1 Standard Message Header
Cabecera que contienen todos los mensajes FIX.
Tag
8
Nombre
BeginString
Req
S
9
BodyLength
S
35
MsgType
S
49
SenderCompID
S
String
56
TargetCompID
S
String
115
OnBehalfOfCompID
N
String
128
DeliverToCompID
N
String
34
MsgSeqNum
S
SeqNum
50
SenderSubID
S*
57
TargetSubID
S*
116
OnBehalfOfSubID
N
30 de julio de 2012
Valores válidos
FIX.4.4
Formato
String
Int
Todos los tipos
de mensajes
soportados por
MEFF
Para más detalle
sobre los
códigos de
grupo de
contratos, véase
Tabla 17 en
documento
“Tablas de
Codificación”
Para más detalle
sobre los
códigos de
grupo de
contratos, véase
Tabla 17 en
documento
“Tablas de
Codificación”
String
String
Descripción
Indica el inicio de un nuevo mensaje.
Contiene la versión del protocolo
FIX. Siempre es el primer campo del
mensaje
Longitud del mensaje en bytes,
desde la finalización de este campo
hasta, e incluyendo, el delimitador
previo al campo CheckSum.
Siempre es el segundo campo del
mensaje
Identifica el tipo de mensaje.
Siempre es el tercer campo del
mensaje
Identificador de la entidad que envía
el mensaje.
Contiene “MEFF” cuando el mensaje
es enviado por MEFFGate. Debe
contener el código del miembro en
los mensajes enviados por la
aplicación cliente
Identificador de la entidad a la que
va destinado el mensaje.
Debe contener “MEFF” cuando el
mensaje es enviado a MEFFGate.
Contiene el código del miembro en
los mensajes enviados por
MEFFGate
Usado por el cliente cuando se
envían mensajes a través de otro
usuario que tiene los
correspondientes privilegios
Usado por MEFFGate cuando se
reciben mensajes a través de otro
usuario que tiene los
correspondientes privilegios
Número de secuencia del mensaje
dentro de la sesión FIX actual
En los mensajes enviados por
MEFFGate contiene el código
asignado al Grupo de contratos con
el que se estableció la conexión.
En mensajes enviados a MEFFGate
debe contener el código de operador
con el que se inició la sesión FIX
String
En los mensajes enviados por
MEFFGate contiene el código de
operador al que va destinado.
En mensajes enviados a MEFFGate
debe contener el código de Grupo
de contratos con el que se
estableció la conexión
String
Usado por el cliente cuando se
© MEFF 2012
16
MEFFGate Negociación - Especificaciones de la Interfaz FIX
129
DeliverToSubID
N
43
PossDupFlag
N
52
SendingTime
S
122
OrigSendingTime
N
30 de julio de 2012
3. Sesión FIX
String
N = Envío del
mensaje original
(valor por
defecto)
Y = Posible
duplicado
Boolean
UTC
Timestamp
UTC
Timestamp
© MEFF 2012
envían mensajes a través de otro
usuario que tiene los
correspondientes privilegios
Usado por MEFFGate cuando se
reciben mensajes a través de otro
usuario que tiene los
correspondientes privilegios
Indica si se trata de la primera vez,
dentro de una sesión FIX, que se
envía un mensaje (“N”) o si se está
enviado de nuevo el mismo mensaje
(“Y”), ya sea por una petición
explicita de la otra parte o por la
duda de la recepción del mensaje
original
Hora de envío del mensaje
Hora en que se envió el mensaje
original. Requerido en un reenvío.
Un mensaje es considerado un
reenvío si el campo PossDupFlag =
“Y” y el campo MsgType no es “4”
(Sequence Reset)
17
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.16.2 Standard Message Trailer
Parte final de todos los mensajes FIX.
Tag
10
Nombre
CheckSum
30 de julio de 2012
Req
S
Valores válidos
© MEFF 2012
Formato
String(3)
Descripción
Checksum del mensaje, calculado
según lo descrito en el estándar.
Siempre es el último campo del
mensaje y su longitud es
exactamente de 3 bytes
18
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.16.3 Logon (Msg Type = A)
El mensaje Logon es usado para iniciar una sesión por el cliente y para aceptarla por el servidor.
Tag
Req
S
S
S
Valores válidos
MsgType = A
0 = None
>= 5
Formato
Descripción
98
108
Nombre
Standard Header
EncryptMethod
HeartBtInt
Int
Int
141
ResetSeqNumFlag
N
N
Boolean
789
NextExpectedMsgSe
qNum
TestMessageIndicato
r
N
553
Username
N
String
554
Password
N
String
5680*
ProprietaryFixProtoco
lVersion
N
5679*
FixEngineName
N
Ignorado por MEFFGate
Intervalo de envío de mensajes de
verificación de conexión (mensaje
Heartbeat) expresado en segundos.
Sólo permite el valor “N”, ya que en la
implementación del protocolo no es
necesario
Indica el siguiente número de secuencia
(MsgSeqNum) que se espera recibir
Indica cuando se trata de una sesión de
pruebas o de producción.
El cliente puede usarlo opcionalmente
para indicar si desea conectarse a
producción o a pruebas. El inicio de
sesión se acepta si MEFFGate atiende
ese entorno.
Si el cliente no indica nada, no se tiene
en cuenta este parámetro y MEFFGate
siempre informa este campo.
Identificador de usuario asignado por
MEFF. Requerido cuando el mensaje es
enviado por la aplicación cliente.
Actualmente está formado por la
combinación de código de miembro y
de operador asignados por MEFF
Password asignado por el usuario.
Requerido cuando el mensaje es
enviado por la aplicación cliente
Identificación exacta de la versión del
protocolo usado y esperado por el
cliente.
MEFFGate siempre cumplimenta este
campo, independientemente de si la
aplicación cliente lo informó o no.
Campo opcional, donde el cliente puede
incluir la denominación del software
usado para la conexión FIX. Sólo usado
a modo informativo.
MEFFGate nunca envía este campo
Standard Trailer
S
464
30 de julio de 2012
N
SeqNum
Y = Test
N = Producción
T1.2
Boolean
String
String
© MEFF 2012
19
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.16.4 Logout (Msg Type = 5)
El mensaje Logout es usado por ambas partes tanto para solicitar o notificar la finalización de la
sesión de comunicación como para aceptar dicha solicitud.
Tag
58
Nombre
Standard Header
Text
Standard Trailer
30 de julio de 2012
Req
S
N
S
Valores válidos
MsgType = 5
© MEFF 2012
Formato
Descripción
String
Texto explicativo
20
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.16.5 Heartbeat (Msg Type = 0)
El mensaje Heartbeat es usado por ambas partes para indicar que la conexión se mantiene activa.
Tag
112
Nombre
Standard Header
TestReqID
Req
S
N
Standard Trailer
S
30 de julio de 2012
Valores válidos
MsgType = 0
© MEFF 2012
Formato
Descripción
String
Si el mensaje es la respuesta a un
mensaje Test Request, debe
contener el mismo valor que
contenía el campo TestReqID
original.
En cualquier otro caso, este campo
debe omitirse.
21
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.16.6 Test Request (Msg Type = 1)
El mensaje Test Request es usado por ambas partes para solicitar el envío de un mensaje Heartbeat.
Tag
112
Nombre
Standard Header
TestReqID
Req
S
S
Standard Trailer
S
30 de julio de 2012
Valores válidos
MsgType = 1
© MEFF 2012
Formato
Descripción
String
Identificador de la petición. Debe
ser incluido en el mensaje
Hearbeat de respuesta
22
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.16.7 Resend Request (Msg Type = 2)
El mensaje Resend Request puede ser usado por ambas partes para solicitar el reenvío de mensajes
que no se han recibido.
MEFFGate sólo hace uso de esta funcionalidad después de un mensaje Logon. En cualquier otro
caso la recepción de un mensaje fuera de secuencia es considerado un error grave y se cierra la
conexión.
MEFFGate sólo acepta el envío de este tipo de mensaje inmediatamente después de un mensaje
Logon en el que no se haya especificado el campo NextExpectedMsgSeqNum.
Tag
Req
S
S
Valores válidos
MsgType = 2
Número de
secuencia válido
Formato
Descripción
7
Nombre
Standard Header
BeginSeqNo
Int
16
EndSeqNo
S
0 = Infinito
Número de
secuencia válido
Int
Número de secuencia del primer
mensaje del rango de mensajes del
que se solicita el reenvío. Debe
contener un valor inferior al último
número de secuencia recibido
Número de secuencia del último
mensaje del rango de mensajes del
que se solicita el reenvío.
Debe contener un valor inferior al
último número de secuencia
recibido.
Si la petición es únicamente de un
mensaje EndSeqNo = BeginSeqNo
Si la petición es de todos los
mensajes a partir de uno dado
EndSeqNo = 0
Standard Trailer
S
30 de julio de 2012
© MEFF 2012
23
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.16.8 Sequence Reset (Msg Type = 4)
El mensaje Sequence Reset es usado por ambas partes para rellenar un hueco en los mensajes que
se están enviando, mediante la reasignación del número de secuencia (ver 3.6). El estándar FIX
permite otros usos de este mensaje que no están soportados por MEFF (nótese que el campo
GapFillFlag se ha hecho requerido y siempre debe contener el valor “Y”).
Tag
Nombre
Standard Header
Req
S
Valores válidos
MsgType = 4
Formato
123
GapFillFlag
S*
Y = Indica que el
mensaje es para
rellenar un hueco
Boolean
36
NewSeqNo
S
Standard Trailer
S
30 de julio de 2012
Int
© MEFF 2012
Descripción
Téngase presente que
PossDupFlag debe contener el
valor “Y”
Para más información consultar la
documento de especificaciones de
FIX 4.4
Número de secuencia del mensaje
que se enviará a continuación
24
MEFFGate Negociación - Especificaciones de la Interfaz FIX
3. Sesión FIX
3.16.9 Reject (Msg Type = 3)
El mensaje Reject es usado por MEFFGate para rechazar un mensaje que no cumpla el protocolo FIX
especificado por MEFF.
Tag
Nombre
Standard Header
RefSeqNum
Req
S
S
Valores válidos
MsgType = 3
373
SessionRejectRe
ason
N
0 Invalid tag number
1 Required tag missing
2 Tag not defined for this
message type
3 Undefined Tag
4 Tag specified without a value
5 Value is incorrect (out of
range) for this tag
6 Incorrect data format for
value
9 CompID problem
11 Invalid MsgType
13 Tag appears more than
once
14 Tag specified out of
required order
15 Repeating group fields out
of order
16 Incorrect NumInGroup count
for repeating group
17 Non "data" value includes
field delimiter (SOH character)
99 Other
58
Text
N
Standard Trailer
S
45
30 de julio de 2012
Formato
Descripción
SeqNum
Número de secuencia del
mensaje rechazado
Código que indica el motivo de
rechazo
Int
String
© MEFF 2012
Contiene una descripción más
específica de la razón de
rechazo
25
MEFFGate Negociación - Especificaciones de la Interfaz FIX
4. Convenciones generales en los mensajes de
aplicación
4. Convenciones generales en los mensajes de aplicación
4.1 Identificación de órdenes
4.1.1 ClOrdID
Cualquier mensaje relacionado con una orden (entrada, cancelación, modificación) enviado por el
cliente, debe contener un identificador único en el campo ClOrdID. Tal y como indica el estándar, la
unicidad de estos identificadores debe ser mantenida durante la sesión de negociación.
Una vez el mensaje es aceptado por MEFFGate, el cliente recibe el correspondiente mensaje de
confirmación con el mismo código ClOrdID precedido de un prefijo. MEFF implementa este
mecanismo para asegurar la identificación unívoca de las órdenes, independientemente de su emisor.
El valor con el prefijo pasa a ser el identificador de la orden a partir de ese momento. El cliente puede
identificar la orden indistintamente con cualquiera de los dos valores de ClOrdID.
La única excepción a lo dicho anteriormente se da en la cancelación masiva de órdenes, donde todas
las órdenes canceladas por este tipo de actuación quedan identificadas por el mismo ClOrdID. Para
más información al respecto consúltese el apartado 0.
El campo ClOrdID asignado por el cliente debe ser de diez caracteres de longitud como máximo.
MEFFGate también acepta que los mensajes enviados por el cliente usen un ClOrdID de longitud 30,
en este caso sólo las 10 últimas posiciones pueden ser fijadas libremente, ya que las 20 primeras
deben coincidir con el formato que se presenta a continuación.
El ClOrdID enviado por el cliente tiene el formato AAMMDDMmmmTttOoooSssNnnnnnnnnn, formado
con la siguiente codificación:
AAMMDD. Es la fecha de la sesión de negociación
MmmmTtt. Contiene los códigos de miembro y operador de los campos SenderCompID y
SenderSubID de la cabecera del mensaje original
OoooSss. Contiene los códigos de miembro y operador que se indiquen en el bloque Parties
bajo el rol de Originating Firm y Originating Trader (ver 4.3)
Nnnnnnnnnn. Es el valor asignado por el cliente a ClOrdID en el mensaje original
4.1.2 OrderID
El campo OrderID es un identificador de orden, único por miembro y operador, asignado por el
servidor MEFFGate.
Este identificador se mantiene asociado a la orden, aún cuando ésta sea modificada.
Este campo puede ser necesario para identificar la orden en comunicaciones con el Mercado por
otras vías.
4.1.3 SecondaryOrderID
El campo SecondaryOrderID es un identificador de orden asignado por el sistema central de
negociación. El periodo en que se garantiza la unicidad de este campo viene determinada por cada
sistema central de negociación.
4.1.4 SecondaryExecID
El campo SecondaryExecID informa del número de historia de la orden. Cada vez que cambia la
situación de la orden el libro de órdenes del sistema central (modificación, cancelación, ejecución) se
asigna un nuevo valor a este campo.
30 de julio de 2012
© MEFF 2012
26
4. Convenciones generales en los mensajes de
aplicación
MEFFGate Negociación - Especificaciones de la Interfaz FIX
En el Sistema de negociación de MEFF, cualquier estado de una orden concreta puede ser
identificada por la combinación de los campos SecondaryOrderID [198] + SecondaryExecID [527].
4.2 Identificación de operaciones
4.2.1 ExecID
El campo ExecID no es un identificador de operaciones. Es un identificador asignado a cada mensaje
Execution Report, sin duplicados durante toda la sesión FIX.
4.2.2 TrdMatchID
El campo TrdMatchID contiene el número de registro de negociación. Este es el código asignado por
el sistema central de negociación a la operación resultado de la negociación o aplicación referenciada
en el mensaje. El periodo en que se garantiza la unicidad de este campo viene determinada por cada
sistema central de negociación.
4.3 Bloque Parties
El bloque Parties (o el bloque NestedParties) es usado en varios mensajes de aplicación para
identificar a las partes que intervienen en la transacción.
En la definición detallada de los mensajes que contienen este bloque, se incorpora el bloque tal y
como se muestra a continuación. La lista de valores posibles está restringida según las
características particulares del mensaje.
Tag
453

448

447

452
Nombre
Start <Parties>
NoPartyIDs
PartyID
Req
N
N
PartyIDSource
N
PartyRole
N
Valores válidos
Formato
NumInGroup
String
D = Proprietary/
Custom code
Char
Int
Descripción
Código de miembro u operador
asignado por MEFF
Indica la codificación seguida en
el campo PartyID. Siempre se
usa codificación propia de MEFF
Indica el rol que toma la parte
referenciada en el campo
PartyID
End <Parties>
30 de julio de 2012
© MEFF 2012
27
MEFFGate Negociación - Especificaciones de la Interfaz FIX
4. Convenciones generales en los mensajes de
aplicación
En los mensajes de este manual se usan varios roles. La interpretación del campo PartyID depende
del valor PartyRole tal y como se explica a continuación:
1 (Executing Firm).
o
Envío. No está permitido especificar este valor en el envío de mensajes.
o
Recepción. Cuando se especifica este valor, el campo PartyID se corresponde con
el código de miembro al que pertenece el operador que envió el mensaje original
(actuando en su propio nombre o en el de otro).
3 ( Give-out internal reference)
Cuando se especifica este valor, el campo PartyID se corresponde con la referencia
asignada por el Miembro Origen para uso interno y que se asocia al mnemotécnico
de Give-out. Una misma referencia interna puede estar asociada a más de un
mnemotécnico. Puede no estar informada.
7 (Entering Firm)
o
Envío. Cuando se especifica este valor, el campo PartyID se corresponde con el
código de miembro que actúa como broker o intermediario en una aplicación. El uso
de este valor sólo está permitido en el mensaje Trade Capture Report. Sólo permite
especificar el código de miembro propio.
o
Recepción. Cuando se especifica este valor, el campo PartyID se corresponde con
el código de miembro que actúa como broker o intermediario en una aplicación.
MEFFGate omite el uso de este campo cuando el valor es el código de miembro del
receptor.
11 (Order Origination Trader).
o
Envío. Por norma general no es necesario el uso de este campo en el envío de
mensajes. Cuando se especifica este valor, el campo PartyID se corresponde con el
código del operador en nombre del cual se está actuando. Sólo permite especificar el
código de operador propio. La excepción es el mensaje Trade Capture Report, usado
para la entrada de aplicaciones, donde permite indicar el operador que se asocia a
las patas de la aplicación.
o
Recepción. Cuando se especifica este valor, el campo PartyID se corresponde con
el código de operador relacionado con la orden asociada. MEFFGate omite el uso de
este campo cuando el valor es el código de operador del receptor.
12 (Executing Trader)
o
Envío. No está permitido especificar este valor en el envío de mensajes.
o
Recepción. Cuando se especifica este valor, el campo PartyID se corresponde con
el código de operador que envió el mensaje original (actuando en su propio nombre
o en el de otro).
13 (Order Origination Firm)
o
Envío. Por norma general no es necesario el uso de este campo en el envío de
mensajes. Cuando se especifica este valor, el campo PartyID se corresponde con el
código de miembro negociador en nombre del cual se está actuando. Sólo permite
especificar el código de miembro propio. La excepción es el mensaje Trade Capture
Report, usado para la entrada de aplicaciones, donde permite indicar el miembro al
que pertenece la cuenta.
o
Recepción. Cuando se especifica este valor, el campo PartyID se corresponde con
el código del miembro al que pertenece la operativa de la que se está tratando.
30 de julio de 2012
© MEFF 2012
28
4. Convenciones generales en los mensajes de
aplicación
MEFFGate Negociación - Especificaciones de la Interfaz FIX
14 (Give-up Clearing Firm)
Cuando se especifica este valor, el campo PartyID se corresponde con el Miembro
Destino del Give-up.
24 ( Give-up Reference)
Cuando se especifica este valor, el campo PartyID se corresponde con la referencia
del Give-up.
33 ( Give-up mnemonic)
Cuando se especifica este valor, el campo PartyID corresponde al mnemotécnico de
Give-out.
36 (Entering Trader).
o
Envío. Cuando se especifica este valor, el campo PartyID se corresponde con el
código de operador que actúa como broker o intermediario en una aplicación. El uso
de este valor sólo está permitido en el mensaje Trade Capture Report. Sólo permite
especificar el código de operador propio.
o
Recepción. Cuando se especifica este valor, el campo PartyID se corresponde con
el código de miembro que actúa como broker o intermediario en una aplicación.
MEFFGate omite el uso de este campo cuando el valor es el código de operador del
receptor.
A continuación se presente un diagrama de flujos donde se ejemplifica el uso del bloque Parties en
una actuación por parte de Supervisión de MEFF sobre una orden del operador 301 del miembro
AAAA. En este mismo ejemplo se ha considerado que el operador 305 está configurado como
operador privilegiado por lo que también recibe información de la operativa del operador 301 (véase
3.10 para más información sobre el operador privilegiado).
Operador
privilegiado
Operador
Pool de MEFF
miembro=AAAA
operador=305
miembro=AAAA
operador=301
miembro=PPPP
operador=001
Sistemas
MEFF
Entrada de nueva orden
en nombre del operador 301 del miembro AAAA
Execution Report - New
(Executing Firm = PPPP ; Executing Trader = 001)
Execution Report - New
(Executing Firm = PPPP ;
Executing Trader = 001;
Order Origination Trader = 301)
30 de julio de 2012
© MEFF 2012
29
4. Convenciones generales en los mensajes de
aplicación
MEFFGate Negociación - Especificaciones de la Interfaz FIX
A continuación se presenta un diagrama de flujos con un ejemplo de uso del bloque Parties en la
entrada por parte de Supervisión de MEFF de una aplicación. En dicha aplicación el operador 310 del
miembro BBBB actúa como intermediario y como una de las partes, mientras que el operador 301 del
miembro AAAA actúa como la otra parte. En este mismo ejemplo se ha considerado que el operador
305 del miembro AAAA está configurado como operador privilegiado por lo que también recibe
información de la operativa del operador 301 del mismo miembro (véase 3.10 para más información
sobre el operador privilegiado).
Operador
privilegiado
miembro=AAAA
operador=305
Operador
miembro=AAAA
operador=301
Intermediario
Pool de MEFF
miembro=BBBB
operador=310
miembro=PPPP
operador=001
Sistemas
MEFF
Entrada de una aplicación en nombre del intermediario BBBB-310
y con partes BBBB-310 y AAAA-301
Execution Report - New
(Executing Firm = PPPP ; Executing Trader = 001)
Execution Report - New
(Executing Firm = PPPP ; Executing Trader = 001;
Order Origination Firm = AAAA ; Order Origination Trader = 301)
Execution Report - Trade
(Executing Firm = PPPP ; Executing Trader = 001)
Execution Report - Trade
(Executing Firm = PPPP ; Executing Trader = 001;
Order Origination Firm = AAAA ; Order Origination Trader = 301)
Execution Report - Trade
(Executing Firm = PPPP ; Executing Trader = 001;
Entering Firm = BBBB ; Entering Trader = 310)
Execution Report - Trade
(Executing Firm = PPPP ; Executing Trader = 001;
Entering Firm = BBBB ; Entering Trader = 310 ;
Order Origination Trader = 301)
4.4 Symbol y SecurityID
El significado de los campos Symbol y SecurityID de los bloques Instrument, UnderlyingInstrument y
InstrumentLeg, varía dependiendo de cómo haya sido configurado el usuario asociado al cliente FIX.
Las dos posibles configuraciones son:
Tipo de Configuración
Significado de Symbol
Significado de SecurityID
Por contrato
Código de contrato MEFF
Activo subyacente del contrato (véase
Tabla 21 en documento “Tablas de
Codificación”)
Por activo
Activo subyacente del contrato (véase
Tabla 21 en documento “Tablas de
Código de contrato MEFF
Codificación”)
30 de julio de 2012
© MEFF 2012
30
4. Convenciones generales en los mensajes de
aplicación
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Hay que tener presente que todos los apartados y mensajes descritos en este manual se refieren al
tipo de configuración “Por contrato”.
4.5 Bloque Instrument
En algunas peticiones, el cliente FIX puede especificar criterios de selección de contratos. En estos
casos, sólo se devuelve la información relacionada con los contratos que cumplen estos criterios. Los
posibles criterios de selección se corresponden con campos del bloque Instrument.
En la siguiente tabla se indican cuáles son los campos aceptados por MEFF y el tipo de petición en
que pueden intervenir.
Petición de información de contratos
Petición de información de precios
Campo
Significado
CFICode
Codificación de instrumentos
financieros según el estándar ISO
10962
X
X
SecurityID
Activo Subyacente del contrato MEFF
X
X
MaturityMonthYear
Vencimiento del contrato
X
X
Symbol
Código de contrato MEFF
-
X
En los siguientes subapartados se explica detalladamente el uso de estos campos.
4.5.1 CFICode
El campo CFICode es el menos selectivo de los criterios. Representa un tipo de contratos, por
ejemplo todos los futuros, o todas las opciones. Los valores permitidos para el campo CFICode están
basados en el estándar ISO 10962. El carácter “X” actúa como comodín. Ejemplos de aplicación del
campo CFICode como criterio de selección se presentan en la siguiente tabla.Téngase en cuenta que
los valores deben ser de exactamente 6 caracteres.
CFICode
Significado
XXXXXX
Todos los contratos soportados por MEFF
FFXXSX
Todos los futuros
FFSPSX
Todos los futuros con entrega física
FFSCSX
Todos los futuros con liquidación por diferencias
OXXXXS
Todas las opciones
OCXXXS
Todas las opciones call
OPXXXS
Todas las opciones put
XMXXXX
Todos los contratos time-spread (MultiLeg)
30 de julio de 2012
© MEFF 2012
31
MEFFGate Negociación - Especificaciones de la Interfaz FIX
4. Convenciones generales en los mensajes de
aplicación
La lista de valores usados por MEFF se halla en la Tabla 16 del documento “Tablas de Codificación”.
Para más información sobre el mensaje SecurityList consulte el capítulo 6 Información de Mercado.
4.5.2 Activo subyacente (campo SecurityID)
Este código identifica el activo subyacente de un contrato (véase Tabla 21 en documento “Tablas de
Codificación”).
4.5.3 Vencimiento (campo MaturityMonthYear)
Para los contratos con vencimientos estándar, indica el mes y año de vencimiento de un contrato. En
este caso, el formato para este campo es YYYYMM (p.ej. 200812).
Para los contratos con vencimientos no estándar, indica la fecha de vencimiento de un contrato. En
este caso, el formato para este campo es YYYYMMDD (p.ej. 20081219).
Para contratos con vencimiento semanal estándar, el formato posible de este campo es YYYYMMwW
(p.ej. 200312w3)
4.5.4 Código de contrato (campo Symbol) o usando la combinación SecurityID
+ CFICode + MaturityDate + ContractMultiplier + StrikePrice
Éste es el más selectivo de los criterios, ya que refiere a un contrato específico. El sistema permite un
código de hasta 22 caracteres. Cuando no se desee especificar un contrato concreto y usar el resto
de criterios, este campo debe cumplimentarse con el valor “[N/A]”, tal y como se indica en las
especificaciones del estándar FIX.
Para identificar un contrato no estándar (flexible) que aún no existe en el Sistema, se debe usar la
siguiente combinación en la funcionalidad de aplicaciones: SecurityID [48] + CFICode[461] +
MaturityDate [541] + ContractMultiplier [231] + StrikePrice [202], con Symbol [55] = [N/A]. En este
caso MEFFGate FIX asignará un código siguiendo los criterios establecidos y cumplimentará estos
campos en todos los mensajes asociados (Trade Capture Report y Trade Capture Report Ack). Para
el resto de situaciones se identifica el contrato de la misma forma que siempre, utilizando el campo
Symbol [55].
4.5.5 Combinación de criterios de selección
Cuando se combinan varios criterios de selección, sólo se consideran seleccionados los contratos
que cumplen todos los requerimientos. Cuando no se especifica un campo de selección se entiende
que no se desea usar este criterio y ningún contrato es descartado por el mismo.
30 de julio de 2012
© MEFF 2012
32
4. Convenciones generales en los mensajes de
aplicación
MEFFGate Negociación - Especificaciones de la Interfaz FIX
En la siguiente tabla se presentan algunos ejemplos de selección para el grupo de contratos
financiero de MEFF.
CFICode
SecurityID
MaturityMonthYear
Symbol
Significado
FFXXSX
FIE
(omitido)
[N/A]
Todos los futuros sobre el índice IBEX
FFSPXX
BBVA
(omitido)
[N/A]
Todos los futuros sobre BBVA con entrega
física
(omitido)
FIE
200703
[N/A]
Todos los contratos con el índice IBEX
como subyacente, con vencimiento marzo
de 2007
OCXXXS
(omitido)
200606
[N/A]
Todas las opciones call con vencimiento
junio de 2006
XMXXXX
TEF
(omitido)
[N/A]
Todos los contratos time-spread que
tienen a Telefónica como subyacente
(omitido)
(omitido)
(omitido)
<contrato
específico>
El contrato especificado
(omitido)
(omitido)
(omitido)
[N/A]
Todos los contratos
4.6 Formato de Error (Campo Text)
El campo Text es usado en varios mensajes para incluir la descripción de un error. En esos casos el
formato del campo es:
%MFsXXXXXX-Texto descriptivo
Donde s indica la severidad del error (I: information, W: warning, E: Error), XXXXXX es el código de
error, al cual le sigue un texto explicativo. El texto “%MF” es fijo y significa MEFF FIX.
4.7 Limitación en el máximo número de suscripciones vivas permitidas
El máximo número de suscripciones vivas de cada tipo por cada conexión está limitado a 40. Ello
afecta, por ejemplo, a los mensajes Security Status Request, Market Data Request, …
Si, una vez alcanzado este límite, la aplicación cliente intenta establecer nuevas suscripciones (sin
desuscribir de las existentes) será rechazada con un mensaje de error indicando que se han
alcanzado el máximo número de suscripciones permitidas.
30 de julio de 2012
© MEFF 2012
33
MEFFGate Negociación - Especificaciones de la Interfaz FIX
5. Mensajes Genéricos del Nivel de Aplicación
5. Mensajes Genéricos del Nivel de Aplicación
5.1 Introducción
En este capítulo se presentan algunos mensajes del nivel de aplicación destinados a cubrir tres
funcionalidades: el control del estado de la comunicación, el cambio de password de conexión al
MEFFGate y el rechazo de mensajes por parte de MEFFGate.
5.2 Estado de la comunicación
MEFFGate incluye un mecanismo para informar a la aplicación cliente sobre el estado de la
comunicación entre el propio MEFFGate y los sistemas centrales. Esta funcionalidad se implementa
mediante los mensajes Network Status de FIX.
La solicitud puede ser realizada de forma puntual o usando el método de suscripción.
La información suministrada con estos mensajes sólo refiere a la conexión entre los equipos y no
debe confundirse con el estado de la sesión de negociación, que es tratado en 0.
5.3 Cambio de password de conexión al MEFFGate
Mediante esta funcionalidad se permite que la aplicación cliente puede cambiar su password de
conexión al MEFFGate.
La nueva password es válida para todas las futuras sesiones de comunicaciones que se establezcan.
5.4 Rechazo de mensajes de aplicación
Cuando MEFFGate recibe un mensaje soportado y sintácticamente correcto, en una situación no
soportada, y no existe un mensaje específico de rechazo, se usa el mensaje genérico Business
Message Reject. En particular es usado para el rechazo del mensaje Network Counterparty System
Status Request.
5.5 Lista de mensajes
Mensaje
Descripción
Network Counterparty System Status
Request (Msg Type = BC)
Solicitud del estado de conexión entre MEFFGate y los
sistemas centrales
Network Counterparty System Status
Response (Msg Type = BD)
User Request (Msg Type = BE)
Informe del estado de conexión entre MEFFGate y los
sistemas centrales
Solicitud de cambio de la password de conexión entre la
aplicación cliente y MEFFGate
Informe del estado de la solicitud de cambio de password
User Response (Msg Type = BF)
Business Message Reject (MsgType = j)
30 de julio de 2012
Rechazo de mensaje a nivel de aplicación (usado en
caso de que no exista un mensaje específico)
© MEFF 2012
34
MEFFGate Negociación - Especificaciones de la Interfaz FIX
5. Mensajes Genéricos del Nivel de Aplicación
5.6 Flujo de mensajes
Consulta puntual del estado de la conexión
MEFFGate Client
MEFFGate Server
Network CounterParty System Status Request (“BC”)
NetworkRequestType [935] = 1 (Snapshot)
Network CounterParty System Status Response (“BD”)
Suscripción al estado de la conexión
MEFFGate Client
MEFFGate Server
Network CounterParty System Status Request (“BC”)
NetworkRequestType [935] = 2 (Subscribe)
Network CounterParty System Status Response (“BD”)
...
Cambio de password de conexión al MEFFGate
MEFFGate Client
MEFFGate Server
User Request (“BE”)
User Response (“BF”)
5.7 Acotaciones y adaptaciones de FIX 4.4
En el mensaje User Request, los campos Password [554] y NewPassword [925] han pasado a ser
requeridos.
30 de julio de 2012
© MEFF 2012
35
MEFFGate Negociación - Especificaciones de la Interfaz FIX
5. Mensajes Genéricos del Nivel de Aplicación
5.8 Definición de mensajes
5.8.1 Network Counterparty System Status Request (Msg Type = BC)
Mensaje enviado por la aplicación cliente para solicitar información sobre el estado de conexión entre
MEFFGate y los sistemas centrales de MEFF.
Tag
935
933
Nombre
Standard Header
NetworkRequestType
Req
S
S
NetworkRequestID
Standard Trailer
S
S
30 de julio de 2012
Valores válidos
MsgType = BC
1 = Snapshot
2 = Subscribe
4 = Stop subscribing
Formato
Int
String(10)
© MEFF 2012
Descripción
Identificador del mensaje
36
MEFFGate Negociación - Especificaciones de la Interfaz FIX
5. Mensajes Genéricos del Nivel de Aplicación
5.8.2 Network Counterparty System Status Response (Msg Type = BD)
Mensaje enviado por MEFFGate como respuesta a un mensaje Network Counterparty System Status
Request Message.
Contiene información acerca del estado de la conexión de MEFFGate con los sistemas centrales de
MEFF.
Tag
Req
S
S
933
Nombre
Standard Header
NetworkStatusRespons
eType
NetworkRequestID
S
String
932
NetworkResponseID
S
String
936
NoCompIDs
S
1
930
RefCompID
N
MEFF
931
RefSubID
N
928
StatusValue
N
Para más detalle
sobre los códigos
de grupo de
contratos, véase
Tabla 17 en
documento “Tablas
de Codificación”
1 = Connected
2 = Not connected
– down expected
up
3 = Not connected
– down expected
down
929
StatusText
Standard Trailer
N
S
937
30 de julio de 2012
Valores válidos
MsgType = BD
1 = Full
© MEFF 2012
Formato
Descripción
Int
NumInGr
oup
String
String
Identificador del mensaje
Network Counterparty
System Status Request al
que se está respondiendo
Identificador único del
mensaje
Contiene el mismo valor que
el campo SenderCompID de
la cabecera (véase 3.3)
Este campo siempre está
presente en el mensaje
Contiene el mismo valor que
el campo SenderSubID de la
cabecera (véase 3.3)
Este campo siempre está
presente en el mensaje
Int
Estado de la conexión
Este campo siempre está
presente en el mensaje
String
Información adicional
37
MEFFGate Negociación - Especificaciones de la Interfaz FIX
5. Mensajes Genéricos del Nivel de Aplicación
5.8.3 User Request (Msg Type = BE)
Mensaje enviado por el cliente para modificar su password de conexión al MEFFGate
Tag
Req
S
S
Valores válidos
MsgType = BE
923
Nombre
Standard Header
UserRequestID
924
UserRequestType
S
3 = Change
Password For
User
553
Username
S
String
554
Password
S*
String (10)
Identificador de usuario asignado por
MEFF. Actualmente está formado por
la combinación de código de miembro
y de operador
Password anterior
925
NewPassword
Standard Trailer
S*
S
String (10)
Nueva Password
30 de julio de 2012
Formato
Descripción
String (10)
Identificador único para cada mensaje
User Request
Int
© MEFF 2012
38
MEFFGate Negociación - Especificaciones de la Interfaz FIX
5. Mensajes Genéricos del Nivel de Aplicación
5.8.4 User Response (Msg Type = BF)
Mensaje usado por MEFFGate para indicar el estado de la petición iniciada con un mensaje User
Request.
Este mensaje sólo es enviado al operador que realizó la solicitud relacionada.
Tag
923
Nombre
Standard Header
UserRequestID
Req
S
S
553
926
Username
UserStatus
S
N
927
UserStatusText
N
Standard Trailer
S
30 de julio de 2012
Valores válidos
MsgType = BF
5 = Password
Changed
6 = Other
Formato
Descripción
String
Identificador asignado por el cliente en
el mensaje User Request
Identificador de usuario
Estado de la petición del mensaje User
Request.
En caso de rechazo (valor 6), el
campo UserStatusText contiene un
texto explicativo
Cuando UserStatus = 6, contiene una
descripción específica del motivo de
rechazo
String
Int
String
© MEFF 2012
39
MEFFGate Negociación - Especificaciones de la Interfaz FIX
5. Mensajes Genéricos del Nivel de Aplicación
5.8.5 Business Message Reject (MsgType = j)
Mensaje enviado por MEFFGate cuando recibe un mensaje soportado y sintácticamente correcto en
una situación no soportada, para la que no existe un mensaje de rechazo específico. En particular es
usado para el rechazo del mensaje Network Counterparty System Status Request
Tag
Req
S
S
Valores válidos
MsgType = j
45
Nombre
Standard Header
RefSeqNum
372
RefMsgType
S
.
379
BusinessRejectRefID
N
380
BusinessRejectReason
S
58
Text
Standard Trailer
N
S
30 de julio de 2012
Formato
Descripción
SeqNum
Int
MsgSeqNum del mensaje
rechazado
MsgType del mensaje
rechazado
Identificador opcional del
mensaje rechazado
Motivo de rechazo.
String
Texto explicativo
String
String
0 = Other
3 = Unsupported
Message Type
© MEFF 2012
40
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6. Información de Mercado
6.1 Introducción
Bajo el concepto de información de mercado se agrupan varias funcionalidades relacionadas con la
información pública de mercado. Esta información se clasifica en tres grupos:
Estado de la sesión. Estado de la sesión de negociación
Información de contratos. Definición y estado de los contratos seleccionados
Precios. Precios y peticiones de interés de los contratos seleccionados
Cada uno de estos grupos es tratado en un apartado independiente de este capítulo. En el apartado 0
se detalla el formato de los mensajes correspondientes.
30 de julio de 2012
© MEFF 2012
41
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.2 Información de mercado: Estado de la sesión de negociación
6.2.1 Descripción
Esta funcionalidad permite al cliente obtener el estado de la sesión de negociación para el mercado
asociado a la sesión FIX actual, así como ser notificado de los cambios de estado que se produzcan.
El cliente puede solicitar el estado actual, o solicitar el estado actual más los cambios de estado que
se produzcan. Téngase en cuenta que no existe un método para solicitar las actualizaciones sin
solicitar el estado actual. Esto es fundamental para garantizar la completitud de la información
recibida.
6.2.2 Lista de mensajes
Mensaje
Descripción
Trading Session Status Request (Msg Type = g)
Enviado por el cliente para solicitar el estado de la
sesión de negociación
Trading Session Status (Msg Type = h)
Enviado por el servidor para devolver información del
estado de la sesión o para notificar que la solicitud ha
sido rechazada
6.2.3 Flujo de mensajes
Solicitud del estado de la sesión (sin actualización)
Una solicitud del estado de la sesión, sin actualización, es contestada con un único mensaje
Trading Session Status.
MEFFGate Client
MEFFGate Server
Trading Session Status Request (“g”)
SubscriptionRequestType [263] = 0 (Snapshot)
Trading Session Status (“h”)
Unsolicited Indicator [325] = N
30 de julio de 2012
© MEFF 2012
42
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
Solicitud del estado de la sesión (con actualización)
Una solicitud del estado de la sesión, con actualización, es contestada con un mensaje Trading
Session Status con la situación actual del mercado y un nuevo mensaje cada vez que se
produce un cambio de estado.
Téngase en cuenta que una petición de finalización de la suscripción sólo es contestada por
MEFFGate cuando es rechazada.
Trading Session Status Request (“g”)
SubscriptionRequestType [263] = 1 (Subscribe)
Trading Session Status (“h”)
Unsolicited Indicator [325] = N
Trading Session Status (“h”)
Unsolicited Indicator [325] = Y
...
Trading Session Status Request (“g”)
SubscriptionRequestType [263] = 2 (Unsubscribe)
Solicitud del estado de la sesión fallida
Una solicitud del estado de la sesión fallida es contestada con un mensaje Trading Session
Status con el campo TradeSesStatus = 6.
MEFFGate Client
MEFFGate Server
Trading Session Status Request (“g”)
Trading Session Status (“h”)
TradeSesStatus [340] = 6 (Request Rejected)
6.2.4 Acotaciones y adaptaciones de FIX 4.4
No se han realizado acotaciones ni adaptaciones en los mensajes incluidos en este apartado.
30 de julio de 2012
© MEFF 2012
43
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.3 Información de mercado: Contratos
6.3.1 Descripción
Esta funcionalidad permite obtener la información de los contratos del mercado. Los datos se agrupan
en dos conjuntos:
Definición de contratos. Información estática de definición de los contratos
Estado de contratos. Información dinámica que refleja el estado de los contratos
6.3.2 Solicitud de información de contratos
La solicitud de definición de los contratos se realiza con los mensajes Security List Request y Security
Status Request, tal y como se detalla en la siguiente tabla:
Contratos
Snapshot
Security List Request
SubscriptionRequestType = 0
Contratos
Actualización
X
Status
contratos
Snapshot
Status
Contratos
Actualización
X
Security List Request
SubscriptionRequestType = 0
NewSecuritySubscription = 1
Security List Request
SubscriptionRequestType = 1
X
X
X
X
X
X
X
X
Security List Request
SubscriptionRequestType = 1
NewSecuritySubscription = 1
X
X
Security Status Request
X
SubscriptionRequestType = 0
Security Status Request
X
SubscriptionRequestType = 1
X
A continuación se detalla el significado de cada una de las columnas:
Contratos - Snapshot. Se obtienen uno o más mensajes Security List con la descripción de
los contratos disponibles, que cumplan los criterios de selección indicados en la solicitud
Contratos - Actualización. Se obtiene un mensaje Security List con la información de un
nuevo contrato, cuando éste es dado de alta en el sistema. Sólo se recibe la información de
nuevos contratos que cumplan con los criterios de selección indicados en la solicitud
30 de julio de 2012
© MEFF 2012
44
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
Status Contratos - Snapshot. Se obtiene un mensaje Security Status con la información del
estado de cada contrato que cumpla los criterios de selección indicados en la solicitud
Status Contratos – Actualización. Se obtiene un mensaje Security Status cada vez que se
produce un cambio de estado en un conjunto de contratos que cumple los criterios de
selección indicados en la solicitud. Además, se recibe un mensaje Security Status cuando un
nuevo contrato es dado de alta y cumple con los criterios de selección indicados en la
solicitud
Nótese que el campo NewSecuritySubscription ha sido añadido por MEFF al mensaje Security List
Request para permitir la suscripción a la definición de contratos creados durante la sesión,
típicamente nuevos strikes de opciones y contratos multileg.
Para que la aplicación cliente pueda disponer de la máxima información MEFF recomienda el uso del
mensaje Security List Request con NewSecuritySubscription = 1 y SubscriptionRequestType = 1. De
esta forma se obtiene información sobre todos los cambios que se produzcan, incluyendo la alta de
contratos.
6.3.3 Recepción de la definición de contratos
La información de definición de contratos se recibe mediante el mensaje Security List. Este mensaje
informa de un contrato por mensaje. El campo TotNoRelatedSym informa del total de contratos que
cumplen los criterios de selección y el campo NoRelatedSym informa del número de contratos
contenidos en el mensaje en cuestión.
Cuando se solicita el estado actual más actualizaciones, primero se envían todos los mensajes
asociados al estado actual y una vez finalizado se empieza a enviar las actualizaciones. De esta
forma se asegura que no se producen confusiones con el seguimiento de la lista. Téngase en cuenta
que los mensajes de actualización sólo contienen un contrato por mensaje.
6.3.4 Recepción del estado de contratos
La información del estado de contratos se recibe mediante el mensaje Security Status. Cada mensaje
Security Status puede contener información de una familia de contratos o de uno sólo. La respuesta a
un mensaje Security Status Request a su vez puede estar formada por varios mensajes Security
Status. En este caso, no existe ningún mecanismo para saber cuándo se ha recibido toda la
información. Si es necesario, el cliente FIX debe solicitar primero la lista de contratos mediante un
mensaje Security List Request, para determinar el número de contratos que cumplen un cierto criterio.
Cuando se ha solicitado la actualización de esta información, en el momento en que se produce un
cambio en el estado de un contrato se recibe un nuevo mensaje Security Status con la nueva
información.
Cuando en el mercado se da de alta un nuevo contrato que cumple los criterios de selección
especificados en la solicitud, y la solicitud es de actualización, se recibe un mensaje Security Status
con el estado del contrato, independientemente de si se estaba suscrito a la definición de dicho
contrato. En este caso, las aplicaciones cliente deben estar preparadas para recibir información de
estado de contratos de los cuales no han recibido la definición.
No se recomienda la suscripción a actualización de estado de contratos sin suscribirse también a
actualización de contratos, ya que es frecuente la creación de nuevos contratos durante la sesión.
6.3.5 Finalización de las suscripciones
Para finalizar una suscripción a la definición de contratos, se usa el mensaje Security List Request
con el campo NewSecuritySubscription = 2.
Cuando una suscripción al estado de los contratos ha sido realizada mediante el mensaje Security
List Request, puede ser finalizada con el mismo tipo de mensaje con el campo
SubscriptionRequestType = 2.
30 de julio de 2012
© MEFF 2012
45
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
Cuando un mensaje Security List Request contiene al menos una solicitud de finalización de
suscripción (NewSecuritySubscription = 2 o SubscriptionRequestType = 2), el sistema considera que
se trata de un mensaje exclusivamente de finalización de suscripción, y por tanto no son tenidos en
cuenta otros valores especificados en estos dos campos.
6.3.6 Lista de mensajes
Mensaje
Descripción
Security List Request (Msg Type = x)
Enviado por el cliente para solicitar la definición de contratos.
También permite solicitar la información del estado de los mismos
Security List (Msg Type = y)
Enviado por el servidor para informar de la definición de contratos.
También es usado para informar el rechazo de la solicitud de dicha
información
Enviado por el cliente para solicitar el estado de contratos
Security Status Request (MsgType = e)
Enviado por el servidor para informar del estado de contratos.
También es usado para informar del rechazo de la solicitud de dicha
información, o que no existe ningún contrato que cumpla los
criterios de selección
Security Status (MsgType = f)
6.3.7 Flujo de mensajes
Solicitud de definición de contratos sin actualización
Después de la solicitud de definición de contratos se recibe uno o más mensajes Security List.
Cada uno de estos mensajes indica el total de contratos que cumplen los criterios de selección
en el campo TotNoRelatedSym y el número de contratos contenidos en el mensaje en cuestión
en el campo NoRelatedSym.
MEFFGate Client
MEFFGate Server
Security List Request (“x”)
SubscriptionRequestType [263] = 0 (Snapshot)
Security List (“y”)
...
30 de julio de 2012
Unsolicited Indicator [325] = N
TotalNoRelatedSym [393] = 350
NoRelatedSym [146] = 1
© MEFF 2012
46
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
Solicitud de definición de contratos con actualización
Cuando la solicitud de definición de contratos incluye la actualización de los mismos
(NewSecuritySubscription = 1) además de los mensajes explicados en el caso anterior, cuando
un nuevo contrato es dado de alta en el sistema se recibe un mensaje Security List
conteniendo la información de este contrato.
MEFFGate Client
MEFFGate Server
Security List Request (“x”)
SubscriptionRequestType [263] = 1 (Snapshot + Update)
Security List (“y”)
...
Unsolicited Indicator [325] = N
TotalNoRelatedSym [393] = 350
NoRelatedSym [146] = 1
For every
new contract
Security List (“y”)
Unsolicited Indicator [325] = Y
TotalNoRelatedSym [393] = 1
NoRelatedSym [146] = 1
Symbol [55] =New Symbol
30 de julio de 2012
© MEFF 2012
47
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
Solicitud de definición de contratos con actualización y estado de los contratos con
actualización
Si la solicitud incluye la petición de estado de los contratos se recibe un mensaje Security
Status con dicha información por cada familia de contratos que cumple los criterios de
selección. Si además la solicitud incluye la actualización (SubscriptionRequestType = 1), se
recibe un nuevo mensaje cada vez que se produce un cambio de estado.
MEFFGate Client
MEFFGate Server
Security List Request (“x”)
SubscriptionRequestType [263] = 1 (Snapshot + Update)
NewSecuritySubscription [5682] = 1 (Updates)
Security List (“y”)
Unsolicited Indicator [325] = N
TotalNoRelatedSym [393] = 350
NoRelatedSym [146] = 1
...
Security Status (“f”)
Unsolicited Indicator [325] = N
...
Security List (“y”)
For every new contract
Unsolicited Indicator [325] = Y
TotalNoRelatedSym [393] = 1
NoRelatedSym [146] = 1
Symbol [55] =New Symbol
For every group of contracts
Security Status (“f”)
Unsolicited Indicator [325] = Y
Security List Request (“x”)
SubscriptionRequestType [263] = 2 (Unsubscribe)
Solicitud de estado de contratos sin actualización
Una solicitud de estado de contratos es contestada con un mensaje Security Status para cada
conjunto de contratos que cumple los criterios de selección.
MEFFGate Client
MEFFGate Server
Security Status Request (“e”)
SubscriptionRequestType [263] = 0 (Snapshot)
Security Status (“f”)
Unsolicited Indicator [325] = N
...
One message for every
set of contracts requested
30 de julio de 2012
© MEFF 2012
48
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
Solicitud de estado de contratos con actualización
Una solicitud de estado de contratos con actualización, es contestada inicialmente con un
mensaje Security Status para cada familia de los contratos existentes que cumple los criterios
de selección. A partir de este punto, cuando se produce un cambio de estado en alguno de los
conjuntos de contratos, se recibe un nuevo mensaje Security Status con la información
correspondiente. Estos últimos mensajes contienen el valor “Y” en el campo
UnsolicitedIndicator.
Además, cuando en el sistema se da de alta un nuevo contrato que cumple los criterios de
selección, el servidor envía el correspondiente mensaje Security Status, también con el campo
UnsolicitedIndicator = “Y”.
MEFFGate Client
MEFFGate Server
Security Status Request (“e”)
SubscriptionRequestType [263] = 1 (Snapshot + Updates)
Security Status (“f”)
Unsolicited Indicator [325] = N
...
Security Status (“f”)
Unsolicited Indicator [325] = Y
...
One message for every
status change
Security Status Request (“e”)
SubscriptionRequestType [263] = 2 (Unsubscribe)
Solicitud de definición de contratos, sin contratos que cumplan los criterios de selección
Cuando no existen contratos que cumplan los criterios de selección indicados en una solicitud
de definición de contratos, MEFFGate contesta con un mensaje Security List con el campo
SecurityRequestResult = 2. Téngase en cuenta que en este caso, si la solicitud se realizó con
suscripción, dicha suscripción queda activa y por tanto si se dan de alta contratos que cumplan
los criterios de selección se recibirán los correspondientes mensajes.
MEFFGate Client
MEFFGate Server
Security List Request (“x”)
Security List (“y”)
SecurityRequestResult [560] =
2 (No instruments found that match selection criteria)
30 de julio de 2012
© MEFF 2012
49
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
Solicitud de estado de contratos, sin contratos que cumplan los criterios de selección
Cuando no existen contratos que cumplan los criterios de selección indicados en una solicitud
de estado de contratos, MEFFGate responde con un mensaje SecurityStatus con el campo
SecurityTradingStatus = 19. Téngase en cuenta que en este caso, si la solicitud se realizó con
suscripción, dicha suscripción queda activa y por tanto si se dan de alta contratos que cumplan
los criterios de selección se recibirán los correspondientes mensajes.
MEFFGate Client
MEFFGate Server
Security Status Request (“e”)
Security Status (“f”)
SecurityTradingStatus [326] =
19 (Not Traded on this market)
Solicitud de definición de contratos fallida
Cuando una solicitud de definición de contratos es errónea, es contestada con un mensaje
Security List con el campo SecurityRequestResult = 1.
MEFFGate Client
MEFFGate Server
Security List Request (“x”)
Security List (“y”)
SecurityRequestResult [560] =
1 (Invalid or unsupported request)
Solicitud de estado de contratos fallida
Cuando una solicitud de estado de contratos es errónea, es contestada con un mensaje
Security Status con el campo SecurityTradingStatus = 20.
MEFFGate Client
MEFFGate Server
Security Status Request (“e”)
Security Status (“f”)
SecurityTradingStatus [326] =
20 (Unknown or Invalid)
30 de julio de 2012
© MEFF 2012
50
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.3.8 Acotaciones y adaptaciones de FIX 4.4
Se ha añadido el campo de usuario NewSecuritySubscription (5682) al mensaje Security List
Request, para soportar la funcionalidad de recibir la definición de contrato cuando un nuevo
contrato es dado de alta en el sistema
Se ha añadido el campo UnsolicitedIndicator al mensaje Security List
El máximo número de suscripciones vivas permitidas está limitada (ver capítulo 4.7 para más
información)
En el campo EventType [865] del mensaje Security List se han utilizado códigos de evento
superiores a 100 que deberán interpretarse correctamente por las aplicaciones cliente
30 de julio de 2012
© MEFF 2012
51
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.4 Información de mercado: Precios
6.4.1 Descripción
Esta funcionalidad permite solicitar la información relacionada con los precios de un conjunto de
contratos.
6.4.2 Solicitud de información
La solicitud de información relacionada con precios se realiza mediante el mensaje Market Data
Request.
Se puede seleccionar un conjunto de contratos mediante la combinación de campos del bloque
Instrument tal y como se explica en 4.5. Como se puede ver en la descripción detallada del mensaje
se puede incluir varios bloques Instrument para hacer más de una selección simultánea. Un contrato
se considera seleccionado si cumple alguno de los criterios de selección.
A continuación se relacionan los tipos de información que MEFF ofrece. Un cliente puede solicitar una
combinación de estos tipos en una misma solicitud.
Bid
Offer
Precio de la última operación
Precio de apertura (incluye los precios de subasta)
Precio de cierre
Precio alto de la sesión
Precio bajo de la sesión
Precio VWAP de la sesión
Volumen negociado
Posición abierta al final de la sesión anterior
Precio de cierre de la sesión anterior
Cuando una solicitud incluye Bid o Offer, es posible especificar la profundidad en tres modos:
máxima, mejores precios o una profundidad exacta.
La solicitud puede ser, sólo de la situación actual (snapshot), o incluir las actualizaciones (snapshot +
update). Téngase presente que no es posible solicitar sólo las actualizaciones, sin el snapshot. Esto
es fundamental para garantizar la completitud de la información recibida.
Además de la información aquí relacionada, la solicitud de Bid o Offer implica la recepción de las
peticiones de interés sobre los contratos seleccionados (Consúltese el capítulo 7 para una explicación
detallada al respecto).
6.4.3 Recepción de información
MEFFGate devuelve la información solicitada mediante mensajes Market Data Snapshot Full Refresh.
Siguiendo el estándar FIX, en los mensajes de respuesta de una misma solicitud no se mezclará la
información Bid y Offer con el resto de información.
En una solicitud de snapshot, en el caso de no producirse esta mezcla de información se recibe un
único mensaje por cada contrato seleccionado. En caso que la solicitud combine Bid o Offer y otro
tipo de información, la respuesta consiste en dos mensajes Market Data Snapshot Full Refresh.
30 de julio de 2012
© MEFF 2012
52
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
Si se ha solicitado la actualización de la información, cada vez que se produce un cambio se recibe
un nuevo mensaje Market Data Snapshot Full Refresh. Este mensaje contiene tanto la información
que ha variado como el resto de campos solicitados en la suscripción. En este caso se mantiene la
restricción de no mezclar información Bid o Offer con otros campos.
Téngase en cuenta que cuando no existen precios de Bid o Offer para un contrato, se notifica con un
valor cero en el campo MDEntrySize.
6.4.4 Lista de mensajes
Mensaje
Descripción
Market Data Request (Msg Type = V)
Enviado por el cliente para solicitar información de
precios
Market Data Snapshot Full Refresh (Msg Type = W)
Enviado por el servidor para devolver información de
precios
Market Data Request Reject (Msg Type = Y)
Enviado por el servidor para notificar que una solicitud
Market Data Request ha sido rechazada
6.4.5 Flujo de mensajes
Solicitud de información de precios sin actualización
Una solicitud de información de precios, sin actualización, es contestada por MEFFGate con un
mensaje para cada uno de los contratos. Téngase presente que si se solicita información de
Bid y Offer combinada con otra información, entonces MEFFGate devuelve dos mensajes para
cada contrato, separando estos dos conjuntos de información.
MEFFGate Client
MEFFGate Server
Market Data Request (“V”)
SubscriptionRequestType [263] = 0 (Snapshot)
Market Data - Snapshot / Full refresh (“W”)
(One or two messages for every contract requested)
30 de julio de 2012
© MEFF 2012
53
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
Solicitud de información de precios con actualización
Una solicitud de información de precios, con actualización, inicialmente recibe un conjunto de
mensajes para los contratos seleccionados en el momento de la solicitud. A partir de este punto
se reciben mensajes notificando los cambios que se producen en el mercado.
MEFFGate Client
MEFFGate Server
Market Data Request (“V”)
SubscriptionRequestType [263] = 1 (Snapshot + Updates)
Market Data - Snapshot / Full refresh (“W”)
Snapshot
(One or two messages for every contract requested)
Market Data - Snapshot / Full refresh (“W”)
Updates
...
Market Data Request (“V”)
SubscriptionRequestType [263] = 2 (Unsubscribe)
Téngase en cuenta que una petición de finalización de la suscripción, sólo es contestada en
caso de error.
Solicitud de información de precios errónea
Cuando una solicitud de información de precios es errónea es contestada con un mensaje
Market Data Request Reject.
MEFFGate Client
MEFFGate Server
Market Data Request (“V”)
Market Data Request Reject (“Y”)
30 de julio de 2012
© MEFF 2012
54
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.4.6 Acotaciones y adaptaciones de FIX 4.4
No está soportado el refresco incremental
En el mensaje Market Data Request Reject, se ha ampliado el significado del valor 0 (invalid
symbol) del campo MDReqRejReason para indicar un criterio de selección inválido
El máximo número de suscripciones vivas permitidas está limitada (ver capítulo 4.7 para más
información)
30 de julio de 2012
© MEFF 2012
55
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.5 Definición de mensajes
6.5.1 Trading Session Status Request (Msg Type = g)
Usado por el cliente para solicitar el estado de la sesión de negociación.
Tag
Req
S
S
Valores válidos
MsgType = g
335
Nombre
Standard Header
TradSesReqID
263
SubscriptionRequestType
S
0 = Snapshot
1 = Snapshot +
Updates
2 = Unsubscribe
Standard Trailer
S
30 de julio de 2012
© MEFF 2012
Formato
Descripción
String (10)
Identificador único para cada
mensaje Trading Session Status
Request. Si SubscriptionRequestType = 2 debe contener el
identificador de la solicitud original
Char
56
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.5.2 Trading Session Status (Msg Type = h)
Enviado por el servidor para informar del estado de la sesión de negociación o para rechazar un
mensaje Trading Session Status Request.
Tag
335
Nombre
Standard Header
TradSesReqID
Req
S
N
336
TradingSessionID
S
338
325
TradSesMethod
UnsolicitedIndicator
N
N
340
TradSesStatus
S
Valores válidos
MsgType = h
Formato
Descripción
String
Identificador del mensaje Trading
Session Status Request de
referencia. Este campo siempre
está presente en el mensaje
Texto descriptivo del grupo de
contrato
String
1 = Electronic
N = El mensaje es
parte de un
snapshot
Y = El mensaje es
enviado como
resultado de una
suscripción
1 = Halted
2 = Open
3 = Closed
4 = Pre-Open (Not
started)
6 = Request
Rejected
Int
Boolean
Int
Contiene “Y” cuando el mensaje
es enviado como resultado de
una suscripción
Estado de la sesión.
Contiene el valor 6 (Request
Rejected) cuando el mensaje es
usado para rechazar una
solicitud.
El valor 4 (Pre-Open) indica que
el grupo de contrato aún no está
abierto para negociación. No
debe confundirse este valor con
el periodo de subasta, que en
MEFF es especificado por
contrato. (ver campo 326,
SecurityTradingStatus, del
mensaje Security Status).
58
Text
N
Standard Trailer
S
30 de julio de 2012
String
© MEFF 2012
El valor 3 (Closed) se da a final
de sesión, pero en condiciones
excepcionales se podría volver al
estado 2 (Open).
Explicación del error. Presente si
TradSesStatus = 6
57
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.5.3 Security List Request (Msg Type = x)
Usado por el cliente para solicitar la definición de los contratos y opcionalmente para solicitar el
estado de los mismos.
Tag
Req
S
S
Valores válidos
MsgType = x
320
Nombre
Standard Header
SecurityReqID
559
SecurityListRequestType
S
0 = Symbol
1 = Security type
and/or CFICode
Int
55
Start <Instrument>
Symbol
S
[N/A]
o código de contrato
String(22)
48
SecurityID
N
String
22
SecurityIDSource
N
Para más detalle
sobre los activos
subyacentes, véase
Tabla 21 en
documento “Tablas
de Codificación”
8 = Exchange Symbol
461
CFICode
N
String(6)
200
MaturityMonthYear
N
Longitud exacta.
Consúltese 4.5.1
para una lista de
valores posibles
YYYYMM o
YYYYMMDD o
YYYYMMwW
MonthYear
Vencimiento del contrato
No permitido si
SecurityListRequestType = 0
263
End <Instrument>
SubscriptionRequestType
N
Char
Indica el tipo de solicitud
respecto al estado de los
contratos
NewSecuritySubscription
N
0 = Snapshot (valor
por defecto)
1 = Snapshot +
Updates
2 = Unsubscribe
0 = Snapshot (valor
por defecto)
1 = Updates
(Suscribir)
2 = Unsubscribe
Char
Indica el tipo de solicitud
respecto a la definición de los
contratos
Standard Trailer
S
5682
*
30 de julio de 2012
© MEFF 2012
Formato
Descripción
String (10)
Identificador único para cada
mensaje Security List Request
Si SubscriptionRequestType =
2 o NewSecuritySubscription
= 2, debe contener el valor de
la solicitud original
Criterio de selección usado
String
Código de contrato si
SecurityListRequestType = 0
ó
[N/A] si SecurityListRequestType = 1
Activo subyacente del
contrato
No permitido si
SecurityListRequestType = 0
Requerido si SecurityID está
presente.
No permitido si SecurityListRequestType = 0
Tipo de contrato
No permitido si
SecurityListRequestType = 0
58
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.5.4 Security List (Msg Type = y)
Mensaje enviado por el servidor para informar de la definición de uno o más contratos.
Tag
320
Nombre
Standard Header
SecurityReqID
Req
S
S
322
SecurityResponseID
S
560
SecurityRequestResult
S
325*
UnsolicitedIndicator
N
393
TotNoRelatedSym
893
Valores válidos
MsgType = y
Formato
Descripción
String
Identificador del mensaje
Security List Request al que
se está respondiendo
Identificador único para cada
mensaje Security List
Resultado de la solicitud
identificada por
SecurityReqID.
En caso de rechazo (>0) el
campo 58 Text contiene un
texto explicativo
String
0 = Valid request
1 = Invalid or
unsupported
request
2 = No
instruments found
that match
selection criteria
4 = Instrument
data temporarily
unavailable
5 = Request was
rejected because
the CFICode
specified is not
supported
N = El mensaje es
parte de un
snapshot
Y = El mensaje es
enviado como
resultado de una
suscripción
(nuevo contrato)
Int
Boolean
Contiene “Y” cuando el
mensaje es enviado como
resultado de una suscripción
N
Int
LastFragment
N
Boolean
146
NoRelatedSym
N
Número total de contratos
que cumplen los criterios de
selección de la solicitud. El
número de contratos que
contiene el mensaje se indica en el campo NoRelatedSym. Este campo siempre
está presente cuando
SecurityRequestResult = 0
Indica cuando el mensaje es
el último en una secuencia
de respuesta a una única
solicitud. Este campo
siempre está presente
cuando SecurityRequestResult = 0
Indica el número de
elementos contenidos en
este mensaje.
55
Start <Instrument>
Symbol
S
48
SecurityID
N
30 de julio de 2012
1
NumInGro
up
String(22)
Para más detalle
sobre los activos
subyacentes,
véase Tabla 21 en
documento
© MEFF 2012
String
Código de contrato.
Presente si se ha
especificado NoRelatedSym
y SecurityRequestResult
[560] = 0
Activo subyacente del
contrato
59
MEFFGate Negociación - Especificaciones de la Interfaz FIX
22
SecurityIDSource
N
454
455
456
461
NoSecurityAltID
SecurityAltID
SecurityAltIDSource
CFICode
N
N
N
N
200
MaturityMonthYear
N
541
MaturityDate
N
225
IssueDate
202
“Tablas de
Codificación”
8 = Exchange
Symbol
6. Información de Mercado
String
String
String
String(6)
Código de contrato ISIN
MonthYear
Vencimiento del contrato
Fecha de vencimiento
N
LocalMktD
ate
UTCDate
StrikePrice
N
Price
968
StrikeValue
N
Float
231
ContractMultiplier
N
Float
107
SecurityDesc
N
String
969
MinPriceIncrement
N
Float
864
NoEvents
N
865
EventType
N
NumInGro
up
Int
866
N
711
EventDate
End <Instrument>
NoUnderlyings
311
Start
<UnderlyingInstrument>
UnderlyingSymbol
4 = ISIN number
Longitud exacta.
Consúltese la
Tabla 16 en
documento
“Tablas de
Codificación” para
una lista de los
valores posibles
YYYYMM o
YYYYMMDD o
YYYYMMwW
101 = Último día
de negociación
Tipo de contrato según el
estándar ISO 10962
Fecha de emisión del
contrato
Precio de ejercicio. Sólo
presente en opciones
Para derivados sobre
acciones, número de
acciones equivalentes por
cada contrato
Indica el factor multiplicativo
para convertir unidades de
precio a unidades
monetarias
Descripción del subgrupo de
contrato.
Consúltese la Tabla 20 en
documento “Tablas de
Codificación” para una lista
de los subgrupos
Cantidad mínima permitida
en el cambio de precio. Este
campo siempre está
presente en el mensaje
UTCDate
Último día de negociación
NumInGro
up
Presente si el contrato tiene
como subyacente a otro
contrato
S
String(22)
Símbolo del contrato que
actúa como subyacente
15
End
<UnderlyingInstrument>
Currency
N
Currency
555
NoLegs
N
NumInGro
up
Código de divisa. Expresada
según estándar ISO 4217
Número de contratos que
conforman el contrato. Sólo
presente en contratos timespread

Start <InstrumentLeg>
30 de julio de 2012
N
1
© MEFF 2012
60
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
600
LegSymbol
N
623
LegRatioQty
N
Siempre entero
Float
624
LegSide
N
1 = Buy
2 = Sell
Char
561
End <InstrumentLeg>
RoundLot
N
Qty
562
58
MinTradeVol
Text
N
N
Qty
String
232
Start <Stipulations>
NoStipulations
N
3

233
StipulationType
N
 234
StipulationValue
N
O = Admisión de
órdenes
H = Admisión
aplicación durante
mercado
A = Admisión
aplicación fuera
del horario de
mercado
N, Y
End <Stipulations>
Standard Trailer
S
30 de julio de 2012
String(22)
© MEFF 2012
Código de contrato.
Presente si se ha
especificado NoLegs
Número de contratos
LegSymbol incluidos en un
contrato Symbol
Indica si el contrato
LegSymbol interviene como
compra o venta.
Presente si se ha
especificado NoLegs
Tamaño de lote. Las
órdenes sobre este valor
deben ser múltiplos de esta
cantidad
Mínimo tamaño de la orden
Si SecurityRequestResult
[560] > 0 contiene una
explicación del error
NumInGro
up
String
String
Indica si el contrato admite
órdenes o aplicaciones
61
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.5.5 Security Status Request (MsgType = e)
Usado por el cliente para solicitar el estado de los contratos.
Tag
Req
S
S
Valores válidos
MsgType = e
324
Nombre
Standard Header
SecurityStatusReqID
55
Start <Instrument>
Symbol
S
48
SecurityID
N
22
SecurityIDSource
N
461
CFICode
N
200
MaturityMonthYear
N
263
End <Instrument>
SubscriptionRequestType
S
Standard Trailer
S
30 de julio de 2012
Formato
Descripción
String (10)
Identificador único para cada
mensaje Security Status
Request
Si SubscriptionRequestType
= 2 debe contener el valor de
la solicitud original
[N/A]
o código de
conrato
Para más detalle
sobre los activos
subyacentes,
véase Tabla 21
en documento
“Tablas de
Codificación”
8 = Exchange
Symbol
Longitud exacta.
Consúltese 4.5.1
para una lista de
valores posibles
YYYYMM o
YYYYMMDD o
YYYYMMwW
String(22)
Código de contrato
String
Activo subyacente del
contrato
String
String(6)
Requerido si SecurityID está
presente
Tipo de contrato
Month-Year
Vencimiento del contrato
0 = Snapshot
1 = Snapshot +
Updates
2 = Unsubscribe
Char
© MEFF 2012
62
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.5.6 Security Status (MsgType = f)
Mensaje enviado por el servidor para informar del estado uno o más contratos.
Tag
Req
S
N
Valores válidos
MsgType = f
324
Nombre
Standard Header
SecurityStatusReqID
55
Start <Instrument>
Symbol
S
48
SecurityID
N
22
SecurityIDSource
N
461
CFICode
N
200
MaturityMonthYear
N
Formato
Descripción
String
Identificador del mensaje Security
Status Request al que se está
respondiendo. Este campo
siempre está presente en el
mensaje
Código de
contrato
String(22)
Para más detalle
sobre los activos
subyacentes,
véase Tabla 21
en documento
“Tablas de
Codificación”
8 = Exchange
Symbol
Longitud exacta.
Consúltese la
Tabla 16 en
documento
“Tablas de
Codificación” para
una lista de los
valores posibles
YYYYMM o
YYYYMMDD o
YYYYMMwW
String
Código de contrato.
El valor es [N/A] cuando el
mensaje corresponde a un
conjunto de contratos.
Activo subyacente del contrato.
Si no se especifica significa para
todos los activos subyacentes
String
String(6)
Si no se especifica significa para
todos los tipos de contrato
MonthYear
End <Instrument>
UnsolicitedIndicator
N
N = El mensaje es
parte de un
snapshot
Y = El mensaje es
enviado como
resultado de una
suscripción
Boolean
326
SecurityTradingStatus
N
Int
327
HaltReason
N
17 = Ready to
trade
18 = Not available
for trading
19 = Not Traded
on this Market
20 = Unknown or
Invalid
21 = Pre-Open
P = Suspendido
por regulador
M = Interrumpido
por supervisión
332
HighPx
N
Price
333
LowPx
N
Price
© MEFF 2012
Vencimiento del contrato.
Si no se especifica significa para
todos los vencimientos
325
30 de julio de 2012
Informado si SecurityID está
presente
Tipo de contrato según el
estándar ISO 10962.
Char
Contiene “Y” cuando el mensaje
es enviado como resultado de una
suscripción, y “N” en caso
contrario.
Contiene “N” si SecurityTradingStatus es 19 ó 20.
Este campo siempre está
presente en el mensaje
Informa del estado del contrato.
El valor “21” indica que el contrato
se halla en subasta. No debe
confundirse este valor con el
estado “Pre-Open” del grupo de
contratos, que indica que ningún
contrato es negociable. (Véase el
campo 340, TradSesStatus, del
mensaje Trading Session Status)
Motivo de la suspensión
Precio máximo aceptado para un
contrato. Este valor puede variar
durante una sesión de
negociación
Precio mínimo aceptado para un
contrato. Este valor puede variar
63
MEFFGate Negociación - Especificaciones de la Interfaz FIX
58
Text
N
Standard Trailer
S
30 de julio de 2012
6. Información de Mercado
String
© MEFF 2012
durante una sesión de
negociación
Contiene una explicación del
error. Presente si
SecurityTradingStatus = 19 ó 20
64
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.5.7 Market Data Request (Msg Type = V)
Usado por el cliente para solicitar información de precios.
Tag
Req
S
S
Valores válidos
MsgType = V
262
Nombre
Standard Header
MDReqID
263
SubscriptionRequestType
S
264
MarketDepth
S
265
MDUpdateType
N
0 Snapshot
1 = Snapshot +
Updates
2 = Unsubscribe
0 = Full Book
1 = Top of Book
n = exact depth
(n>1)
0 = Full refresh
267
NoMDEntryTypes
S
MDEntryType
S
NoRelatedSym
Descripción
String (10)
Identificador único para cada
mensaje Market Data Request.
Si SubscriptionRequestType = 2
debe contener el identificador
de la solicitud original
Char
Int
Int
NumInGro
up
Profundidad de precios.
Ignorado si ninguna de las
ocurrencias de MDEntryType es
Bid o Offer
Requerido si
SubscriptionRequestType = 1
Número de campos
MDEntryType que contiene el
mensaje
Tipo de información de mercado
solicitada
Char
S
0 = Bid
1 = Offer
2 = Trade
4 = Opening Price
6 = Settlement
Price
7 = Trading
Session High Price
8 = Trading
SessionLow Price
9 = Trading
session VWAP
price
B = Trade Volume
(total volume for
contract in session)
C = Open Interest
M = Prior Settle
Price
1
NumInGro
up
Número de criterios de
selección
Start <Instrument>
Symbol
S
Código de contrato
String(22)
Código de contrato
SecurityID
N
String
Activo subyacente del contrato
SecurityIDSource
N
String
CFICode
N
Requerido si se ha especificado
SecurityID
Tipo de contrato
MaturityMonthYear
N
Para más detalle
sobre los activos
subyacentes,
véase Tabla 21 en
documento “Tablas
de Codificación”
8 = Exchange
Symbol
Longitud exacta.
Consúltese 4.5.1
para una lista de
valores posibles
YYYYMM o
YYYYMMDD o
YYYYMMwW
269
146
Formato
55
48
22
461
200
String(6)
MonthYear
Vencimiento del contrato
End <Instrument>
30 de julio de 2012
© MEFF 2012
65
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Standard Trailer
30 de julio de 2012
6. Información de Mercado
S
© MEFF 2012
66
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.5.8 Market Data Request Reject (Msg Type = Y)
Usado por MEFFGate para rechazar una solicitud Market Data Request.
Tag
Req
S
S
Valores válidos
MsgType = Y
262
Nombre
Standard Header
MDReqID
281
MDReqRejReason
N
0 = Invalid selection criteria
1 = Duplicate MDReqID
4 = Unsupported
SubscriptionRequestType
5 = Unsupported MarketDepth
6 = Unsupported
MDUpdateType
8 = Unsupported
MDEntryType
58
Text
N
Standard Trailer
S
30 de julio de 2012
Formato
Descripción
String
Identificador de la solicitud
que se está rechazando
Motivo de rechazo. Este
campo siempre está
presente en el mensaje
Char
String
© MEFF 2012
Texto explicativo del motivo
de rechazo
67
MEFFGate Negociación - Especificaciones de la Interfaz FIX
6. Información de Mercado
6.5.9 Market Data Snapshot Full Refresh (Msg Type = W)
Usado por MEFFGate para comunicar la información de precios solicitada con un mensaje Market
Data Request.
Tag
Req
S
S
Valores válidos
MsgType = W
262
Nombre
Standard Header
MDReqID
Formato
Descripción
String
Identificador del mensaje Market
Data Request al que se está
contestando
55
Start <Instrument>
Symbol
S
Código de
contrato
String(22)
Código de contrato
268
269
End <Instrument>
NoMDEntries
MDEntryType
S
S
NumInGroup
Char
Número de entradas que siguen
Tipo de información que contiene
la presente entrada.
Si están presentes los valores 0 o
1, el mensaje no contiene ninguno
de los otros
270
MDEntryPx
N
Price
MDEntrySize
N
Qty
273
MDEntryTime
N
UTCTimeOnly
274
TickDirection
N
Precio. Presente cuando
MDEntryType está en (0,1,2,4,6,
7,8,9,M).
En el caso que no esté presente
cuando MDEntryType=6 ó M debe
entenderse que el precio es 0.
Volumen. Presente cuando
MDEntryType está en (0,1,2,B,C)
Para el valor “C” es el Open
Interest al inicio de la sesión.
Hora de la actualización. Sólo
está presente si MDEntryType es
0,1 ó 2.
En el caso de Bid (0) o Offer (1)
sólo está presente para uno de
los valores (MDEntryPositionNo =
1) y refiere a la actualización de
Bid y Offer en general.
Presente cuando MDEntryType =
2
271
290
MDEntryPositionNo
N
30 de julio de 2012
0 = Bid
1 = Offer
2 = Trade
4 = Opening
Price
6 = Settlement
Price
7 = Trading
Session High
Price
8 = Trading
Session Low
Price
9 = Trading
session VWAP
price
B = Trade
Volume (total
volume for
contract in
session)
C = Open
Interest
M = Prior Settle
Price
0 = Plus Tick
1 = Zero-Plus
Tick
2 = Minus Tick
3 = Zero-Minus
Tick
Char
Int
© MEFF 2012
Número de orden de un precio
68
MEFFGate Negociación - Especificaciones de la Interfaz FIX
811
PriceDelta
N
Standard Trailer
S
30 de julio de 2012
6. Información de Mercado
float
© MEFF 2012
dentro de los del mismo tipo (bid
o offer). Numerado del más al
menos competitivo, empezando
por 1.
Presente si MDEntryType es 0 ó 1
Puede estar presente si
MDEntryType = 6 o M
69
MEFFGate Negociación - Especificaciones de la Interfaz FIX
7. Request for Quote - Petición de Interés
7. Request for Quote - Petición de Interés
7.1 Introducción
La funcionalidad de petición de interés (Request for Quote) permite a los clientes de MEFFGate entrar
y recibir información sobre las peticiones de interés entradas previamente desde el propio miembro o
a través de Servicios de Mercado a petición de algún miembro.
7.2 Descripción
Cuando un operador desea mostrar interés en que se coticen precios de un contrato, utilizará el
mensaje Quote Request.
Sólo se permite una petición de interés por contrato de opción para cada conexión cliente a
MEFFGate.
Si se quiere modificar una petición de interés sobre un determinado contrato de opción se debe
cancelar previamente la petición existente y enviar posteriormente la nueva petición.
Para cancelar una petición de interés se enviará un mensaje Quote Request con el campo volumen a
cero.
Una vez se ha producido la petición de interés, MEFFGate informa de esta situación mediante un
mensaje Indication of Interest. Cada mensaje se refiere a un único contrato e indica el volumen
acumulado de las diferentes peticiones de interés que se han realizado sobre el contrato. Por ello,
debe considerarse que cada mensaje sustituye a los mensajes previos sobre el mismo contrato.
Cuando un operador solicita la cancelación de la petición de interés, los clientes son informados con
el volumen restante. Si no queda volumen, los clientes reciben un mensaje con volumen cero.
Un cliente sólo recibe información de las peticiones de interés de aquellos contratos para los que ha
solicitado información de precios (Offer o Bid) mediante el mensaje Market Data Request (véase 0).
El modo de recepción de esta información (snapshot o snapshot + update) será la misma que se
especifique en el mensaje Market Data Request.
Todas las peticiones de interés quedan canceladas al final de la sesión de negociación.
7.3 Lista de mensajes
Mensaje
Descripción
Quote Request (Msg Type = R)
Mensaje enviado por el cliente MEFFGate para
solicitar o cancelar una petición de interés sobre
un contrato en concreto
Quote Request Reject (Msg Type = AG)
Mensaje enviado por MEFFGate para rechazar
un mensaje Quote Request
Indication of Interest (Msg Type = 6)
Mensaje enviado por MEFFGate para informar
de una petición de interés sobre un contrato
30 de julio de 2012
© MEFF 2012
70
MEFFGate Negociación - Especificaciones de la Interfaz FIX
7. Request for Quote - Petición de Interés
7.4 Flujo de mensajes
Envío de una petición de interés correcta y posterior cancelación de la misma
El cliente envía una peticiones de interés de 100x sobre el contrato A (habían 4900x previos).
Una vez aceptada la petición, el cliente recibe un mensaje Indication of Interest (IOI) privado,
con el bloque Parties informado, indicándole que se le han aceptado los 100x y otro mensaje
IOI público (sin informar el bloque Parties) con el volumen acumulado de petición de interés
sobre este contrato (5000x). A continuación se desea retirar la petición de interés anterior. Una
vez aceptada la petición se divulga el volumen acumulado restante de petición de interés sobre
el contrato A (4900x):
MEFFGate Client
MEFFGate Server
Market Data Request (“V”)
Request including Bid or Offer with selection criteria that includes A contract
Indication of Interest (“6”)
Symbol [55] = A, IOIQty [27] = 4900,
IOITransType [28] = R, <Parties block not informed>
Quote Request (“R”)
QuoteReqID [131] = X1, Symbol [55] = A, OrderQty [38] = 100
Indication of Interest (“6”)
Symbol [55] = A, IOIQty [27] = 100,
IOITransType [28] = N, <Parties block informed>
Indication of Interest (“6”)
Symbol [55] = A, IOIQty [27] = 5000,
IOITransType [28] = R, <Parties block not informed>
Quote Request (“R”)
QuoteReqID [131] = X2, Symbol [55] = A, OrderQty [38] = 0
Indication of Interest (“6”)
Symbol [55] = A, IOITransType [28] = C, <Parties block informed>
Indication of Interest (“6”)
Symbol [55] = A, IOIQty [27] = 4900,
IOITransType [28] = R, <Parties block not informed>
Envío de una petición de interés rechazada por MEFFGate
MEFFGate Client
MEFFGate Server
Quote Request (“R”)
QuoteReqID [131] = Y1, Symbol [55] = A, …
Quote Request Reject (“AG”)
QuoteReqID [131] = Y2, ( Symbol [55] = A,
QuoteRequestRejectReason [558] = 100
30 de julio de 2012
© MEFF 2012
71
MEFFGate Negociación - Especificaciones de la Interfaz FIX
7. Request for Quote - Petición de Interés
Recepción de una petición de interés
El cliente recibe una petición de interés de 100 contratos X0000001. El segundo mensaje
reemplaza el primero e informa de que el volumen pasa a 150 contratos. El tercer mensaje
cancela los dos previos e informa que el volumen es 0 (se han cancelado todas las peticiones
de interés sobre este contrato).
MEFFGate Client
MEFFGate Server
Market Data Request (“V”)
Request including Bid or Offer with selection
criteria that includes X0000001 contract
Indication of Interest (“6”)
Symbol [55] = X0000001
IOIQty [27] = 100
Indication of Interest (“6”)
Symbol [55] = X0000001
IOIQty [27] = 150
Indication of Interest (“6”)
Symbol [55] = X0000001
IOIQty [27] = 0
7.5 Acotaciones y adaptaciones de FIX 4.4
En el mensaje Quote Request, el campo OrderQty [38] ha pasado a ser requerido
30 de julio de 2012
© MEFF 2012
72
MEFFGate Negociación - Especificaciones de la Interfaz FIX
7. Request for Quote - Petición de Interés
7.6 Definición de mensajes
7.6.1 Quote Request (Msg Type = R)
Mensaje enviado por el cliente MEFFGate para solicitar o cancelar una petición de interés sobre un
contrato en concreto. Sólo se permite enviar una petición en el mismo mensaje.
Tag
55
Nombre
Standard Header
QuoteReqID
Start
<QuotReqGrp>
NoRelatedSym
Start
<Instrument>
Symbol
38
End
<Instrument>
Start
<OrderQtyData>
OrderQty
131
146
Req
S
S
Valores válidos
MsgType = R
Formato
Descripción
String
Identificador del mensaje
S
1
NumInGroup
Siempre 1
S
Código de
contrato
String (22)
Código de contrato asociado a la
petición de interés
S*
0 – 9999, integer
numbers only
Qty
Volumen de la petición.
El valor cero (0) indica que se
desea cancelar la petición de
interés que el operador había
realizado sobre este contrato.
End
<OrderQtyData>
End
<QuotReqGrp>
Standard Trailer
30 de julio de 2012
S
© MEFF 2012
73
MEFFGate Negociación - Especificaciones de la Interfaz FIX
7. Request for Quote - Petición de Interés
7.6.2 Quote Request Reject (Msg Type = AG)
Mensaje enviado por MEFFGate para rechazar un mensaje Quote Request
Tag
131
658
Nombre
Standard Header
QuoteReqID
Req
S
S
Valores válidos
MsgType = AG
QuoteRequestRe
jectReason
S
99 = Other
100 = Una sola
petición activa
por
Miembro/Operad
or/contrato
101 = Sólo se
permiten
peticiones en
opciones
58
Text
N
146
S
55
Start
<QuotReqRjctGr
p>
NoRelatedSym
Start
<Instrument>
Symbol
38
End
<Instrument>
Start
<OrderQtyData>
OrderQty
Formato
Descripción
String
Identificador del mensaje Quote
Request que se está
respondiendo
Indica el estado del mensaje
Quote Request.
int
Si 99 (Other), ver tag Text [58]
para más información
String
Si QuoteRequestRejectReason
[658] = 99 (Other), contiene un
texto explicativo del rechazo
1
NumInGroup
Siempre 1
S
Código de
contrato
String (22)
Código de contrato asociado a la
petición de interés
N
0 – 9999, integer
numbers only
Qty
Volumen de la petición.
El valor cero (0) indica que se
desea cancelar la petición de
interés que el operador había
realizado sobre este contrato.
End
<OrderQtyData>
End
<QuotReqRjctGr
p>
Standard Trailer
30 de julio de 2012
S
© MEFF 2012
74
MEFFGate Negociación - Especificaciones de la Interfaz FIX
7. Request for Quote - Petición de Interés
7.6.3 Indication of Interest (Msg Type = 6)
Mensaje enviado por MEFFGate para informar de una petición de interés sobre un contrato en
concreto.
Tag
23
28
Nombre
Standard Header
IOIID
IOITransType
Req
S
S
S
Valores válidos
MsgType = 6
N = New
R = Replace
C = Cancel
Formato
Descripción
String
Char
Identificador único del mensaje
Cuando este mensaje se refiere a
la propia petición mandada por el
operador:
N = Nueva Petición
C = Cancelación de la petición
Cuando este mensaje se refiere al
conjunto de todas las peticiones
de interés realizadas sobre este
contrato:
R = Replace. Indica que el
mensaje reemplaza la
información referente al mismo
contrato (si existía)
55
Start
<Instrument>
Symbol
S
Código de
contrato
String(22)
End
<Instrument>
Start <Parties>
453

448

447

452
Este bloque vendrá informado
cuando este mensaje se refiera a
la propia petición que ha mandado
el operador.
Este bloque no vendrá informado
cuando este mensaje se refiera al
conjunto de todas las peticiones
de interés realizadas sobre este
contrato
NoPartyIDs
PartyID
N
N
PartyIDSource
N
PartyRole
N
NumInGroup
String
D = Proprietary/
Custom code
13 = Order
Origination Firm
11 = Order
Origination
Trader
Código de miembro u operador
Char
Int
End <Parties>
Start <Parties>
54
Side
S
7 = Undisclosed
Char
27
IOIQty
S
0 – 1000000000,
integer numbers
only.
String
30 de julio de 2012
Código de contrato asociado a la
petición de interés
© MEFF 2012
Indica el rol que toma el código
especificado en PartyID.
Este bloque vendrá informado
cuando este mensaje se refiera a
la propia petición que ha mandado
el operador.
Este bloque no vendrá informado
cuando este mensaje se refiera al
conjunto de todas las peticiones
de interés realizadas sobre este
contrato
Las peticiones de interés sólo
definen el contrato y el volumen
pero no si es de compra o venta
Si está informado el bloque
Parties: volumen de la petición
enviado por el operador. Contiene
0 si IOTransType [28] = C
(Cancel)
75
MEFFGate Negociación - Especificaciones de la Interfaz FIX
7. Request for Quote - Petición de Interés
Si no está informado el bloque
Parties: volumen acumulado de
todas las peticiones de interés
realizadas sobre el contrato en
cuestión
Standard Trailer
30 de julio de 2012
S
© MEFF 2012
76
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8. Gestión de Órdenes e información de operaciones
8.1 Introducción
La funcionalidad de gestión de órdenes agrupa varias funciones. Desde el punto de vista del cliente
FIX, éstas son las siguientes:
Entrada de órdenes
Modificación de órdenes
Cancelación de órdenes
Cancelación masiva de órdenes
Recepción del estado de las órdenes e información sobre operaciones
Recepción de notificación de ejecución de órdenes
Solicitud y recepción de informes del estado de órdenes
Cada una de estas funciones se trata en un apartado separado dentro de este capítulo. Para cada
función se describe el método de uso, la lista de mensajes relacionados, los flujos de mensajes y las
adiciones o acotaciones aplicadas en esta implementación. Al final del capítulo se presenta la
descripción detallada de todos los mensajes incluidos en este capítulo.
Todo lo descrito en este capítulo, es válido tanto para contratos simples, como time-spreads, ya que
las órdenes de time-spreads se realizan refiriendo a un contrato previamente definido (no a los
contratos que lo componen).
8.2 Gestión de órdenes en nombre de otro operador
MEFFGate ofrece la posibilidad, desde una conexión multi-trader, de entrar y gestionar órdenes para
otros operadores autorizados del propio Miembro.
30 de julio de 2012
© MEFF 2012
77
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.3 Entrada de órdenes
8.3.1 Descripción
El cliente FIX usa esta funcionalidad para solicitar el alta de órdenes en el sistema de negociación.
Una vez una orden ha sido aceptada, puede ser modificada, cancelada o ejecutada. Estos temas son
tratados en detalle en otros apartados de este mismo capítulo.
Además de los campos habituales de una orden como el precio o la cantidad, el cliente puede incluir
un texto libre en el campo Text del mensaje. Este texto permanece asociado a la orden y es incluido
en los mensajes Execution Report asociados con ésta. MEFF no interpreta este campo, por lo que
puede ser usado como una referencia propia del cliente para la orden. La longitud máxima permitida
es de 15 caracteres, el resto son ignorados.
En el sistema de negociación de MEFF cada orden está asociada a una cuenta. El cliente FIX
normalmente informa de la cuenta en campo Account. Si al entrar una nueva orden no se especifica
la cuenta, la orden se asigna a la cuenta diaria. Si un cliente no tiene definida una cuenta diaria, una
orden que no especifique la cuenta es rechazada. La cuenta de una orden puede ser modificada
durante la vida de la misma tal y como se describe en 8.4.
Existen varios campos relevantes para la identificación de las órdenes. Para más información
consultar el apartado “4.1 - Identificación de órdenes”.
8.3.2 Estados de la solicitud de alta de una orden
Una vez la solicitud ha sido enviada a MEFFGate, ésta puede ser rechazada directamente por
MEFFGate, en cuyo caso se recibe un mensaje Execution Report con el campo ExecType = 8
(Rejected). En caso contrario se recibe un mensaje Execution Report con el campo ExecType = A
(Pending New). Este último caso sólo indica que la solicitud ha sido aceptada por MEFFGate y está
siendo enviada a los sistemas centrales.
La aplicación cliente puede adoptar un enfoque optimista y enviar modificaciones o cancelaciones
sobre una orden desde el mismo momento en que ha recibido la primera notificación “Pending new”.
Después de que la solicitud ha sido aceptada por MEFFGate se recibe un mensaje Execution Report
con el campo ExecType = 0 (New), momento en el cual puede considerarse que la orden está activa
en el mercado.
Si se da alguna situación que haga que la orden sea rechazada por los sistemas centrales,
igualmente se recibirá el mensaje Execution Report con el campo ExecType = 0 (New), pero en este
caso irá seguido de un mensaje Execution Report con el campo ExecType = 4 (Cancelled).
Si la orden introducida es de tipo Stop, al producirse el disparo de la misma, MEFFGate envía un
nuevo mensaje Execution Report con el campo ExecType = 0 (New) reflejando la situación de la
orden después del disparo. Para detectar si una orden ha sido disparada debe consultarse el campo
WorkingIndicator del mensaje Execution Report.
8.3.3 Tipos de órdenes soportados y validez de las órdenes
Al enviar una solicitud de alta de una orden, el tipo de orden se especifica mediante la combinación
de los campos OrdType y TimeInForce. Consúltese el Apéndice A para obtener una lista de los tipos
de órdenes soportados en MEFF y los correspondientes valores de estos dos campos para cada
caso.
8.3.4 Persistencia de la orden
En la entrada de la orden se puede establecer si, en caso de desconexión, se quiere que el Sistema
Central de MEFF cancele automáticamente el volumen pendiente de la orden o no.
Esta funcionalidad sólo es válida para ciertos tipos de orden, las cuales están detalladas en el
Apéndice A. Esta funcionalidad no está permitida en una orden entrada desde un usuario privilegiado.
30 de julio de 2012
© MEFF 2012
78
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
Esta información también se encuentra disponible en los Execution Reports correspondientes a la
consulta de la orden.
Cuando una orden se cancela automáticamente por cualquier tipo de desconexión, se envía un
Execution Report de cancelación informando además, en el tag 18 (ExecInst) con “Q” (Cancel on
System Failure).
8.3.5 Instrucciones de give-up en la orden
El miembro que está introduciendo o modificando una orden, puede dar la información necesaria para
que, cuando se efectúe la operación, se inicie automáticamente un give-out hacia el Miembro Destino
con la referencia que se indique.
Esta información también se encuentra disponible en los Execution Reports correspondientes a la
consulta de la orden.
8.3.6 Lista de mensajes
Mensaje
Descripción
New Order - Single (Msg Type = D)
Usado por el cliente para solicitar el alta de una orden
Enviado por MEFF para confirmar o rechazar el alta de la orden
Execution Report (Msg Type = 8)
8.3.7 Flujo de mensajes
En los siguientes diagramas, los valores que aparecen después de “Execution Report” corresponden
a los campos ExecType y OrdStatus, respectivamente.
Entrada de nueva orden aceptada por MEFFGate y los sistemas centrales
MEFFGate Client
MEFFGate Server
New Order Single (“D”)
Execution Report (“8”)
ExecType [ 150] = A (Pending New)
OrdStatus [39] = A (Pending New)
Execution Report (“8”)
ExecType [ 150] = 0 (New)
OrdStatus [39] = 0 (New)
30 de julio de 2012
© MEFF 2012
79
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
Entrada de nueva orden rechazada por MEFFGate
Cuando un mensaje de nueva orden es rechazado directamente por MEFFGate, el cliente
recibe un mensaje Execution Report con ExecType = 8 (Rejected). El valor de OrdStatus es 8
(Rejected) excepto cuando el rechazo se produce por ClOrdID duplicado, en cuyo caso se
informa del estado de la orden correspondiente a ese ClOrdID.
MEFFGate Client
MEFFGate Server
New Order Single (“D”)
Execution Report (“8”)
ExecType [ 150] = 8 (Rejected)
OrdStatus [39] = 8 (Rejected)
MEFFGate Client
MEFFGate Server
New Order Single (“D”)
ClOrdID [11] = Duplicated ClOrdID
Execution Report (“8”)
ExecType [ 150] = 8 (Rejected)
OrdStatus [39] = order status corresponing
to the Duplicated ClOrdID
Entrada de nueva orden aceptada por MEFFGate y rechazada por los sistemas centrales
MEFFGate Client
MEFFGate Server
New Order Single (“D”)
Execution Report (“8”)
ExecType [ 150] = A (Pending New)
OrdStatus [39] = A (Pending New)
Execution Report (“8”)
ExecType [ 150] = 0 (New)
OrdStatus [39] = 0 (New)
Execution Report (“8”)
ExecType [ 150] = 4 (Cancelled)
OrdStatus [39] = 4 (Cancelled)
30 de julio de 2012
© MEFF 2012
80
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
Entrada de una orden stop y disparo de la misma.
MEFFGate Client
MEFFGate Server
New Order Single (“D”)
Execution Report (“8”)
ExecType [150] = A (Pending New)
OrdStatus [39] = A (Pending New)
Execution Report (“8”)
ExecType [150] = 0 (New)
OrdStatus [39] = 0 (New)
WorkingIndicator [636] = N
Execution Report (“8”)
ExecType [ 150] = 0 (New)
OrdStatus [39] = 0 (New)
WorkingIndicator [636] = Y
8.3.8 Acotaciones y adaptaciones de FIX 4.4
En el mensaje New Order Single, el campo OrderQty [38] ha pasado a ser requerido
30 de julio de 2012
© MEFF 2012
81
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.4 Modificación de órdenes
8.4.1 Descripción
Una vez una orden ha sido dada de alta y antes de que sea totalmente ejecutada, es posible
modificar alguno de sus atributos.
Los atributos modificables de una orden en MEFF son los siguientes:
Cuenta
Volumen
Precio
Precio de disparo
Texto (referencia de orden asignada por el cliente)
Referencia de give-up
Referencia Interna de give-out
Mnemotécnico de give-up
La solicitud de modificación se realiza con el mensaje Order Cancel/Replace Request, también
llamado Order Modification Request.
En cada mensaje de modificación se debe especificar un campo ClOrdID único, tal y como se hace
en el mensaje de entrada de nuevas órdenes. La orden que se desea modificar se identifica mediante
el campo OrigClOrdID.
Cuando una solicitud de modificación es aceptada y realizada, la orden pasa a tener como
identificador el ClOrdID especificado en el mensaje de solicitud de modificación. A efectos de esta
identificación, puede considerarse que una modificación reemplaza la orden previa por una nueva
orden.
Como regla general, los campos especificados en el mensaje de solicitud de modificación reemplazan
a los campos de la orden que se está modificando. Los campos no especificados no se modifican,
conservando el valor que tuvieran en este momento.
Además del campo ClOrdID y los campos con valores a ser modificados, el estándar FIX requiere la
presencia de algunos campos redundantes: Symbol, Side, Order Type y HandlInst. Estos campos
deben estar presentes en el mensaje de solicitud de modificación con los mismos valores que la
orden a modificar. Si existe discrepancia en alguno de estos valores, la solicitud es rechazada con un
mensaje Order Cancel Reject con el campo CxlRejReason = 2 (Broker/Exchange Option) y una
explicación en el campo Text.
El flujo de mensajes aceptados por MEFF está detallado en la tabla D.2.d de las Matrices de Cambio
de Estado de Órdenes en el volumen 4 de la especificación de FIX 4.4.
El estándar FIX también permite, como funcionalidad opcional, modificar el volumen de una orden
completamente ejecutada, generando una reapertura de la orden. Esta funcionalidad no está
soportada por MEFF.
Las especificaciones de FIX 4.4, presenta en los apéndices del volumen 4 un conjunto de tablas, que
describen los flujos de mensajes y los efectos en el estado de la orden. Al respecto de la modificación
las siguientes tablas están soportadas: C.1.a, C.1.b, C.2.a, C.3.a, C.3.b, C.3.c, D.1.a, D.1.b, D.1.c,
D.2.a, D.2.b y D.2.d.
La tabla C.1.c no está soportada.
30 de julio de 2012
© MEFF 2012
82
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.4.2 Estados de la solicitud de modificación de una orden
Una vez se ha enviado una solicitud de modificación a MEFFGate, ésta puede ser rechazada
directamente por MEFFGate, en cuyo caso se recibe un mensaje Order Cancel Reject. En caso
contrario se recibe un mensaje Execution Report con el campo ExecType = E (Pending Replace).
Este último caso sólo indica que la solicitud ha sido aceptada por MEFFGate y está siendo enviada a
los sistemas centrales.
Cuando una solicitud ha sido aceptada por MEFFGate, ésta puede ser rechazada por los sistemas
centrales, en cuyo caso se recibe un mensaje Order Cancel Reject. En caso contrario se recibe un
mensaje Execution Report con el campo ExecType = 5 (Replaced), momento en el cual puede
considerarse que la modificación ha sido realizada.
8.4.3 Lista de mensajes
Mensaje
Descripción
Order Modification Request (Msg Type = G)
(a.k.a. Order Cancel / Replace Request)
Usado por el cliente para solicitar la modificación
de una orden
Execution Report (Msg Type = 8)
Enviado por MEFFGate para notificar el estado de
la solicitud de modificación
Order Cancel Reject (Msg Type = 9)
Enviado por MEFFGate para notificar el rechazo
de una solicitud de modificación
8.4.4 Flujo de mensajes
En los siguientes diagramas, los valores que aparecen después de “Execution Report” corresponden
a los campos ExecType y OrdStatus, respectivamente. Cuando OrdStatus es mostrado como
“<status>” refiere al estado en que se encuentra la orden, independientemente de cual sea éste.
Solicitud de modificación aceptada por MEFFGate y los sistemas centrales
MEFFGate Client
MEFFGate Server
Order Modification Request (“G”)
Execution Report (“8”)
ExecType [150] = E (Pending Replace)
OrdStatus [39] = E (Pending Replace)
Execution Report (“8”)
ExecType [150] = 5 (Replace)
OrdStatus [39] = <status>
30 de julio de 2012
© MEFF 2012
83
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
Solicitud de modificación rechazada por MEFFGate
MEFFGate Client
MEFFGate Server
Order Modification Request (“G”)
Order Cancel Reject (“9”)
CxlRejReason [102] = rejection reason
Solicitud de modificación aceptada por MEFFGate y rechazada por los sistemas
centrales
MEFFGate Client
MEFFGate Server
Order Modification Request (“G”)
Execution Report (“8”)
ExecType [150] = E (Pending Replace)
OrdStatus [39] = E (Pending Replace)
Order Cancel Reject (“9”)
CxlRejReason [102] = rejection reason
Solicitud de modificación aceptada por MEFFGate de una orden ejecutada en el
momento de la solicitud
Si la orden a modificar es ejecutada en el intervalo de tiempo que transcurre entre el envío de
la solicitud de cancelación y la recepción de la misma, el sistema informará de dicha ejecución
con un mensaje Execution Report con ExecType = Trade y OrdStatus = Filled. Además, se
enviará un mensaje Order Cancel Reject (como respuesta al mensaje Order Modification
Request) indicando que la solicitud de modificación no ha podido ser tramitada por la ejecución
de la orden habida por el camino.
MEFFGate Client
MEFFGate Server
Order Modification Request (“G”)
ClOrdID [11] = B
OrigClOrdID [41] = A
Execution Report (“8”)
ExecType [150] = 6 (Pending Replace)
OrdStatus [39] = 6 (Pending Replace)
ClOrdID [11] = B
OrigClOrdID [41] = A
Execution Report (“8”)
ExecType [150] = F (Trade)
OrdStatus [39] = 2 (Filled)
ClOrdID [11] = A
Order Cancel Reject (“9”)
30 de julio de 2012
© MEFF 2012
84
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.4.5 Acotaciones y adaptaciones de FIX 4.4
No está permitida la reapertura de órdenes (incremento de volumen de órdenes totalmente
ejecutadas)
30 de julio de 2012
© MEFF 2012
85
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.5 Cancelación de órdenes
8.5.1 Descripción
Desde el momento en que una orden es dada de alta en el mercado, puede ser cancelada en
cualquier momento. La solicitud de cancelación se realiza con el mensaje Order Cancel Request.
El mensaje Order Cancel Request es usado para solicitar la cancelación de una orden específica. La
orden se identifica mediante el campo OrigClOrdID. Además de este campo, el mensaje de
cancelación debe especificar un campo ClOrdID único, tal y como se hace en los mensajes de
solicitud de alta de nuevas órdenes o de modificación.
El estándar FIX requiere la presencia en este mensaje de algunos campos redundantes: Symbol y
Side. Estos campos deben contener los mismos valores que la orden a cancelar. Si existe
discrepancia en alguno de estos valores, la solicitud es rechazada con un mensaje Order Cancel
Reject con el campo CxlRejReason = 2 (Broker/Exchange Option) y una explicación en el campo
Text.
Téngase en cuenta que una solicitud de cancelación puede ser enviada cuando la orden a cancelar
se encuentra en estado “Pending New” o “Pending Replace”. Es decir, el cliente puede enviar una
cancelación sin tener que esperar la confirmación de los sistemas centrales. En este caso el cliente
debe usar el ClOrdID de la solicitud que está pendiente, asumiendo que ésta será aceptada.
8.5.2 Estados de la solicitud de cancelación de una orden
Una vez se ha enviado una solicitud de cancelación a MEFFGate, ésta puede ser rechazada
directamente por MEFFGate, en cuyo caso se recibe un mensaje Order Cancel Reject. En caso
contrario se recibe un mensaje Execution Report con el campo ExecType = 6 (Pending Cancel). Este
último caso sólo indica que la solicitud ha sido aceptada por MEFFGate y está siendo enviada a los
sistemas centrales.
Order Cancel RejectDespués de que una solicitud ha sido aceptada por MEFFGate y, por tanto,
enviada a los sistemas centrales, se producirá una de las siguientes situaciones:
Cancelación de la orden. Cuando la orden es cancelada debido a la solicitud enviada, se
recibe un mensaje Execution Report con ExecType = 4 (Cancelled)
Cancelación de la orden por Servicios de Mercado. Si una solicitud de cancelación, sobre
la misma orden, enviada por los Servicios de Mercado de MEFF llega antes a los sistemas
centrales que la solicitud propia, entonces se recibirá un mensaje Execution Report con
ExecType = 4 (Cancelled) proveniente de la actuación de un tercero. En la notificación que se
recibirá con respecto a la orden, no habrá ninguna respuesta particular a la solicitud propia
Ejecución de la orden. Si la orden a cancelar es ejecutada en el intervalo de tiempo que
transcurre entre el envío de la solicitud de cancelación y la recepción de la misma, el sistema
informará de dicha ejecución con un mensaje Execution Report con ExecType = Trade y
OrdStatus = Filled. Además, se enviará un mensaje Order Cancel Reject (como respuesta al
mensaje Order Cancel Request) indicando que la solicitud de cancelación no ha podido ser
tramitada porque previamente la order ha sido totalmente ejecutada
Cuando una cancelación es aceptada y realizada, a la orden se le asigna como identificador el
ClOrdID del mensaje de solicitud de cancelación.
30 de julio de 2012
© MEFF 2012
86
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.5.3 Lista de mensajes
Mensaje
Descripción
Order Cancel Request (Msg Type = F)
Usado por el cliente para solicitar la cancelación de una orden
Execution Report (Msg Type = 8)
Enviado por MEFFGate para notificar el estado de la
cancelación
Order Cancel Reject (Msg Type = 9)
Enviado por MEFFGate para notificar el rechazo de la solicitud
de cancelación
8.5.4 Flujo de mensajes
En los siguientes diagramas, los valores que aparecen después de “Execution Report” corresponden
a los campos ExecType y OrdStatus, respectivamente. Cuando OrdStatus es mostrado como
“<status>” refiere al estado en que se encuentra la orden, independientemente de cual sea éste.
Solicitud de cancelación aceptada por MEFFGate y los sistemas centrales
MEFFGate Client
MEFFGate Server
Order Cancel Request (“F”)
Execution Report (“8”)
ExecType [ 150] = 6 (Pending Cancel)
OrdStatus [39] = 6 (Pending Cancel)
Execution Report (“8”)
ExecType [ 150] = 4 (Cancelled)
OrdStatus [39] = 4 (Cancelled)
30 de julio de 2012
© MEFF 2012
87
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
Cancelación de una orden con estado “Pending Replace”´
MEFFGate Client
MEFFGate Server
Order Modification Request (“F”)
ClOrdID [11] = B
OrigClOrdID [41] = A
Execution Report (“8”)
ExecType [150] = E (Pending Replace)
OrdStatus [39] = E (Pending Replace)
ClOrdID [11] = B
OrigClOrdID [41] = A
Order Cancel Request (“F”)
ClOrdID [11] = C
OrigClOrdID [41] = B
Execution Report (“8”)
ExecType [150] = 6 (Pending Cancel)
OrdStatus [39] = 6 (Pending Cancel)
ClOrdID [11] = C
OrigClOrdID [41]= B
Execution Report (“8”)
ExecType [150] = 5 (Replace)
OrdStatus [39] = <status>
ClOrdID [11] = B
OrigClOrdID [41] = A
Execution Report (“8”)
ExecType [ 150] = 4 (Cancelled)
OrdStatus [39] = 4 (Cancelled)
ClOrdID [11] = C
OrigClOrdID [41] = B
Solicitud de cancelación rechazada por MEFFGate
MEFFGate Client
MEFFGate Server
Order Cancel Request (“F”)
Order Cancel Reject (“9”)
CxlRejReason [102] = rejection reason
30 de julio de 2012
© MEFF 2012
88
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
Solicitud de cancelación aceptada por MEFFGate de una orden ejecutada en el momento
de la solicitud
Si la orden a cancelar es ejecutada en el intervalo de tiempo que transcurre entre el envío de la
solicitud de cancelación y la recepción de la misma, el sistema informará de dicha ejecución
con un mensaje Execution Report con ExecType = Trade y OrdStatus = Filled. Además, se
enviará un mensaje Order Cancel Reject (como respuesta al mensaje Order Cancel Request)
indicando que la solicitud de cancelación no ha podido ser tramitada porque previamente la
order ha sido totalmente ejecutada.
MEFFGate Client
MEFFGate Server
Order Cancel Request (“F”)
ClOrdID [11] = B
OrigClOrdID [41] = A
Execution Report (“8”)
ExecType [150] = 6 (Pending Cancel)
OrdStatus [39] = 6 (Pending Cancel)
ClOrdID [11] = B
OrigClOrdID [41] = A
Execution Report (“8”)
ExecType [150] = F (Trade)
OrdStatus [39] = 2 (Filled)
ClOrdID [11] = A
Order Cancel Reject (“9”)
8.5.5 Acotaciones y adaptaciones de FIX 4.4
No se han realizado acotaciones ni adaptaciones en los mensajes incluidos en este capítulo.
30 de julio de 2012
© MEFF 2012
89
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.6 Cancelación masiva de órdenes
8.6.1 Descripción
Esta función permite la cancelación de un conjunto de órdenes simultáneamente. Las órdenes a
cancelar pueden ser seleccionadas mediante ciertos criterios de selección. Nótese que con este
mensaje de cancelación no se van a cancelar los quotes pendientes.
8.6.2 Criterios de selección
Los criterios de selección de órdenes a cancelar que ofrece MEFF son los siguientes:
Instrumento. Permite seleccionar las órdenes asociadas a cierto tipo de instrumento
mediante el bloque Instrument, tal y como se describe en 4.5
Cuenta. Permite seleccionar las órdenes relacionadas con una cuenta en concreto o un
grupo de cuentas. Esta selección se realiza mediante el campo Account. El uso del carácter
comodín “?” para la selección múltiple, sólo está permitido en las cinco posiciones a la vez o
en las dos últimas posiciones. En el último caso debe ser usado en ambas simultáneamente.
Compra/venta. Permite seleccionar órdenes compradoras y vendedoras
Cuando en una selección se combinan varios criterios, se consideran seleccionadas las órdenes que
los cumplen todos.
Cuando no se incluye alguno de los campos de selección, el criterio no es tenido en cuenta para la
selección de órdenes. Por tanto, no especificar ningún criterio implica la selección de todas las
órdenes.
Dado que MEFFGate soporta más criterios de selección que los definidos en el estándar de FIX 4.4,
el campo MassCancelRequestType no es usado y siempre debe contener el valor 7 (Cancel all
orders). MEFF revisará los criterios de selección para decidir las órdenes a cancelar tal y como se ha
explicado anteriormente.
8.6.3 Estados de la solicitud de cancelación masiva
Tanto si la solicitud de cancelación masiva es aceptada o rechazada, el servidor envía un mensaje
Order Mass Cancel Report. Cuando la solicitud es rechazada el campo MassCancelResponse
contiene el valor “0”. En caso de ser aceptada contiene el valor “7”, incluso cuando no hay órdenes
que cumplan los criterios de selección.
El mensaje de aceptación no debe ser considerado como una confirmación de la cancelación. Para
ello, el servidor envía un mensaje Execution Report por cada una de las órdenes canceladas.
8.6.4 Campo ClOrdID
En los correspondientes mensajes Execution Report en que se notifican las cancelaciones se dispone
del campo OrigClOrdID que identifica de forma unívoca a cada una de las órdenes canceladas.
Nótese que, siguiendo el estándar, el campo ClOrdID de estos mensajes contendrá el mismo valor en
todos ellos, que se corresponde con el ClOrdID que se asignó a la solicitud en el mensaje Order Mass
Cancel Request. Por ello, deberá tenerse en cuenta que a partir de este momento las órdenes
canceladas pasan todas a tener el mismo ClOrdID.
Para más información sobre el campo ClOrdID puede consultarse el apartado 4.1.1.
30 de julio de 2012
© MEFF 2012
90
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.6.5 Lista de mensajes
Mensaje
Descripción
Order Mass Cancel Request (Msg Type = q)
Solicitud de cancelación de las órdenes que cumplen los
criterios de selección
Order Mass Cancel Report (Msg Type = r)
Mensaje enviado por MEFFGate para confirmar la
aceptación o rechazo de la solicitud de cancelación
múltiple. No sirve para confirmar que las cancelaciones han
sido procesadas
Execution Report (Msg Type = 8)
Mensaje enviado por MEFFGate para notificar cada una de
las cancelaciones individuales que se derivan del envío de
un mensaje Order Mass Cancel Request
8.6.6 Flujo de mensajes
Solicitud de cancelación masiva de órdenes aceptada
MEFFGate Client
MEFFGate Server
Order Mass Cancel Request (“q”)
ClOrdID [11] = A
Order Mass Cancel Report (“r”)
MassCancelResponse [531] =
7 (Cancel all orders that match criteria)
Execution Report (“8”)
...
One message for
every cancelled order
ClOrdID [11] = A
OrigClOrdID [41] = previous ClOrdID
ExecType [150] = 4 (Cancelled)
OrdStatus [39] = 4 (Cancelled)
Solicitud de cancelación masiva de órdenes rechazada
MEFFGate Client
MEFFGate Server
Order Mass Cancel Request (“q”)
ClOrdID [11] = A
Order Mass Cancel Report (“r”)
MassCancelResponse [531] =
0 (Cancel request rejected)
30 de julio de 2012
© MEFF 2012
91
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.6.7 Acotaciones y adaptaciones de FIX 4.4
MEFF soporta más criterios de selección que los especificados por el estándar de FIX y
permite el uso de comodines en algunos campos
Se ha añadido el campo opcional Account al mensaje Order Mass Cancel Request
Se ha añadido el bloque opcional Parties al mensaje Order Mass Cancel Request
30 de julio de 2012
© MEFF 2012
92
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.7 Notificación de ejecución
8.7.1 Descripción
Cuando una orden es ejecutada total o parcialmente, MEFFGate informa de este hecho mediante un
mensaje Execution Report con el campo ExecType = ”F” (Trade).
Cuando el mensaje Execution Report es usado para notificar la ejecución de una orden, contiene el
campo de usuario ExchangeTradeType, donde se especifica el tipo de operación. Véase Tabla 19 en
documento “Tablas de Codificación” para obtener una lista de los posibles valores de este campo y su
significado.
En general se recibirá un mensaje Execution Report siempre que una operación quede aceptada por
el Sistema Central incluyendo todas aquellas que procedan de aplicaciones.
8.7.2 Retrocesión de una operación
Cuando una operación es cancelada, MEFFGate informa de este hecho mediante un mensaje
Execution Report con el campo ExecType [150] = ”H” (Trade Cancel). En el campo ExecRefID [19] se
informa del número de negociación (TrdMatchID) de la operación que se retrocede.
8.7.3 Lista de mensajes
Mensaje
Descripción
Execution Report (Msg Type = 8)
(ExecType = F)
Enviado por MEFFGate para notificar la ejecución total o parcial de
una orden
8.7.4 Flujo de mensajes
Notificación de ejecución
El cliente recibe un mensaje Execution Report, por cada ejecución parcial y total de una orden.
MEFFGate Client
MEFFGate Server
New Order Single (“D”)
Execution Report (“8”)
...
ExecType [150] = F (Trade)
OrdStatus [39] =1 (Paritially Filled)
Execution Report (“8”)
ExecType [150] = F (Trade)
OrdStatus [39] =2 (Filled)
30 de julio de 2012
© MEFF 2012
93
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.7.5 Acotaciones y adaptaciones de FIX 4.4
Se ha añadido el campo TrdMatchID [880] al mensaje Execution Report
Se ha añadido el campo de usuario ExchangeTradeType [5681] al mensaje Execution Report
30 de julio de 2012
© MEFF 2012
94
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.8 Solicitud de información de situación de órdenes
8.8.1 Descripción
En este apartado se cubren dos funciones relacionadas con la consulta de la situación de las
órdenes:
Consulta del estado de una orden concreta. Permite la consulta de una orden concreta a
partir de su ClOrdID
Consulta del estado de un conjunto de órdenes. Permite la consulta de un conjunto de
órdenes basándose en ciertos criterios de selección
Ambas funcionalidades están limitadas a las órdenes introducidas durante la sesión de negociación
en curso.
En ambos casos la respuesta está formada por un único mensaje Execution Report por cada una de
las órdenes, reflejando el último estado de la orden. Si la consulta es errónea, es rechazada mediante
un mensaje Execution Report con ExecType = 8 (Rejected).
En la consulta de una orden concreta, el ClOrdID usado deberá coincidir con el último de la orden. La
consulta de un ClOrdID que ha sido sustituido, mediante una cancelación o modificación de orden,
será rechazada mediante un mensaje Execution Report con ExecType = 8 (Rejected).
A diferencia de la mayoría de los mensajes relacionados con la gestión de órdenes, en el mensaje
Order Status Request el campo ClOrdID debe contener el valor de la orden que se está consultando.
Téngase en cuenta que en la solicitud del estado de una orden, el estándar FIX requiere la presencia
de dos campos redundantes: Symbol y Side. Los valores de estos campos deben coincidir con los de
la orden original.
La consulta del estado de una orden mediante el mensaje Order Status Request, puede devolver más
de un mensaje Execution Report, cuando el ClOrdID presente en la consulta coincide con el usado en
una cancelación masiva, ya que en este caso todas las órdenes canceladas por una misma solicitud
comparten el identificador ClOrdID. Para más información sobre la cancelación masiva consúltese el
apartado 0.
8.8.2 Lista de mensajes
Mensaje
Descripción
Solicitud del estado de una orden específica
Order Status Request (Msg Type = H)
Solicitud del estado de un conjunto de órdenes
Order Mass Status Request (Msg Type = AF)
Execution Report (Msg Type = 8)
30 de julio de 2012
Información del estado de la orden, o notificación de
solicitud errónea
© MEFF 2012
95
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.8.3 Flujo de mensajes
Solicitud del estado de un conjunto de órdenes
MEFFGate Client
MEFFGate Server
Order Mass Status Request (“AF”)
Execution Report (“8”)
...
ExecType [150] = I (Order Status)
OrdStatus [39] = order status
LastRptRequested [912] = N
Execution Report (“8”)
ExecType [150] = I (Order Status)
OrdStatus [39] = order status
LastRptRequested [912] = Y
Solicitud del estado de una orden concreta
MEFFGate Client
MEFFGate Server
Order Status Request (“H”)
Execution Report (“8”)
ExecType [150] = I (Order Status)
OrdStatus [39] = order status
Solicitud del estado de una orden desconocida
MEFFGate Client
MEFFGate Server
Order Status Request (“H”)
Execution Report (“8”)
ExecType [150] = 8 (Rejected)
8.8.4 Acotaciones y adaptaciones de FIX 4.4
Algunos campos han sido declarados no soportados
Se ha añadido el bloque Parties al mensaje Order Mass Cancel Request
30 de julio de 2012
© MEFF 2012
96
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.9 Definición de mensajes
8.9.1 New Order - Single (Msg Type = D)
Mensaje enviado por el cliente para solicitar la entrada de una orden en el sistema.
Tag
Nombre
Standard Header
ClOrdID
Start <Parties>
NoPartyIDs
PartyID
Req
S
S
Valores válidos
MsgType = D
N
N
>0,<=2
PartyIDSource
N
Char
PartyRole
N
D = Proprietary/
Custom code
13 = Order
Origination Firm
11 = Order
Origination Trader
1
End <Parties>
Account
N
Longitud exacta
String(5)
78
NoAllocs
N
1
NumInGroup

79
AllocAccount
N
String

Start
<NestedParties>
NoNestedPartyIDs
N
NumInGroup
NestedPartyID
N
String
11
453

448

447

452

539

524

525

538
NestedPartyIDSour
ce
NestedPartyRole
30 de julio de 2012
N
N
D = Proprietary/
Custom code
3 = Give-out
internal reference
Formato
Descripción
String(30)
Identificador único de orden
NumInGroup
String
Código de miembro u operador
Int
Char
Int
© MEFF 2012
Requerido si se ha especificado
NoPartyIDs
Indica el rol que toma el código
especificado en PartyID.
Requerido si se ha especificado
NoPartyIDs
Código de cuenta. Si no está presente
se asume la cuenta diaria
Número de destinos. MEFFGate sólo
acepta un único destino.
En este bloque el Miembro que está
introduciendo la orden puede dar la
información necesaria para que,
cuando se efectúe la operación, se
inicie automáticamente un give-out
hacia el Miembro Destino con la
referencia, referencia interna y
mnemotécnico que se indique y por
todo el volumen de la operación
Este campo es requerido por el
estándar si se especifica NoAllocs.
Ignorado por MEFFGate
Referencia interna de Give-out, Código
del Miembro Destino del Give-up,
referencia de Give-up o mnemotécnico
de Give-out.
Para la referencia interna de Give-out
(NestedPartyRole=3) este campo está
limitado a 18 caracteres.
Para el Miembro Destino del Give-up
(PartyRole = 14) este campo tiene una
longitud exacta de 4 caracteres
alfanuméricos.
Para la referencia de Give-up
(NestedPartyRole=24) este campo
está limitado a 18 caracteres.
Para el mnemotécnico de Give-out
(NestedPartyRole=33) este campo
está limitado a 10 caracteres.
Requerido si se ha especificado
NoNestedPartyIDs
Requerido si se ha especificado
NoNestedPartyIDs
Requerido si se ha especificado
NoNestedPartyIDs.
97
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
14 = Give-Up
Clearing Firm
24 = Give-up
Reference
33 = Give-up
mnemonic

21
End
<NestedParties>
HandlInst
S
18
ExecInst
N
55
Start <Instrument>
Symbol
54
60
El valor 3 indica que el contenido de
NestedPartyID corresponde a la
referencia asignada por el Miembro
Origen para uso interno y que se
asocia al mnemotécnico de Give-out.
Una misma referencia interna puede
estar asociada a más de un
mnemotécnico. Puede no estar
informada.
El valor 14 Indica que el contenido de
NestedPartyID corresponde al
Miembro Destino del Give-up.
El valor 24 indica que el contenido de
NestedPartyID corresponde a la
referencia de Give-up.
El valor 33 indica que el contenido de
NestedPartyID corresponde al
mnemotécnico de Give-out.
1 = Automated
execution order,
private
H = Not Cancel
on System Failure
(default)
Q = Cancel on
System Failure
Char
MultipleCharV
alue
Tipo de persistencia de la orden.
Indica si, en caso de desconexión, se
quiere que el sistema central de MEFF
cancele automáticamente el volumen
pendiente de la orden (“Q”) o no (“H” o
no informado)
S
Código de
contrato
String(22)
Código de contrato
End <Instrument>
Side
S
1 = Buy
2 = Sell
Char
TransactTime
S
UTC
Timestamp
Hora en que se realiza la solicitud
S*
Qty
Volumen de la orden
Char
Tipo de orden
Precio de la orden. Requerido si
OrdType es 2 ó 4
Precio de disparo. Requerido si
OrdType es 3 ó 4
Periodo de validez de la orden
40
Start
<OrderQtyData>
OrderQty
End
<OrderQtyData>
OrdType
44
Price
N
Price
99
StopPx
N
Price
59
TimeInForce
N
58
Text
N
77
PositionEffect
N
Standard Trailer
S
38
30 de julio de 2012
S
1 = Market
2 = Limit
3 = Stop
4 = Stop Limit
0 = Day (default
value)
2 = At the
Opening (OPG)
3 = Immediate or
Cancel (IOC)
4 = Fill or Kill
(FOK)
Char
String (15)
O=Open (default)
C=Close
Char
© MEFF 2012
Referencia de la orden asignada por el
usuario
Indica si la operación resultante debe
abrir o cerrar posición
98
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.9.2 Order Cancel Request (Msg Type = F)
Mensaje enviado por el cliente para solicitar la cancelación de una orden.
Tag
Nombre
Standard Header
OrigClOrdID
ClOrdID
Req
S
S
S
Valores válidos
MsgType = F
Start <Parties>
NoPartyIDs
PartyID
N
N
>0, <=2
PartyIDSource
N
Char
PartyRole
N
D = Proprietary/
Custom code
13 = Order
Origination Firm
11 = Order
Origination Trader
55
End <Parties>
Start
<Instrument>
Symbol
S
Código de contrato
String(22)
Debe contener el mismo valor que se
especificó en la orden original
54
End <Instrument>
Side
S
1 = Buy
2 = Sell
Char
60
TransactTime
S
Debe contener el mismo valor que se
especificó en la orden original
Hora en que se realiza la solicitud
Standard Trailer
S
41
11
453

448

447

452
30 de julio de 2012
Formato
Descripción
String(30)
String(30)
ClOrdID de la orden a cancelar
Identificador de la cancelación. Pasa
a ser el identificador de la orden
cuando la cancelación es procesada
NumInGroup
String
Int
UTC
Timestamp
© MEFF 2012
Código de miembro u operador
Requerido si se ha especificado
NoPartyIDs
Indica el rol que toma el código
especificado en PartyID.
Requerido si se ha especificado
NoPartyIDs
99
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.9.3 Order Modification Request (Msg Type = G)
(Este mensaje también es conocido como. Order Cancel/Replace Request)
Mensaje usado para solicitar la modificación de una orden.
Tag
Nombre
Standard Header
Start <Parties>
NoPartyIDs
PartyID
Req
S
Valores válidos
MsgType = G
Formato
Descripción
N
N
>0,<=2
NumInGroup
String
Código de miembro u operador
PartyIDSource
N
PartyRole
N
D = Proprietary/
Custom code
13 = Order
Origination Firm
11 = Order
Origination Trader
41
End <Parties>
OrigClOrdID
S
String(30)
11
ClOrdID
S
String(30)
1
Account
N
Longitud exacta
String(5)
78
NoAllocs
N
1
NumInGroup
453

448

447

452
Char
Int
Requerido si se ha especificado
NoPartyIDs
Indica el rol que toma el código
especificado en PartyID.
Requerido si se ha especificado
NoPartyIDs
ClOrdID de la orden a
reemplazar
Identificador de la modificación.
Pasa a ser el identificador de la
orden cuando la modificación es
realizada
Nuevo código de cuenta. Si no
se especifica, la cuenta
permanece inalterada
Número de destinos.
MEFFGate sólo acepta un único
destino.
En este bloque el Miembro que
está modificando la orden
puede dar la información
necesaria para que, cuando se
efectúe la operación, se inicie
automáticamente un give-out
hacia el Miembro Destino con la
referencia, referencia interna y
mnemotécnico que se indique y
por todo el volumen de la
operación
Si no se especifica, este bloque
permanece inalterado.

79
AllocAccount
N

Start
<NestedParties>
NoNestedPartyIDs
N
NumInGroup
NestedPartyID
N
String

539

524
30 de julio de 2012
Longitud exacta
String(5)
© MEFF 2012
Si se especifica, hay que volver
a dar toda la información
referente a este bloque (tanto la
que se modifica como la que
no)
Este campo es requerido por el
estándar si se especifica
NoAllocs.
Ignorado por MEFFGate
Referencia interna de Give-out,
Código del Miembro Destino del
Give-up, referencia de Give-up
o mnemotécnico de Give-out.
Para la referencia interna de
Give-out (NestedPartyRole=3)
100
MEFFGate Negociación - Especificaciones de la Interfaz FIX

525

538
NestedPartyIDSourc
e
NestedPartyRole

21
End
<NestedParties>
HandlInst
55
este campo está limitado a 18
caracteres.
Para el Miembro Destino del
Give-up (PartyRole = 14) este
campo tiene una longitud
exacta de 4 caracteres
alfanuméricos.
Para la referencia de Give-up
(NestedPartyRole=24) este
campo está limitado a 18
caracteres.
Para el mnemotécnico de Giveout (NestedPartyRole=33) este
campo está limitado a 10
caracteres.
Requerido si se ha especificado
NoNestedPartyIDs
Requerido si se ha especificado
NoNestedPartyIDs
Requerido si se ha especificado
NoNestedPartyIDs.
El valor 3 indica que el
contenido de NestedPartyID
corresponde a la referencia
asignada por el Miembro Origen
para uso interno y que se
asocia al mnemotécnico de
Give-out. Una misma referencia
interna puede estar asociada a
más de un mnemotécnico.
Puede no estar informada.
El valor 14 Indica que el
contenido de NestedPartyID
corresponde al Miembro
Destino del Give-up.
El valor 24 indica que el
contenido de NestedPartyID
corresponde a la referencia de
Give-up.
El valor 33 indica que el
contenido de NestedPartyID
corresponde al mnemotécnico
de Give-out.
D = Proprietary/
Custom code
3 = Give-out
internal reference
14 = Give-Up
Clearing Firm
24 = Give-up
Reference
33 = Give-up
mnemonic
Char
S
1
Char
Debe contener el mismo valor
que la orden original
Start <Instrument>
Symbol
S
Código de
contrato
String(22)
Debe contener el mismo valor
que la orden original
54
End <Instrument>
Side
S
1 = Buy
2 = Sell
Char
60
TransactTime
S
UTC Timestamp
Debe contener el mismo valor
que la orden original
Hora en que se realiza la
solicitud
38
Start
<OrderQtyData>
OrderQty
N
Qty
30 de julio de 2012
N
8. Gestión de Órdenes e información de operaciones
N
Int
© MEFF 2012
Volumen total deseado (incluido
el volumen ya ejecutado).
Por ejemplo, si la orden original
era de 20 contratos, se ha
producido una ejecución parcial
por 5 contratos, y se quiere
reducir en 1 la orden original,
este campo deberá
101
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
cumplimentarse con el valor 19.
Si no se especifica, el volumen
permanece inalterado
40
End
<OrderQtyData>
OrdType
S
44
Price
99
1 = Market
2 = Limit
3 = Stop
4 = Stop Limit
Char
Debe contener el mismo valor
que el del Execution Report
enviado por el mercado
N
Price
StopPx
N
Price
58
Text
N
String (15)
77
PositionEffect
N
Precio de la orden. Si no se
especifica, el precio permanece
inalterado
Precio de disparo. Si no se
especifica, el precio permanece
inalterado. Sólo permitido
cuando OrdType = 4
Referencia de la orden
asignada por el usuario. Si no
se especifica, permanece
inalterada
Indica si la operación resultante
debe abrir o cerrar posición.
Sólo aplicable a cuentas de
doble escalón.
O=Open
C=Close
Char
Si no se especifica, permanece
inalterada
Standard Trailer
30 de julio de 2012
S
© MEFF 2012
102
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.9.4 Execution Report (Msg Type = 8)
Mensaje enviado por MEFFGate para informar del estado de una orden, incluyendo la ejecución
parcial y total de la misma. También usado para rechazar una solicitud inválida relacionada con
órdenes.
Tag
Nombre
Standard
Header
OrderID
Req
S
Formato
Descripción
S
String
SecondaryOrder
ID
N
String
527
SecondaryExecI
D
N
String
11
ClOrdID
N
String
41
OrigClOrdID
N
String(30)
5681*
ExchangeTrade
Type
N
Identificador único de la orden, asignado
por MEFFGate o el QuoteID enviado por
el cliente.
Si ExecType = 8 (Rejected) contiene
“NONE”
Identificador de la orden, asignado por
los sistemas centrales de MEFF u otro
mercado
Número de historia de la orden, asignado
por los sistemas centrales de MEFF u
otro mercado.
Cada vez que se produce un nuevo
suceso en la vida de la orden
(modificación, ejecución o cancelación)
se asigna un nuevo valor a este campo.
Identificador único de la orden (ClOrdID)
(ver 4.1.1) enviado por el cliente. Sólo
presente cuando el mensaje está
relacionado con una orden
OrigClOrdID que fue enviado por el
cliente. Sólo presente cuando el mensaje
relacionado es una solicitud de
cancelación o modificación
Sólo presente cuando ExecType = “F”
(Trade) o “H” (Trade Cancel) que indica
el tipo de operación que se cancela
198
790
OrdStatusReqID
N
String
584
MassStatusReqI
D
N
String
911
TotNumReports
N
Int
912
LastRptRequest
ed
N
Boolean
NumInGroup
String
37
453
448
Start <Parties>
NoPartyIDs
PartyID
N
N
447
PartyIDSource
N
30 de julio de 2012
Valores válidos
MsgType = 8
Para más detalle
sobre los tipos
de operación,
véase Tabla 19
en documento
“Tablas de
Codificación”
D = Proprietary/
String
Contiene el mismo valor que se especificó en el mensaje Order Status
Request relacionado. Sólo está presente
si el mensaje relacionado es de este tipo,
y contenía este campo
Identificador del mensaje relacionado.
Sólo presente cuando el mensaje
relacionado es Order Mass Status
Request
Indica el número total de mensajes que
forman la respuesta a una solicitud Order
Mass Status Request. Sólo está presente
cuando se trata de una respuesta a este
tipo de solicitud
Usado para indicar que es el último mensaje enviado como respuesta a una
solicitud Order Mass Status Request
Código de miembro, operador,
Referencia interna de Give-out, Código
del Miembro Destino del Give-up,
referencia de Give-up o mnemotécnico
de Give-out
Char
© MEFF 2012
103
MEFFGate Negociación - Especificaciones de la Interfaz FIX
452
PartyRole
N
548
End <Parties>
CrossID
N
Custom code
1 = Executing
Firm
3 = Give-out
internal
reference
7 = Entering Firm
(intermediary)
11 = Order
Origination
Trader
12 = Executing
Trader
13 = Order
Origination Firm
14 = Give-Up
Clearing Firm
24 = Give-up
Reference
33 = Give-up
mnemonic
36 = Entering
Trader
(intermediary)
8. Gestión de Órdenes e información de operaciones
Int
Indica el rol que toma el código
especificado en PartyID.
String
Contiene el valor del campo
SecondaryTradeReportID [818] si se
trata de una operación asociada a una
aplicación.
17
ExecID
S
String
19
ExecRefID
N
String
150
ExecType
S
39
OrdStatus
30 de julio de 2012
S
0 = New
4 = Cancelled
5 = Replace
6 = Pending
Cancel
8 = Rejected
A = Pending
New
E = Pending
Replace
F = Trade
H = Trade
Cancel
I = Order Status
0 = New
1 = Partially
Filled
2 = Filled
4 = Cancelled
6 = Pending
Cancel
8 = Rejected
A = Pending
New
E = Pending
Replace
Char
Sólo presente si el mensaje relacionado
es de este tipo.
Identificador único del Execution Report
asignado por MEFFGate. Contiene 0 si
ExecType = “I” (Order Status)
Número de registro de negociación
(TrdMatchID) de la operación que se
retrocede. Presente si ExecType [150] =
“H”
Indica el estado del mensaje relacionado,
mientras que OrdStatus informa del
estado actual de la orden.
En caso de cancelación (valor 4) o
rechazo (valor 8), el campo Text contiene
un texto explicativo
Char
© MEFF 2012
Informa del estado actual de la orden
En un quote el contenido de este campo
no debe ser tenido en cuenta (contiene
siempre “1”)
104
MEFFGate Negociación - Especificaciones de la Interfaz FIX
636
WorkingIndicator
N
103
OrdRejReason
N
1
8. Gestión de Órdenes e información de operaciones
Y = Stop Order is
currently
triggered
N = Stop Order
is not currently
triggered
0 = Exchange
option
3 = Order
exceeds limit
(price or volume
filters)
6 = Duplicate
ClOrdID
12 = Surveillance
option
99 = Other
100 =
Desconexión de
la aplicación
cliente
103= No tiene
permiso para
entrar/gestionar
órdenes
104= Delta
protection
Longitud exacta
Boolean
Indica si una orden Stop ha sido
disparada
Int
Motivo de rechazo o cancelación.
String(5)
Cuenta asociada con la orden
S
Código de
contrato
String(22)
Código del contrato asociado con la
orden
1 = Buy
2 = Sell
Char
55
Account
Start
<Instrument>
Symbol
N
54
End
<Instrument>
Side
S
38
Start
<OrderQtyData>
OrderQty
S
Puede estar presente cuando ExecType
=4ó8
Qty
Volumen total de la orden, tal y como se
indicó en el mensaje New Order, o en el
mensaje de modificación
En un quote el contenido de este campo
no debe ser tenido en cuenta (contiene
siempre cero)
40
End
<OrderQtyData>
OrdType
N
44
Price
N
99
59
StopPx
TimeInForce
30 de julio de 2012
N
N
1 = Market
2 = Limit
3 = Stop
4 = Stop Limit
0 = Day
2 = At the
opening (OPG)
3 = Immediate or
Cancel (IOC)
4 = Fill or Kill
(FOK)
Char
Tipo de orden
Price
Precio de la orden
Price
Char
En un quote, si aparece, el contenido de
este campo no debe ser tenido en cuenta
(contiene cero)
Precio de disparo de la orden
Periodo de validez de la orden
© MEFF 2012
105
MEFFGate Negociación - Especificaciones de la Interfaz FIX
18
ExecInst
N
32
LastQty
N
Qty
31
LastPx
N
Price
151
LeavesQty
S
Qty
14
CumQty
H = Not Cancel
on System
Failure
Q = Cancel on
System Failure
8. Gestión de Órdenes e información de operaciones
S
MultipleValu
eString
Qty
6
AvgPx
S
Price
60
TransactTime
N
UTCTimesta
mp
381
77
GrossTradeAmt
PositionEffect
N
N
58
Text
N
442
MultiLegReportin
gType
N
880*
TrdMatchID
N
Standard Trailer
S
30 de julio de 2012
Amt
Char
O=Open
C=Close
String
1=Single
Security
2 = Individual leg
of a multi-leg
security
3 = Multi-leg
security
Char
String(13)
© MEFF 2012
Volumen de la operación.
Presente si OrdStatus = 1 ó 2
Precio de la operación.
Presente si OrdStatus = 1 ó 2
Volumen pendiente de la orden.
Contiene 0 cuando OrdStatus = 4
(Cancelled)
En un quote el contenido de este campo
no debe ser tenido en cuenta (contiene
siempre cero)
Volumen total ejecutado
Este campo no debe ser tenido en
cuenta cuando vale cero
Precio promedio de todas las
ejecuciones de esta orden. Este campo
no debe ser tenido en cuenta cuando
CumQty=0
Hora en que se produjo la transacción
asociada a este mensaje Execution
Report. Este campo no está presente
cuando ExecType es igual 6, A ó E
Importe de la transacción
Indica si la operación resultante debe
abrir o cerrar posición. Sólo aplicable a
cuentas de doble escalón
Si el campo ExecType = 8 (Rejection)
contiene un texto explicativo del rechazo.
En cualquier otro caso contiene la referencia de la orden del cliente, entrada en
el campo Text del mensaje de la orden
Indica si la operación de la que se está
informando es sobre un contrato simple,
un contrato time-spread o una pata de un
time-spread
Número de registro de negociación.
Identificador de la ejecución parcial o
total de la orden, asignado por los
sistemas centrales de MEFF u otro
mercado. Presente si ExecType = “F”
(Trade) o “H” (Trade Cancel)
106
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.9.5 Order Cancel Reject (Msg Type = 9)
Mensaje enviado por MEFFGate para rechazar un mensaje de modificación o cancelación de orden.
Tag
Nombre
Standard Header
OrderID
Req
S
S
Valores válidos
MsgType = 9
Ver 4.1.2
Formato
Descripción
String
OrderID asociado a la orden.
Contiene “NONE” si CxlRejReason
= 1 (Unknown order)
Start <Parties>
NoPartyIDs
PartyID
N
N
>0,<=2
NumInGroup
String
PartyIDSource
N
PartyRole
N
D = Proprietary/
Custom code
13 = Order Origination
Firm
11 = Order Origination
Trader
11
41
End <Parties>
ClOrdID
OrigClOrdID
S
S
39
OrdStatus
S
60
TransactTime
N
434
CxlRejResponseTo
S
102
CxlRejReason
N
58
Text
N
Standard Trailer
S
37
453

448

447

452
30 de julio de 2012
Char
Int
String(30)
String(30)
0 = New
1 = Partially Filled
2 = Filled
4 = Cancelled
8 = Rejected
C = Expired
1 = Order Cancel
Request
2 = Order
Cancel/Replace
Request
0 = Too late to cancel
1 = Unknown order
2 = Exchange option
3 = Order already in
Pending Cancel or
Pending Replace
status
6 = Duplicate ClOrdID
received
99 = other
© MEFF 2012
Char
Código de miembro u operador
Requerido si se ha especificado
NoPartyIDs
Indica el rol que toma el código
especificado en PartyID.
Requerido si se ha especificado
NoPartyIDs
ClOrdID del mensaje rechazado
ClOrdID de la orden que no ha
podido ser modificada o cancelada.
Contiene el mismo valor que
OrigClOrdID del mensaje de
solicitud de cancelación o
modificación
Estado de la orden. Contiene 8
(Rejected) si CxlRejReason = 1
(Unknown order)
UTC
Timestamp
Char
Hora en que se generó este
mensaje de rechazo
Tipo de mensaje al que se está
respondiendo
Int
Motivo de rechazo.
Cuando el valor es 99 el campo
Text contiene un texto explicativo
String
Texto explicativo del motivo de
rechazo
107
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.9.6 Order Status Request (Msg Type = H)
Mensaje enviado por el cliente para solicitar información sobre el estado de una orden en concreto.
Tag
Nombre
Standard Header
ClOrdID
Req
S
S
Valores válidos
MsgType = H
Start <Parties>
NoPartyIDs
PartyID
N
N
>0,<=2
PartyIDSource
N
PartyRole
N
D = Proprietary/
Custom code
13 = Order
Origination Firm
11 = Order
Origination Trader
790
End <Parties>
OrdStatusReqID
N
55
Start <Instrument>
Symbol
S
54
End <Instrument>
Side
S
Standard Trailer
S
11
453

448

447

452
30 de julio de 2012
Formato
Descripción
String(30)
ClOrdID de la orden, de la
cual se está solicitando el
estado
NumInGroup
String
Char
Int
Código de miembro u
operador
Requerido si se ha
especificado NoPartyIDs
Indica el rol que toma el
código especificado en
PartyID.
Requerido si se ha
especificado NoPartyIDs
String(10)
Código opcional de
identificación de la solicitud.
Si está presente será
devuelto en el
correspondiente mensaje de
respuesta Execution Report
Código de contrato
String(22)
Debe contener el mismo valor
que la orden consultada
1 = Buy
2 = Sell
Char
Debe contener el mismo valor
que la orden consultada
© MEFF 2012
108
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.9.7 Order Mass Cancel Request (Msg Type = q)
Mensaje enviado por el cliente para solicitar la cancelación de las órdenes que cumplen unos ciertos
criterios de selección.
Tag
Req
S
S
Valores válidos
MsgType = q
11
Nombre
Standard Header
ClOrdID
530
MassCancelRequestType
S
7 = Cancel all
orders that
match criteria
Char
Start <Parties>
NoPartyIDs
PartyID
N
N
>0,<=2
NumInGroup
String
PartyIDSource
N
Char
PartyRole
N
D = Proprietary/
Custom code
13 = Order
Origination Firm
11 = Order
Origination
Trader
55
End <Parties>
Start <Instrument>
Symbol
S
[N/A]
o código de
contrato
String(22)
48
SecurityID
N
String
22
SecurityIDSource
N
461
CFICode
N
200
MaturityMonthYear
N
Para más detalle
sobre los activos
subyacentes,
véase Tabla 21
en documento
“Tablas de
Codificación”
8 = Exchange
Symbol
Longitud exacta.
Consúltese 4.5.1
para una lista de
valores posibles
YYYYMM o
YYYYMMDD o
YYYYMMwW
54
End <Instrument>
Side
N
1 = Buy
2 = Sell
60
TransactTime
S
1*
Account
N
453*

448*

447*

452*
*
30 de julio de 2012
Longitud exacta
© MEFF 2012
Formato
Descripción
String(30)
Identificador único de este
mensaje Order Mass
Cancel Request
Ignorado por MEFFGate,
ya que sólo se cancelan
las órdenes que cumplen
los criterios de selección
Int
String
Código de miembro u
operador
Requerido si se ha
especificado NoPartyIDs
Indica el rol que toma el
código especificado en
PartyID.
Requerido si se ha
especificado NoPartyIDs
Código de contrato. Si
contiene “[N/A]” se
seleccionan las órdenes
sobre todos los contratos
que cumplan con el resto
de criterios de selección
Activo subyacente del
contrato
String(6)
Requerido si se ha
especificado SecurityID
Tipo de contrato
Month-Year
Vencimiento del contrato
Char
Criterio de selección de
órdenes compradoras o
vendedoras
Hora de generación del
mensaje
Código de cuenta.
El uso del carácter
comodín “?” para la
selección múltiple, sólo
está permitido en las cinco
posiciones a la vez o en
las dos últimas posiciones.
En el último caso debe ser
usado en ambas a la vez.
UTC
Timestamp
String(5)
109
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Standard Trailer
30 de julio de 2012
8. Gestión de Órdenes e información de operaciones
S
© MEFF 2012
110
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.9.8 Order Mass Cancel Report (Msg Type = r)
Mensaje de respuesta a una solicitud de cancelación masiva de órdenes. Informa de la aceptación o
rechazo de la solicitud. Para asegurar que las cancelaciones han sido procesadas debe esperarse la
recepción de los correspondientes Execution Report.
Tag
11
Nombre
Standard Header
ClOrdID
Req
S
N
37
OrderID
S
530
MassCancelRequestType
S
7
Char
531
MassCancelResponse
S
Char
532
MassCancelRejectReason
N
0 = Cancel
Request
Rejected
7 = Cancel all
orders that
match criteria
1 = Invalid or
unknown
Security
4 = Invalid or
unknown
CFICode
99 = other
58
Text
N
Standard Trailer
S
30 de julio de 2012
Valores válidos
MsgType = r
Formato
Descripción
String(30
)
ClOrdID especificado en el
mensaje Order Mass Cancel
Request
Identificador único para el
mensaje Order Mass Cancel
Request asignado por MEFF
Contiene el mismo valor que
se especificó en la solicitud
Contiene 7 si la cancelación
fue aceptada. Contiene 0 si
fue rechazada.
Si el valor es 0, el campo
MassCancelRejectReason
contiene el motivo de rechazo
Motivo de rechazo. Presente
si MassCancelResponse = 0.
Si el valor es 99, el campo
Text contiene un texto explicativo del motivo de rechazo
String
String
String
© MEFF 2012
Texto explicativo del motivo
de rechazo
111
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
8.9.9 Order Mass Status Request (Msg Type = AF)
Mensaje enviado por el cliente para solicitar el estado de las órdenes que cumplen unos ciertos
criterios de selección.
Téngase en cuenta que el bloque Parties del mensaje no es parte de los criterios de selección y
refiere al originador del mensaje. Consúltese 4.3, para más información sobre el bloque Parties.
Tag
Req
S
S
Valores válidos
MsgType = AF
584
Nombre
Standard Header
MassStatusReqID
585
MassStatusReqType
S
7 = Status for all
orders
Int
Start <Parties>
NoPartyIDs
PartyID
N
N
>0,<=2
NumInGroup
String
PartyIDSource
N
Char
PartyRole
N
D = Proprietary/
Custom code
13 = Order
Origination Firm
11 = Order
Origination Trader
1
End <Parties>
Account
N
Longitud exacta
String(5)
Código de cuenta. El uso
del carácter comodín “?”
para la selección múltiple,
sólo está permitido en las
cinco posiciones a la vez
o en las dos últimas
posiciones. En el último
caso debe ser usado en
ambas a la vez
55
Start <Instrument>
Symbol
S
[N/A],
código de contrato
String(22)
48
SecurityID
N
String
22
SecurityIDSource
N
Para más detalle
sobre los activos
subyacentes, véase
Tabla 21 en
documento “Tablas
de Codificación”
8 = Exchange Symbol
Código de contrato. Si
contiene “[N/A]” se
seleccionan las órdenes
sobre todos los contratos
que cumplan con el resto
de criterios de selección
Activo subyacente del
contrato
461
CFICode
N
String(6)
200
MaturityMonthYear
N
Longitud exacta.
Consúltese 4.5.1 para
una lista de valores
posibles
YYYYMM o
YYYYMMDD o
YYYYMMwW
Requerido si se ha
especificado SecurityID
Tipo de contrato
Month-Year
Vencimiento del contrato
54
End <Instrument>
Side
N
1 = Buy
2 = Sell
Char
Criterio de selección de
órdenes compradoras o
453

448

447

452
30 de julio de 2012
© MEFF 2012
Formato
Descripción
String(10)
Identificador único de
este mensaje Order Mass
Status Request
Ignorado por MEFFGate,
ya que sólo se
seleccionan las órdenes
que cumplen los criterios
de selección
Char
String
Código de miembro u
operador
Requerido si se ha
especificado NoPartyIDs
Indica el rol que toma el
código especificado en
PartyID.
Requerido si se ha
especificado NoPartyIDs
112
MEFFGate Negociación - Especificaciones de la Interfaz FIX
8. Gestión de Órdenes e información de operaciones
vendedoras
Standard Trailer
30 de julio de 2012
S
© MEFF 2012
113
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9. Gestión de Quotes
9.1 Introducción
La funcionalidad de un quote agrupa varias funciones:
Entrada de quotes
Modificación de quotes
Cancelación de quotes
Notificación de ejecución de quotes
Solicitud de información del estado de quotes
Configuración de parámetros del quote: Cuenta y delta protection
Consulta de parámetros del quote
Cada una de estas funciones se trata en un apartado separado dentro de este capítulo. Para cada
función se describe el método de uso, la lista de mensajes relacionados, los flujos de mensajes y las
adiciones o acotaciones aplicadas en esta implementación. Al final del capítulo se presenta la
descripción detallada de todos los mensajes incluidos en este capítulo.
30 de julio de 2012
© MEFF 2012
114
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.2 Entrada de quotes
9.2.1 Descripción
El cliente FIX usa esta funcionalidad para solicitar el alta de quotes en el sistema de negociación.
Sólo se permite un quote por contrato para cada conexión cliente al MEFFGate. Si se envía un
segundo quote para este mismo contrato (sea de la misma cuenta o no), MEFFGate cancelará el
quote anterior y aceptará (o rechazará) el nuevo.
La aplicación cliente puede enviar un quote parcial (sólo la parte compradora o vendedora). En este
caso, sólo se informará la parte correspondiente del quote que se desea dar de alta (BidPx/BidSize o
OfferPx/OfferSize) y en la otra parte se asumirá volumen cero, por lo que se anularía cualquier
notificación previa.
Una vez el quote ha sido aceptado, puede ser modificado, cancelado o ejecutado. Estos temas son
tratados en detalle en otros apartados de este mismo capítulo.
La aplicación cliente debe contemplar la posibilidad de que pueda recibir un quote aceptado sólo en la
parte compradora o la vendedora y rechazado en la otra parte, por ejemplo debido a límites de
precios.
Si se produce cualquier tipo de desconexión los quotes pendientes son automáticamente cancelados
por MEFFGate.
9.2.2 Lista de mensajes
Mensaje
Descripción
Quote (Msg Type = S)
Usado por el cliente para solicitar el alta de un quote
Enviado por MEFF para confirmar o rechazar el alta del quote
Quote Status Report (Msg Type = AI)
30 de julio de 2012
© MEFF 2012
115
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.2.3 Flujo de mensajes
Entrada de un Quote completamente aceptada por MEFFGate y los sistemas centrales
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a
BidPx[132], OfferPx[133], BidSize[134], OfferSize[133]
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 0 (Accepted)
OrdStatus1 [39] = 0 (Accepted)
OrdStatus2 [39] = 0 (Accepted)
Entrada de un Quote parcialmente aceptada por el host central
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 0 (Accepted)
OrdStatus1 [39] = 8 (Rejected)
OrdStatus2 [39] = 0 (Accepted)
30 de julio de 2012
© MEFF 2012
116
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
Entrada de un quote parcial (sólo la parte vendedora) completamente aceptada por
MEFFGate y los sistemas centrales de MEFF
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a
OfferPx[133], OfferSize[133]
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 0 (Accepted)
NoSides [552] = 1
Side [54] = 2 (Sell)
OrdStatus [39] = 0 (Accepted)
Entrada de un quote rechazada por MEFFGate
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 5 (Rejected)
Entrada de un quote aceptada por MEFFGate y rechazado por los sistemas centrales
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 5 (Rejected)
30 de julio de 2012
© MEFF 2012
117
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
Entrada de un segundo quote correcta para un mismo contrato (el Sistema de MEFF
cancela automáticamente el primer quote y acepta el segundo)
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a
Symbol [55] = x
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 0 (Accepted)
Quote (“S”)
QuoteID [117] = b
Symbol [55] = x
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 4 (Canceled All)
Quote Status Report (“AI”)
QuoteID [117] = b
QuoteStatus [297] = 0 (Accepted)
30 de julio de 2012
© MEFF 2012
118
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
Entrada de un segundo quote errónea, rechazada por el Sistema central de MEFF, para
un mismo contrato (el Sistema de MEFF cancela automáticamente ambos quotes)
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a
Symbol [55] = x
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 0 (Accepted)
Quote (“S”)
QuoteID [117] = b
Symbol [55] = x
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 4 (Canceled All)
Quote Status Report (“AI”)
QuoteID [117] = b
QuoteStatus [297] = 5 (Rejected)
9.2.4 Acotaciones y adaptaciones de FIX 4.4
Se han añadido los siguientes campos opcionales al mensaje Quote Status Report:
TransactTime [60], NoSides [552], Side [54], SecondaryOrderID [198], SecondaryExecID
[527], OrdStatus [39], OrdRejReason [103] y LeavesQty [151]
30 de julio de 2012
© MEFF 2012
119
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.3 Modificación de quotes
9.3.1 Descripción
Una vez un quote ha sido dado de alta, es posible modificar alguno de sus atributos.
Los atributos modificables de un quote en MEFF son los siguientes:
Precio de compra
Precio de venta
La solicitud de modificación se realiza con el mismo mensaje Quote que en una alta y el mismo
identificador QuoteID que se usó para el quote que se quiere modificar.
Como regla general, los campos especificados en el mensaje de solicitud de modificación reemplazan
a los campos del quote que se está modificando. Los campos no especificados no se modifican.
Una modificación de un quote rechazada por el sistema central de MEFF provoca que, además de
rechazarse la modificación, se cancele automáticamente el quote existente.
Las modificaciones se tratan con los mismos criterios de prioridad que se aplican para las órdenes
limitadas.
9.3.2 Lista de mensajes
Mensaje
Descripción
Quote (Msg Type = S)
Usado por el cliente para solicitar la modificación de un quote
Quote Status Report (Msg Type = AI)
Enviado por MEFF para confirmar o rechazar la modificación del
quote
30 de julio de 2012
© MEFF 2012
120
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.3.3 Flujo de mensajes
Modificación de un quote rechazada por MEFFGate
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a, Symbol [55] = x
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 0 (Accepted)
Quote (“S”)
QuoteID [117] = a, Symbol [55] = x
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 5 (Rejected)
Modificación de un Quote aceptada por MEFFGate y los sistemas centrales
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a
Symbol [55] = x
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 0 (Accepted)
Quote (“S”)
QuoteID [117] = a
Symbol [55] = x
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 0 (Accepted)
30 de julio de 2012
© MEFF 2012
121
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
Solicitud de modificación de un quote rechazada por el sistema central de MEFF (el
sistema de MEFF cancela automáticamente el quote existente)
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a
Symbol [55] = x
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 0 (Accepted)
Quote (“S”)
QuoteID [117] = a
Symbol [55] = x
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 5 (Rejected)
Quote Status Report (“AI”)
QuoteID [117] = a
QuoteStatus [297] = 4 (Cancelled All)
9.3.4 Acotaciones y adaptaciones de FIX 4.4
Se han añadido los siguientes campos opcionales al mensaje Quote Status Report:
TransactTime [60], NoSides [552], Side [54], SecondaryOrderID [198], SecondaryExecID
[527], OrdStatus [39], OrdRejReason [103] y LeavesQty [151]
30 de julio de 2012
© MEFF 2012
122
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.4 Cancelación de quotes
9.4.1 Descripción
Esta función permite la cancelación de un quote o de un conjunto de quotes.
Para cancelar un quote concreto se utiliza el mensaje Quote (Msg Type = S) especificando el mismo
identificador QuoteID que se usó para el quote que se quiere cancelar y con todos los campos de
precio y volumen a cero (BidPx, OfferPx, BidSize y OfferSize).
Para cancelar varios quotes simultáneamente se utiliza el mensaje Quote Cancel (Msg Type = Z)
mediante ciertos criterios de selección.
9.4.2 Criterios de selección
Los criterios de selección de quotes a cancelar que ofrece MEFF (mediante el mensaje Quote
Cancel) son los siguientes:
Instrumento. Permite seleccionar los quotes asociados a cierto tipo de instrumento mediante
el bloque Instrument, tal y como se describe en 4.5
Cuando no se incluye alguno de los campos de selección, el criterio no es tenido en cuenta para la
selección de quotes. Por tanto, no especificar ningún criterio implica la selección de todos los quotes.
9.4.3 Lista de mensajes
Mensaje
Descripción
Quote (Msg Type = S)
Usado por el cliente para solicitar la cancelación de un quote
Quote Cancel (Msg Type = Z)
Solicitud de cancelación de los quotes que cumplen los
criterios de selección
Quote Status Report (Msg Type = AI)
Enviado por MEFF para confirmar o rechazar la cancelación de
uno o varios quotes
30 de julio de 2012
© MEFF 2012
123
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.4.4 Flujo de mensajes
Solicitud de cancelación de un conjunto de quotes aceptada
MEFFGate Client
MEFFGate Server
Quote Cancel (“Z”)
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteStatus [297] = 4 (Canceled All)
…
Solicitud de cancelación de un quote concreto aceptada
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117] = a
BidPx [132] = OfferPx [133] = BidSize [134] = OfferSize [135] = 0
Quote Status Report (“AI”)
QuoteStatus [297] = 10 (Pending)
Quote Status Report (“AI”)
QuoteStatus [297] = 4 (Canceled All)
30 de julio de 2012
© MEFF 2012
124
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
Solicitud de cancelación de quotes rechazada
MEFFGate Client
MEFFGate Server
Quote Cancel (“Z”)
Quote Status Report (“AI”)
QuoteStatus [297] = 5 (Rejected)
9.4.5 Acotaciones y adaptaciones de FIX 4.4
Se han añadido los siguientes campos opcionales al mensaje Quote Status Report:
TransactTime [60], NoSides [552], Side [54], SecondaryOrderID [198], SecondaryExecID
[527], OrdStatus [39], OrdRejReason [103] y LeavesQty [151]
30 de julio de 2012
© MEFF 2012
125
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.5 Notificación de ejecución de un quote
9.5.1 Descripción
Cuando un quote es ejecutado total o parcialmente, MEFFGate informa de este hecho mediante un
mensaje Execution Report con el campo ExecType = ”F” (Trade).
9.5.2 Lista de mensajes
Mensaje
Descripción
Execution Report (Msg Type = 8)
(ExecType = F)
Enviado por MEFFGate para notificar la ejecución total o parcial de
un quote
9.5.3 Flujo de mensajes
Notificación de ejecución
El cliente recibe un mensaje Execution Report, por cada ejecución parcial y total de un Quote.
MEFFGate Client
MEFFGate Server
Quote (“S”)
QuoteID [117]
...
Execution Report (“8”)
ExecType [150] = F (Trade), OrderID [37] = QuoteID,
LastPx[31], LastQty[32] , Account [1]
9.5.4 Acotaciones y adaptaciones de FIX 4.4
No se han realizado acotaciones ni adaptaciones en los mensajes incluidos en este capítulo.
30 de julio de 2012
© MEFF 2012
126
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.6 Solicitud de información del estado de quotes
9.6.1 Descripción
La solicitud de información relativa a quotes se realiza mediante el mensaje Quote Status Request.
Los tipos de información ofrecidos por MEFF son:
Instrumento. Permite consultar los quotes asociadas a cierto tipo de instrumento mediante el
bloque Instrument, tal y como se describe en 4.5
9.6.2 Lista de mensajes
Mensaje
Descripción
Solicitud del estado de un conjunto de quotes
Quote Status Request (Msg Type = a)
Información del estado de los quotes, o notificación
de solicitud errónea
Quote Status Report (Msg Type = AI)
9.6.3 Flujo de mensajes
Solicitud de información de quotes correcta
MEFFGate Client
MEFFGate Server
Quote Status Request (“a”)
Quote Status Report (“AI”)
QuoteStatus [297] = 8 (Query)
Solicitud de información de quotes errónea
MEFFGate Client
MEFFGate Server
Quote Status Request (“a”)
Quote Status Report (“AI”)
QuoteStatus [297] = 5 (Rejected)
9.6.4 Acotaciones y adaptaciones de FIX 4.4
No se han realizado acotaciones ni adaptaciones en los mensajes incluidos en este capítulo.
30 de julio de 2012
© MEFF 2012
127
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.7 Definición de mensajes
9.7.1 Quote (Msg Type = S)
Mensaje enviado por el cliente para solicitar la entrada, modificación o cancelación de un quote en el
sistema
Tag
Nombre
Req
Valores válidos
Standard Header
QuoteID
S
S
MsgType = S
117
Formato
Descripción
String (10)
Identificador único del quote.
Si es una modificación el contenido de
este campo será el identificador del
quote que se quiere modificar
55
Start <Instrument>
Symbol
S
Código de
contrato
String(22)
Código de contrato.
En una modificación o una cancelación
debe contener el mismo valor que el
quote original
132
End <Instrument>
BidPx
N
Price
Precio de compra.
En una modificación, si no se
especifica, el precio de compra
permanece inalterado.
133
OfferPx
N
Price
En una cancelación este campo tiene
que ser cero
Precio de venta.
En una modificación, si no se
especifica, el precio de venta
permanece inalterado.
134
BidSize
N
Qty
En una cancelación este campo tiene
que ser cero
Volumen de compra.
En una modificación no se permite
informar este campo
135
OfferSize
N
Qty
En una cancelación este campo tiene
que ser cero
Volumen de venta.
En una modificación no se permite
informar este campo.
40
59
OrdType
TimeInForce
N
N
Standard Trailer
S
30 de julio de 2012
2 = Limit
0 = Day (default
value)
Char
Char
© MEFF 2012
En una cancelación este campo tiene
que ser cero
Tipo de quote
Periodo de validez del quote
128
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.7.2 Quote Cancel (Msg Type = Z)
Mensaje enviado por el cliente para solicitar la cancelación de los quotes que cumplen unos ciertos
criterios de selección.
Tag
Req
S
S
Valores válidos
MsgType = Z
117
Nombre
Standard Header
QuoteID
298
QuoteCancelType
S
4 = Cancel All
Quotes
Int
Start <Parties>
NoPartyIDs
PartyID
N
N
>0,<=2
NumInGroup
String
PartyIDSource
N
Char
PartyRole
N
D = Proprietary/
Custom code
13 = Order
Origination Firm
11 = Order
Origination Trader
N
1
NumInGroup
S
[N/A]
o código de
contrato
String(22)
Para más detalle
sobre los activos
subyacentes,
véase Tabla 21 en
documento
“Tablas de
Codificación”
8 = Exchange
Symbol
Longitud exacta.
Consúltese 4.5.1
para una lista de
valores posibles
YYYYMM o
YYYYMMDD o
YYYYMMwW
String
453

448

447

452
295

55
End <Parties>
NoQuoteEntries
Start <Instrument>
Symbol

48
SecurityID
N

22

461
SecurityIDSource
N
CFICode
N

200
MaturityMonthYear
N
End <Instrument>
Standard Trailer
S
30 de julio de 2012
Formato
Descripción
String (10)
Identificador único de este mensaje
Quote Cancel
Int
String
Código de miembro u operador cuyos
quotes se desea cancelar
Requerido si se ha especificado
NoPartyIDs
Indica el rol que toma el código
especificado en PartyID.
Requerido si se ha especificado
NoPartyIDs
Código de contrato. Si contiene
“[N/A]” se seleccionan los quotes que
cumplen con el resto de criterios de
selección
Activo subyacente del contrato
String(6)
Requerido si se ha especificado
SecurityID
Tipo de contrato
Month-Year
Vencimiento del contrato
© MEFF 2012
129
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.7.3 Quote Status Request (Msg Type = a)
Mensaje enviado por el cliente para consultar al estado de los quotes que cumplen unos ciertos
criterios de selección.
Tag
649
Nombre
Standard
Header
QuoteStatusReq
ID
Req
S
55
S
48
SecurityID
N
22
SecurityIDSourc
e
CFICode
N
MaturityMonthYe
ar
N
200
453

448

447

452
Formato
Descripción
String(10)
Identificador de la solicitud.
Presente cuando la solicitud es un
mensaje Quote Status Request
[N/A]
o código de
contrato
Para más detalle
sobre los activos
subyacentes,
véase Tabla 21
en documento
“Tablas de
Codificación”
8 = Exchange
Symbol
Longitud exacta.
Consúltese 4.5.1
para una lista de
valores posibles
YYYYMM o
YYYYMMDD o
YYYYMMwW
String(22)
Código de contrato. Si contiene “[N/A]” se
seleccionan los quotes que cumplen con
el resto de criterios de selección
Activo subyacente del contrato
NumInGroup
String
N
Start
<Instrument>
Symbol
461
Valores válidos
MsgType = a
N
End
<Instrument>
Start <Parties>
NoPartyIDs
PartyID
N
N
>0,<=2
PartyIDSource
N
PartyRole
N
D = Proprietary/
Custom code
13 = Order
Origination Firm
11 = Order
Origination
Trader
End <Parties>
Standard Trailer
S
30 de julio de 2012
String
String
String(6)
Requerido si se ha especificado
SecurityID
Tipo de contrato
Month-Year
Vencimiento del contrato
Char
Int
© MEFF 2012
Código de miembro u operador
propietario de los quotes
Requerido si se ha especificado
NoPartyIDs
Indica el rol que toma el código
especificado en PartyID.
Requerido si se ha especificado
NoPartyIDs
130
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.7.4 Quote Status Report (Msg Type = AI)
Mensaje enviado por MEFFGate para notificar el estado de uno o varios quotes. También usado para
rechazar una solicitud no válida relacionada con quotes.
Tag
649
Nombre
Standard Header
QuoteStatusReqI
D
Req
S
N
Valores válidos
MsgType = AI
Formato
Descripción
String
Identificador de la solicitud.
117
QuoteID
S
537
QuoteType
Start <Parties>
NoPartyIDs
PartyID
N
1 = Tradeable
Int
N
N
>0,<=2
NumInGroup
String
PartyIDSource
N
Char
PartyRole
N
D = Proprietary/
Custom code
13 = Order
Origination Firm
11 = Order
Origination
Trader
55
End <Parties>
Start
<Instrument>
Symbol
S
Código de
contrato
String(22)
Código de contrato asociado al quote
1
132
End <Instrument>
Account
BidPx
N
N
Longitud exacta
String(5)
Price
133
OfferPx
N
Price
134
BidSize
N
Qty
135
OfferSize
N
Qty
40
297
OrdType
QuoteStatus
N
N
Código de cuenta asociada al quote
Precio de compra del quote tal y como
se indicó en el mensaje Quote
Precio de venta del quote tal y como se
indicó en el mensaje Quote
Volumen de compra del quote tal y
como se indicó en el mensaje Quote
Volumen de venta del quote tal y como
se indicó en el mensaje Quote
Tipo de quote
Indica el estado del quote.
En caso de rechazo (valor 5), el campo
Text contiene un texto explicativo
58
Text
N
String
60*
TransactTime
N
UTCTimesta
mp
552*
 54*
NoSides
Side
N
N
198*
SecondaryOrderID
N
String
527*
SecondaryExecID
N
String
453

448

447

452
30 de julio de 2012
String
Presente cuando la solicitud es un
mensaje Quote Status Request.
Identificador único del quote enviado
por el cliente en el mensaje Quote
2 = Limit
0 = Accepted
4 = Canceled All
5 = Rejected
8 = Query
9 = Quote not
found
10 = Pending
1, 2
1 = Buy
2 = Sell
Int
Char
Int
NumInGroup
Char
© MEFF 2012
Código de miembro u operador
Requerido si se ha especificado
NoPartyIDs
Indica el rol que toma el código
especificado en PartyID.
Requerido si se ha especificado
NoPartyIDs
Si QuoteStatus = 5 contiene un texto
explicativo del rechazo
Hora en que se produjo la transacción
asociada a este mensaje Quote Status
Report. Este campo no está presente
cuando QuoteStatus es igual a 10
Posición que toma la parte en el quote
Identificador de la parte compradora o
vendedora del quote tal y como se
asignó por los sistemas centrales de
MEFF o de otro mercado
Número de historia de la parte
compradora o vendedora del quote tal y
como se asignó por los sistemas
131
MEFFGate Negociación - Especificaciones de la Interfaz FIX
 39*
OrdStatus
N
103*
OrdRejReason
N
151*
LeavesQty
N
0 = New
1 = Partially
Filled
2 = Filled
4 = Cancelled
6 = Pending
Cancel
8 = Rejected
A = Pending
New
E = Pending
Replace
0 = Exchange
option
3 = Order
exceeds limit
(price or volume
filters)
12 = Surveillance option
99 = Other
100 = Desconexión de la aplicación cliente
101 = Sustitución por nuevo
quote
102= Falta
configuración
parámetros
Quote
103 = No tiene
permiso
para
entrar/gestionar
quotes
104= Delta protection
9. Gestión de Quotes
Char
Int
centrales de MEFF o de otro mercado.
Cada vez que se produce un nuevo
suceso en la vida de la parte
compradora o vendedora del quote
(modificación, ejecución o cancelación)
se asigna un nuevo valor a este campo.
Informa del estado actual de la parte
compradora o vendedora del quote
Motivo de rechazo o cancelación.
Presente si OrdStatus = 4 ó 8
Qty
Volumen pendiente de la parte
compradora o vendedora del quote.
Contiene 0 cuando OrdStatus = 4
(Cancelled)
Standard Trailer
30 de julio de 2012
S
© MEFF 2012
132
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.8 Delta protection y configuración de la cuenta para quotes
9.8.1 Introducción
Esta funcionalidad permite a los clientes de MEFFGate definir los valores que se van a tener en
cuenta para la configuración de la cuenta utilizada en el mensaje Quote y de la delta protection para
sus quotes y órdenes.
Estos valores son:
Cuenta
Periodo de tiempo en que actúa la delta protection
Motivos de cancelación de la delta protection. Se establecen tres límites que
actúan de forma independiente dentro del periodo de tiempo establecido:
o Volumen total de contratos ejecutados
o Delta: abs[Volumen de (Compra de calls + Venta de puts + Compra de
Futuros) – (Venta de calls + Compra de puts – Venta de Futuros)]
o abs[Volumen de compras – Volumen de ventas]
MUY IMPORTANTE: A partir de la versión 9.50 está disponible la funcionalidad de la delta
protection.
9.8.2 Delta Protection: Descripción
Cada cliente de MEFFGate podrá activar esta protección para sus quotes y órdenes, en un activo
subyacente y tipo de contrato, del modo siguiente:
Periodo de tiempo en que actúa la delta protection (entre 1 y 60 segundos)
Motivos de cancelación de la delta protection. Se establecen tres límites que
actúan de forma independiente dentro del periodo de tiempo establecido:
o Volumen total de contratos ejecutados
o Delta: abs[Volumen de (Compra de calls + Venta de puts + Compra de
Futuros) – (Venta de calls + Compra de puts – Venta de Futuros)]
o abs[Volumen de compras – Volumen de ventas]
Un valor de cero en alguno de estos tres límites indica que el sistema central de MEFF no va a
efectuar este control en concreto.
Para desactivar el control por delta protection se deberá cumplimentar con cero el parámetro “periodo
de tiempo en que actúa la delta protection”.
Después de cada ejecución se comprueba si se ha sobrepasado cualquiera de los tres controles
definidos en la delta protection, en cuyo caso el sistema central de MEFF efectuará las cancelaciones
de todas las órdenes y quotes vivas del operador de este activo subyacente y tipo de contrato con el
fin de proteger del posible tratamiento de transacciones en vuelo. No se admitirán nuevas órdenes ni
quotes, en el correspondiente activo subyacente, tipo de contrato y cuenta, hasta que el cliente de
MEFFGate vuelva a enviar un nuevo mensaje estableciendo el nuevo límite con RegistTransType
[514] = 0 (New).
El envío de este mensaje implica poner a cero todos los contadores de operaciones en el
correspondiente activo subyacente y tipo de contrato.
9.8.3 Campo RegistID
El campo RegistID, presente en una solicitud iniciada con un mensaje Registration Instructions, es el
identificador que permite relacionar la petición con los mensajes Registration Instructions Response
de respuesta.
30 de julio de 2012
© MEFF 2012
133
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
El campo RegistID asignado por el cliente debe ser de diez caracteres de longitud. Si la longitud
fuese inferior, MEFFGate completa con espacios por detrás hasta llegar a dicha longitud. MEFFGate
también acepta que los mensajes enviados por el cliente usen un RegistID de longitud 30, en este
caso sólo las 10 últimas posiciones pueden ser fijadas libremente, ya que las 20 primeras deben
coincidir con el formato que se presenta a continuación.
Envío de mensaje sin especificar el prefijo
Cliente
MEFFGate
10
Registration Instructions
RegistID =
20
Registration
Instructions Response
RegistID =
Registration
Instructions Response
RegistID =
10
...
Envío de mensaje especificando el prefijo
Cliente
MEFFGate
Registration Instructions
RegistID =
Registration
Instructions Response
RegistID =
Registration
Instructions Response
RegistID =
20
10
20
10
...
- Prefijado del identificador RegistID -
MEFFGate realiza un proceso de prefijado del campo RegistID para evitar duplicados en este
identificador.
El RegistID asignado por MEFFGate en el mensaje de respuesta tiene
AAMMDDMmmmTttMmmmTttNnnnnnnnnn, formado con la siguiente codificación:
el
formato
AAMMDD. Es la fecha de la sesión de cámara
MmmmTtt. Contiene el código de miembro y operador de conexión desde el que se realizó la
solicitud
Nnnnnnnnnn. Es el valor asignado por la aplicación cliente a RegistID en el mensaje original
Un operador que quiera modificar o cancelar una referencia o un filtro de Give-up, debe usar este
identificador en el campo RegistRefID del mensaje Registration Instructions de solicitud.
30 de julio de 2012
© MEFF 2012
134
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.8.4 Lista de mensajes
Mensaje
Descripción
Registration Instructions (Msg
Type = o)
Usado por el cliente para gestionar los parámetros parámetros de Delta
protection y configuración de la cuenta para quotes
Registration Instructions
Response (Msg Type = p)
Enviado por MEFF para confirmar o rechazar la petición de gestión de
parámetros de Delta protection y configuración de la cuenta para quotes
9.8.5 Flujo de mensajes
Solicitud correcta
MEFFGate Client
MEFFGate Server
Registration Instructions (“o”)
PartySubID [523] = QUOTE
Registration Instructions Response (“p”)
RegistStatus[506] = A (Accepted)
Solicitud errónea
MEFFGate Client
MEFFGate Server
Registration Instructions (“o”)
PartySubID [523] = QUOTE
Registration Instructions Response (“p”)
RegistStatus[506] = R (Rejected)
9.8.6 Acotaciones y adaptaciones de FIX 4.4
En el mensaje Registration Instructions, los campos NoPartyIDs (453) y NoPartySubIDs (802)
han pasado a ser requeridos
Se ha añadido el campo Text (58) al mensaje Registration Instructions Response
Se ha añadido el bloque Instrument como requerido al mensaje Registration Instructions
Se han añadido los bloques Instrument y Stipulations al mensaje Registration Instructions
Response
30 de julio de 2012
© MEFF 2012
135
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.8.7 Definición de mensajes
9.8.7.1
Registration Instructions (Msg Type = o)
Mensaje enviado por el cliente para gestionar los parámetros de parámetros de Delta protection y
configuración de la cuenta para quotes para los futuros y las opciones de un activo subyacente.
Tag
Nombre
Req
Valores válidos
Standard Header
RegistID
S
S
MsgType = o
513
514
RegistTransType
S
0 = New
1 = Replace
2 = Cancel
508
RegistRefID
N
Start <Parties>
NoPartyIDs
PartyID
S*
S
2
PartyIDSource
S
String
PartyRole
S

802

523
NoPartySubIDs
S*
D = Proprietary /
Custom code
13 = Order
Origination Firm
11 = Order
Origination
Trader
1
PartySubID
S
QUOTE = Delta
protection y
configuración de
la cuenta para
quotes
String

803
PartySubIDType
S
Int
Este campo es requerido por el
estándar. MEFFGate acepta que este
campo no esté presente
1
End <Parties>
Account
S*
String (5)
Cuenta a aplicar para los próximos
quotes de futuros u opciones de este
activo subyacente para este código de
Miembro-Operador (Order Origination
Firm-Order Origination Trader)
55*
48*
Start <Instrument>
Symbol
SecurityID
S
S*
22*
SecurityIDSource
S*
461*
CFICode
S*
453

448

447

452
Formato
Descripción
String
Identificador único para cada mensaje
Registration Instructions
Char
String
NumInGroup
String
[N/A]
Para más detalle
sobre los activos
subyacentes,
véase Tabla 21
en documento
“Tablas de
Codificación”
8 = Exchange
Symbol
FFXXSX
OXXXXS
FMXXXX
Identificador del mensaje Registration
Instructions que es reemplazado o
cancelado por este mensaje.
Requerido cuando RegistTransType =
1ó2
Código de Miembro y Operador para el
que va a actuar esta configuración
Int
NumInGroup
String
String
Activo subyacente del contrato
String
String (6)
Tipo de contrato
End <Instrument>
Start <Stipulations>
30 de julio de 2012
© MEFF 2012
136
MEFFGate Negociación - Especificaciones de la Interfaz FIX
232*

233*
NoStipulations
StipulationType
S*
S*
TIMEDP=
Periodo de
tiempo para la
delta protection
9. Gestión de Quotes
NumInGroup
String
VOLUMEMAX=
Volumen total de
contratos
ejecutados
ABSDELTAMAX
= Delta
resultante

234*
StipulationValue
S*
DELTAMAX=
Saldo de
contratos
un valor
numérico,
>= 0,
sin decimales
String
Si StipulationType = “TIMEDP”, es el
periodo de tiempo a aplicar para los
controles de la delta protection de
futuros u opciones de este activo
subyacente para este código de
Miembro-Operador (Order Origination
Firm-Order Origination Trader). Es un
valor expresado en segundos (>1,
<=60). Si no se desea ningún control
de la delta protection hay que
cumplimentar este campo con 0 (cero).
Si StipulationType = “VOLUMEMAX”,
es el volumen total de contratos
ejecutados, acumulados en el periodo
de tiempo, de futuros u opciones de
este activo subyacente para este
código de Miembro-Operador (Order
Origination Firm-Order Origination
Trader). Si no se desea activar este
control de la delta protection hay que
cumplimentar este campo con 0 (cero).
Si StipulationType =
“ABSDELTAMAX”, es la delta
resultante máxima, acumulada en el
periodo de tiempo, de futuros u
opciones de este activo subyacente
para este código de MiembroOperador (Order Origination FirmOrder Origination Trader). Si no se
desea activar este control de la delta
protection hay que cumplimentar este
campo con 0 (cero).
Si StipulationType = “DELTAMAX”, es
el saldo neto resultante (compras –
ventas), acumulado en el periodo de
tiempo, de futuros u opciones de este
activo subyacente para este código de
Miembro-Operador (Order Origination
Firm-Order Origination Trader). Si no
se desea activar este control de la
delta protection hay que cumplimentar
este campo con 0 (cero).
End <Stipulations>
Standard Trailer
30 de julio de 2012
S
© MEFF 2012
137
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9.8.7.2
9. Gestión de Quotes
Registration Instructions Response (Msg Type = p)
Mensaje usado por MEFFGate para indicar el estado de la petición iniciada con un mensaje
Registration Instructions.
Este mensaje sólo es enviado al operador que realizó la solicitud relacionada.
Tag
Nombre
Req
Valores válidos
Standard Header
RegistID
S
S
MsgType = p
513
514
RegistTransType
S
0 = New
1 = Replace
2 = Cancel
508
RegistRefID
N
String
Start <Parties>
NoPartyIDs
PartyID
N
N
NumInGroup
String
PartyIDSource
N
PartyRole
N

802

523
NoPartySubIDs
N
PartySubID
S

803
PartySubIDType
S
Int
El contenido de este campo no debe
ser tenido en cuenta, está presente
por requerimiento del estándar
1
End <Parties>
Account
N
String
Cuenta a aplicar para los próximos
quotes de futuros u opciones de este
activo subyacente para este código de
Miembro-Operador (Order Origination
Firm-Order Origination Trader)
55*
48*
Start <Instrument>
Symbol
SecurityID
S
N
22*
SecurityIDSource
N
461*
CFICode
N
232*
End <Instrument>
Start <Stipulations>
NoStipulations
N
453

448

447

452
30 de julio de 2012
Formato
Descripción
String
Identificador asignado por el cliente en
el mensaje Registration Instructions
Char
D = Proprietary /
Custom code
13 = Order
Origination Firm
11 = Order
Origination
Trader
1
String
QUOTE = Delta
protection y
configuración de
la cuenta para
quotes
String
[N/A]
Para más detalle
sobre los activos
subyacentes,
véase Tabla 21
en documento
“Tablas de
Codificación”
8 = Exchange
Symbol
FFXXSX
OXXXXS
FMXXXX
Identificador del mensaje Registration
Instructions que es reemplazado o
cancelado por este mensaje. Presente
cuando RegistTransType = 1 ó 2
Código de Miembro y Operador para el
que actúa esta configuración
Int
NumInGroup
String
String
Activo subyacente del contrato
String
String (6)
Tipo de contrato
NumInGroup
© MEFF 2012
138
MEFFGate Negociación - Especificaciones de la Interfaz FIX

233*
StipulationType
N
TIMEDP=
Periodo de
tiempo para la
delta protection
9. Gestión de Quotes
String
VOLUMEMAX=
Volumen total de
contratos
ejecutados
ABSDELTAMAX
= Delta
resultante
DELTAMAX=
Saldo de
contratos

234*
StipulationValue
N
String
Si StipulationType = “TIMEDP”, es el
periodo de tiempo a aplicar para los
controles de la delta protection de
futuros u opciones de este activo
subyacente para este código de
Miembro-Operador (Order Origination
Firm-Order Origination Trader). Es un
valor expresado en segundos (>1,
<=60). Si no se desea ningún control
de la delta protection hay que
cumplimentar este campo con 0 (cero).
Si StipulationType = “VOLUMEMAX”,
es el volumen total de contratos
ejecutados, acumulados en el periodo
de tiempo, de futuros u opciones de
este activo subyacente para este
código de Miembro-Operador (Order
Origination Firm-Order Origination
Trader). Si no se desea activar este
control de la delta protection hay que
cumplimentar este campo con 0 (cero).
Si StipulationType =
“ABSDELTAMAX”, es la delta
resultante máxima, acumulada en el
periodo de tiempo, de futuros u
opciones de este activo subyacente
para este código de MiembroOperador (Order Origination FirmOrder Origination Trader). Si no se
desea activar este control de la delta
protection hay que cumplimentar este
campo con 0 (cero).
Si StipulationType = “DELTAMAX”, es
el saldo neto resultante (compras –
ventas), acumulado en el periodo de
tiempo, de futuros u opciones de este
activo subyacente para este código de
Miembro-Operador (Order Origination
Firm-Order Origination Trader). Si no
se desea activar este control de la
delta protection hay que cumplimentar
este campo con 0 (cero).
506
End <Stipulations>
RegistStatus
30 de julio de 2012
S
A = Accepted
R = Rejected
Char
© MEFF 2012
Estado de la petición del mensaje
Registration Instructions.
En caso de rechazo (valor “R”), el
139
MEFFGate Negociación - Especificaciones de la Interfaz FIX
58*
Text
N
Standard Trailer
S
30 de julio de 2012
9. Gestión de Quotes
String
© MEFF 2012
campo Text contiene un texto
explicativo
Cuando RegistStatus = “R”, contiene
una descripción específica del motivo
de rechazo
140
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.9 Consulta de parámetros de Delta protection y configuración de la
cuenta para quotes
9.9.1 Descripción
La aplicación cliente puede solicitar la consulta de parámetros de Delta protection y configuración de
la cuenta para quotes mediante el mensaje Registration Instructions.
Como respuesta a esta petición se reciben varios mensajes Registration Instructions Response, uno
para cada activo subyacente y tipo de contrato, con la información disponible en este momento en el
sistema.
9.9.2 Lista de mensajes
Mensaje
Descripción
Registration Instructions (Msg
Type = o)
Usado por el cliente para solicitar la consulta de parámetros de Delta
protection y configuración de la cuenta para quotes
Registration Instructions
Response (Msg Type = p)
Enviado por MEFFGate para confirmar o rechazar la consulta de
parámetros de Delta protection y configuración de la cuenta para quotes
9.9.3 Flujo de mensajes
Solicitud correcta
MEFFGate Client
MEFFGate Server
Registration Instructions (“o”)
SubscriptionRequestType = 0 (Snaphot)
Registration Instructions Response (“p”)
RegistStatus[506] = A (Accepted)
…
Solicitud errónea
MEFFGate Client
MEFFGate Server
Registration Instructions (“o”)
SubscriptionRequestType = 0 (Snaphot)
Registration Instructions Response (“p”)
RegistStatus[506] = R (Rejected)
30 de julio de 2012
© MEFF 2012
141
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.9.4 Acotaciones y adaptaciones de FIX 4.4
Se ha añadido el campo SubscriptionRequestType (263) al mensaje Registration Instructions
Se han añadido los campos LastRptRequested (912) y Text (58) al mensaje Registration
Instructions Response
En el mensaje Registration Instructions, el campo NoPartyIDs (453) ha pasado a ser
requerido
Se han añadido los bloques Instrument y Stipulations al mensaje Registration Instructions
Response
30 de julio de 2012
© MEFF 2012
142
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9. Gestión de Quotes
9.9.5 Definición de mensajes
9.9.5.1
Registration Instructions (Msg Type = o)
Mensaje enviado por el cliente para consultar los parámetros de Delta protection y configuración de la
cuenta para quotes
Tag
Nombre
Req
Valores válidos
Standard Header
RegistID
S
S
MsgType = o
513
514
RegistTransType
S
Start <Parties>
NoPartyIDs
PartyID
S*
S
2
PartyIDSource
S
String
PartyRole
S
D = Proprietary /
Custom code
13 = Order
Origination Firm
11 = Order
Origination
Trader
End <Parties>
SubscriptionReques
tType
N
0 = Snasphot
Char
Standard Trailer
S
453

448

447

452
263*
30 de julio de 2012
Formato
Descripción
String
Identificador único para cada mensaje
Registration Instructions
MEFFGate no tiene en cuenta el valor
de este campo cuando viene
informado el tag
SubscriptionRequestType[263]
Char
NumInGroup
String
Código de Miembro y Operador para el
que actúa esta configuración
Int
© MEFF 2012
Si se informa este campo, MEFFGate
interpreta que se desea una consulta
de los parámetros del quote existentes
para este Miembro-Operador y no va a
tener en cuenta el resto de campos de
este mensaje
143
MEFFGate Negociación - Especificaciones de la Interfaz FIX
9.9.5.2
9. Gestión de Quotes
Registration Instructions Response (Msg Type = p)
Mensaje usado por MEFFGate para indicar el estado de la petición iniciada con un mensaje
Registration Instructions.
Este mensaje sólo es enviado al operador que realizó la solicitud relacionada.
Tag
Nombre
Req
Valores válidos
Standard Header
RegistID
S
S
MsgType = p
513
514
912*
RegistTransType
LastRptRequested
S
N
0 = New
Y = Last
message
N = Not last
message
506
…
<Parties>
Account
<Instrument>
<Stipulations>
…
RegistStatus
S
58*
Text
N
Standard Trailer
S
30 de julio de 2012
Formato
Descripción
String
Identificador asignado por el cliente en
el mensaje Registration Instructions
Char
Boolean
Información específica del registro
A = Accepted
R = Rejected
Char
String
© MEFF 2012
Estado de la petición del mensaje
Registration Instructions.
En caso de rechazo (valor “R”), el
campo Text contiene un texto
explicativo
Cuando RegistStatus = “R”, contiene
una descripción específica del motivo
de rechazo
144
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10.
10. Aplicaciones
Aplicaciones
10.1 Introducción
En este capítulo se describen los mecanismos ofrecidos por la interfaz MEFFGate FIX para la gestión
de aplicaciones.
Esta funcionalidad permite solicitar el registro de estas aplicaciones en MEFF.
En las aplicaciones entre distintos miembros intervienen típicamente dos miembros y son entradas
en el sistema por uno cualquiera de los dos o por un intermediario. Las dos partes tienen que aceptar
explícitamente la operación. En algunos casos, además, Supervisión de Mercado debe aceptar
también la operación.
Los sistemas clientes de MEFFGate que se hayan suscrito, recibirán un mensaje Trade Capture
Report por cada operación que deban confirmar. Es opcional que envíen como respuesta un mensaje
Trade Capture Report Ack (MEFFGate los ignora). El sistema cliente puede rechazar la operación o
aceptarla, en cuyo caso deberá enriquecer la información incluyendo el código de cliente al que debe
asignarse la operación. Todo ello se realiza mediante el mensaje Trade Capture Report que, una vez
más, es contestado por MEFFGate con un Trade Capture Report Ack.
El solicitante del registro de una aplicación utiliza el mensaje Trade Capture Report. MEFFGate
siempre responde con un mensaje Trade Capture Report Ack con los mismos datos de la petición y
una indicación del estado en que queda.
Los sistemas cliente de MEFFGate que deseen recibir las notificaciones de estas aplicaciones
deberán solicitar la recepción de Trade Capture Reports, mediante el mensaje Trade Capture Report
Request, que es contestado por MEFFGate mediante un Trade Capture Report Request Ack. Como
es habitual en FIX, esta solicitud de recepción se puede hacer en modo “foto” (snapshot) o en modo
“foto + actualizaciones” (snapshot + updates).
Cada vez que se produzca una modificación en el estado de una operación, MEFFGate notificará con
mensajes Trade Capture Report a todas las partes implicadas: comprador, vendedor y, en su caso,
intermediario. En todo caso, MEFFGate nunca informa sobre el código de cliente o la referencia más
que a la parte interesada (comprador o vendedor).
Algunas aplicaciones, una vez aceptadas por ambas partes, deben ser aceptadas por Supervisión. En
el momento en que Supervisión las acepte o las rechace, todas las partes recibirán una notificación.
En todo caso, para aquellas aplicaciones que sean finalmente aceptadas, se generará un mensaje
Execution Report para cada una de las contrapartes.
10.2 Entrada de aplicaciones entre distintos miembros
En estas aplicaciones hay tres participantes implicados: el comprador y el vendedor de la operación, y
el intermediario que envía la operación a MEFFGate. Las aplicaciones a precio convenido son
comunicadas a MEFFGate mediante el mensaje Trade Capture Report. Cada uno de los participantes
se identifica por el código de miembro.
Para identificar un un contrato no estándar (flexible) se debe usar la siguiente combinación en la
funcionalidad de aplicaciones: SecurityID [48] + CFICode[461] + MaturityDate [541] +
ContractMultiplier [231] + StrikePrice [202]. En este caso, cuando proceda, el sistema central asignará
un código siguiendo los criterios establecidos y cumplimentará estos campos en todos los mensajes
asociados (Trade Capture Report y Trade Capture Report Ack).
Una vez la operación ha sido enviada a MEFFGate, ésta puede ser cancelada o modificada por el
emisor, siempre y cuando aún no haya sido aceptada por la o las contrapartes.
30 de julio de 2012
© MEFF 2012
145
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
Además de un miembro externo, tanto el comprador como el vendedor pueden actuar como
intermediarios. Esto lleva a cuatro posibles escenarios:
Escenario
Identificación de los participantes en el mensaje
Intermediario, comprador y vendedor son
miembros diferentes
SenderCompID = Código de miembro del intermediario
SenderSubID = Código del operador intermediario
Buyer PartyID = Código de miembro del comprador
(Buyer PartySubID = Código del operador comprador)
Seller PartyID = Código de miembro del vendedor
(Seller PartySubID = Código del operador vendedor)
El comprador actúa como intermediario
SenderCompIDID = Código de miembro del comprador
SenderSubID = Código del operador comprador
Buyer PartyID = Código de miembro del comprador
Buyer PartySubID = Código del operador comprador
Seller PartyID = Código de miembro del vendedor
(Seller PartySubID = Código del operador vendedor)
El vendedor actúa como intermediario
SenderCompID = Código de miembro del vendedor
SenderSubID = Código del operador vendedor
Buyer PartyID = Código de miembro del comprador
(Buyer PartySubID = Código del operador comprador)
Seller PartyID = Código de miembro del vendedor
Seller PartySubID = Código del operador vendedor
El mismo miembro actúa como comprador,
vendedor e intermediario
SenderCompID = Código de miembro
SenderSubID = Código de operador
Buyer PartyID = Código de miembro del comprador
Buyer PartySubID = Código del operador comprador
Seller PartyID = Código de miembro del vendedor
Seller PartySubID = Código del operador vendedor
Consúltese 3.3 para más información sobre el uso de los campos SenderCompID y SenderSubID.
10.3 Aceptación de aplicaciones entre distintos miembros
Si finalmente la aplicación es aceptada y ejecutada, tanto el comprador como el vendedor reciben los
correspondientes mensajes Execution Report (ExecType = “F”, Trade) notificándoles la ejecución de
la operación a precio convenido. Estos mensajes tendrán como código de operador el de aquél que
aceptó la operación. En el campo CrossID del Execution Report se indicará el valor del
SecondaryTradeReportID asignado por el sistema central.
Tal y como se explicó previamente, cuando la operación a precio convenido es aceptada y ejecutada,
el intermediario recibe un Trade Capture Report.
El mensaje Execution Report permite identificar al intermediario de la operación mediante los roles
Entering Firm y Entering Trader del bloque Parties (véase 4.3 para más información sobre el bloque
Parties).
10.4 Entrada de aplicaciones dentro del mismo miembro
El flujo de información en este caso no precisa de la confirmación por cada una de las partes.
30 de julio de 2012
© MEFF 2012
146
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
10.5 Precio y Efectivo total
El campo GrossTradeAmt [381] indica el efectivo total de la transacción. Si este campo viene
informado, este valor va a prevalecer sobre el del precio redondeado.
El Sistema determinará el precio de la transacción de acuerdo con la fórmula:
Pr ecio _ trans
Efectivo
Volumen multiplicador
y comprobará que este valor Precio_trans esté acorde con el precio redondeado proporcionado por la
aplicación cliente en el campo LastPx [31] del mensaje Trade Capture Report. Si no es así, la
aplicación se rechazará.
10.6 Grupos de aplicaciones y aplicaciones de contado
El campo TradeLinkID [820] permite agrupar diversas aplicaciones que forman parte de un mismo
bloque sobre contratos de un mismo subyacente.
En este caso, una de las operaciones puede referirse al contrato subyacente. Si éste está negociable
en SIBE, la operación sobre el contado será notificada a los miembros de MEFF y a los miembros de
SIBE (Miembro Validador), quienes serán los encargados de aceptarla o rechazarla. La aceptación
final de la operación de contado queda sujeta a que también sea aceptada alguna de las
correspondientes operaciones en derivados.
10.7 Lista de mensajes
Mensaje
Descripción
Trade Capture Report Request (Msg Type = AD)
Solicitud de aplicaciones pendientes de confirmar
Trade Capture Report Request Ack (Msg Type = AQ)
Acuse de recibo del mensaje Trade Capture Report
Request
Trade Capture Report (Msg Type = AE)
Trade Capture Report Ack (MsgType = AR)
30 de julio de 2012
Enviado a MEFFGate para registrar, aceptar, rechazar o
cancelar una aplicación.
Enviado por MEFFGate para notificar a las partes sobre la
situación del registro de una operación.
Enviado por MEFFGate como acuse de recibo del mensaje
Trade Capture Report
© MEFF 2012
147
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
10.8 Flujo de mensajes
Solicitud de suscripción a mensajes de aplicaciones, seguido de una cancelación de la
suscripción
Gate Client
Gate Server
Trade Capture Report Request (“AD”)
SubscriptionRequestType [263] = 1 (Snapshot+Updates)
Trade Capture Report Request Ack (“AQ”)
TotNumTradeReports [748] = 0
TradeRequestStatus [750] = 1 (Completed)
Trade Capture Report (“AE”)
One message for every trade in the
snapshot
...
Trade Capture Report (“AE”)
...
One message for every update
Trade Capture Report Request (“AD”)
SubscriptionRequestType [263] = 2 (Unsubscribe)
Solicitud de snapshot de aplicaciones sin suscripción de actualización, sin aplicaciones
que notificar
Cuando no hay ninguna operación que cumpla los criterios de selección, el servidor envía un
mensaje Trade Capture Report Request Ack para notificar el resultado de la petición, con un
valor 0 en el campo TotNumTradeReports.
Gate Client
Gate Server
Trade Capture Report Request (“AD”)
SubscriptionRequestType [263] = 0 (Snapshot)
Trade Capture Report Request Ack (“AQ”)
TotNumTradeReports [748] = 0
TradeRequestStatus [750] = 1 (Completed)
30 de julio de 2012
© MEFF 2012
148
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
Solicitud de aplicaciones no válida
Cuando la solicitud de aplicaciones de cámara (mensaje Trade Capture Report Request) no es
válida, la solicitud es rechazada mediante un mensaje Trade Capture Report Request Ack.
Gate Client
Gate Server
Trade Capture Report Request (“AD”)
SubscriptionRequestType [263] = 0 (Snapshot)
Trade Capture Report Request Ack (“AQ”)
TradeRequestStatus [750] = 2 (Rejected)
Una aplicación aceptada (el comprador y el vendedor son el mismo miembro)
Executing Broker
Buyer and Seller
Gate Server
Trade Capture Report (“AE”)
TradeReportType[856] = 0 (Submit)
Trade Capture Report Ack (“AR”)
TrdRprStatus[939] = 0
Trade Capture Report (“AE”)
TradeReportTransType[487] = 0 (New)
MatchType[574] = 8
Trade Capture Report (“AE”)
TradeReportTransType[487] = 0 (New)
MatchType[574] = 9
Execution Report (“8”)
CrossID[548] = SecondaryTradeReportID
Side [54] = 1
Execution Report (“8”)
CrossID[548] = SecondaryTradeReportID
Side [54] = 2
Solicitud de aplicaciones en Derivados (entrada por un miembro distinto a las dos
partes)
En este ejemplo se presenta el flujo de mensajes de una operación entrada por un
intermediario, que es aceptada primero por el comprador y luego por el vendedor. Finalmente
es aceptada por Supervisión y se generan los correspondientes mensajes Execution Report.
30 de julio de 2012
© MEFF 2012
149
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Executing Broker
10. Aplicaciones
Trade Capture Report (“AE”)
Gate Server
TradeReportType[856] = 0 (Submit)
Buyer
Trade Capture Report Ack (“AR”)
Seller
TrdRprStatus[939] = 0
Trade Capture Report (“AE”)
TradReportTransType[487] = 0 (New), MatchType[574] = 0
Trade Capture Report (“AE”)
TradeReportType[856] = 2 (Accept)
Trade Capture Report Ack (“AR”)
TrdRprStatus[939] = 0
Trade Capture Report (“AE”)
TradeReportTransType[487] = 2 (Replace), MatchType[574] = 1
Trade Capture Report (“AE”)
TradeReportType[856] = 2 (Accept)
Trade Capture Report Ack (“AR”)
TrdRprStatus[939] = 0
Trade Capture Report (“AE”)
TradeReportTransType[487] = 2 (Replace), MatchType[574] = 3
Accepted by Supervisor
Trade Capture Report (“AE”)
TradeReportTransType[487] = 2 (Replace), MatchType[574] = 8
Trade Capture Report (“AE”)
TradeReportTransType[487] = 2 (Replace), MatchType[574] = 9
Execution Report (“8”)
CrossID[548] = SecondaryTradeReportID
Solicitud de aplicaciones en Contado
En este ejemplo aparece la figura del Miembro Validador, que es quien acepta la operación (en
la parte que le corresponda: compra o venta). El comprador y vendedor reciben la información
del estado de la aplicación en todo momento.
30 de julio de 2012
© MEFF 2012
150
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Executing Broker
Authenticating
Buyer Firm
10. Aplicaciones
Trade Capture Report (“AE”)
Gate Server
TradeReportType[856] = 0 (Submit)
Trade Capture Report Ack (“AR”)
Authenticating
Seller Firm
TrdRprStatus[939] = 0
Trade Capture Report (“AE”)
Seller Buyer
TradReportTransType[487] = 0 (New), MatchType[574] = 0
Trade Capture Report (“AE”)
TradeReportType[856] = 2 (Accept)
Trade Capture Report Ack (“AR”)
TrdRprStatus[939] = 0
Trade Capture Report (“AE”)
TradeReportTransType[487] = 2 (Replace), MatchType[574] = 1
Trade Capture Report (“AE”)
TradeReportType[856] = 2 (Accept)
Trade Capture Report Ack (“AR”)
TrdRprStatus[939] = 0
Trade Capture Report (“AE”)
TradeReportTransType[487] = 2 (Replace), MatchType[574] = 3
Accepted by Supervisor
Trade Capture Report (“AE”)
TradeReportTransType[487] = 2 (Replace), MatchType[574] = 8
Trade Capture Report (“AE”)
TradeReportTransType[487] = 2 (Replace), MatchType[574] = 9
Execution Report (“8”)
CrossID[548] = SecondaryTradeReportID
30 de julio de 2012
© MEFF 2012
151
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
10.9 Acotaciones y adaptaciones de FIX 4.4
En el mensaje Trade Capture Report Request sólo se permiten algunos de los criterios de
selección contemplados por el estándar
No se permite la modificación de peticiones de registro de operación. En caso de error, se
debe cancelar y volver a cursar la petición
El máximo número de suscripciones vivas permitidas está limitada (ver capítulo 4.7 para más
información)
30 de julio de 2012
© MEFF 2012
152
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
10.10 Definición de mensajes
10.10.1 Trade Capture Report Request (Msg Type = AD)
Mensaje enviado por el cliente para solicitar información de las aplicaciones. Permite la solicitud con o
sin suscripción a nuevas aplicaciones.
Tag
Req
S
S
Valores válidos
MsgType = AD
568
Nombre
Standard Header
TradeRequestID
569
263
TradeRequestType
SubscriptionRequestType
S
N
0 = All trades
0 = Snapshot (valor
por defecto)
1 = Snapshot +
Updates
2 = Unsubscribe
Standard Trailer
S
30 de julio de 2012
© MEFF 2012
Formato
Descripción
String (10)
Identificador de la solicitud
asignado por el usuario.
Debe ser un valor único
cuando se trate de una
petición nueva, y el valor
asignado previamente
cuando se trate de una
finalización de suscripción
Int
Char
Indica si la petición es
solicitud, con o sin
suscripción o si bien si trata
de una cancelación de una
petición previa
153
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
10.10.2 Trade Capture Report Request Ack (Msg Type = AQ)
Mensaje usado para notificar que un mensaje Trade Capture Report Request no es válido o que no
hay ninguna operación que cumpla los criterios de selección.
Tag
568
Nombre
Standard Header
TradeRequestID
Req
S
S
569
TradeRequestType
S
263
SubscriptionRequestType
N
748
TotNumTradeReports
N
749
TradeRequestResult
S
750
TradeRequestStatus
S
58
Text
N
Standard Trailer
S
30 de julio de 2012
Valores válidos
MsgType = AQ
Formato
Descripción
String
Identificador especificado en el
mensaje de solicitud Trade
Capture Report Request
correspondiente
Mismo valor que se especificó en
la solicitud
El mismo valor que se especificó
en la solicitud
Int
0 = Snapshot
(valor por defecto)
1 = Snapshot +
Updates
2 = Unsubscribe
Char
Int
0 = Successful
2 = Invalid
TradeRequestTyp
e
99 = other
1 = Completed
2 = Rejected
Int
Int
String
© MEFF 2012
Número de operaciones que
contiene la selección.
Resultado de la petición
Cuando el valor es 99, el campo
Text contiene un texto explicativo
Estado de la petición. Cuando se
informa de un error el valor es 2,
cuando no hay aplicaciones que
cumplan los criterios el valor es 1
Contiene un texto explicativo del
motivo de rechazo
154
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
10.10.3 Trade Capture Report (Msg Type = AE) enviado a MEFFGate
Mensaje que contiene los datos de una operación para registro.
Tag
Req
S
S
Valores válidos
MsgType = AE
571
Nombre
Standard Header
TradeReportID
856
TradeReportType
S*
0 = Submit
2 = Accept
3 = Decline
6 = Trade Report
Cancel
Formato
Descripción
String (10)
Identificador único para
cada mensaje Trade
Capture Report
Debe ser único en una
sesión FIX.
Tipo de Trade Report:
Int
0 (Submit): es el valor que
debe indicar quien envía el
mensaje por primera vez.
2 (Accept): es el valor que
debe enviar la contraparte,
junto con los datos del
cliente, para indicar la
aceptación de la operación.
3 (Decline): Es el valor que
debe indicar la contraparte
para indicar el rechazo de la
operación
6 (Cancel): Es el valor que
debe indicar el iniciador
para cancelar la solicitud de
entrada de la operación
Usado por el cliente de
MEFFGate FIX para asociar
un grupo de aplicaciones
Obligatorio excepto para
nuevas aplicaciones.
Ha de contener el valor
notificado por MEFFGate en
el campo
SecondaryTradeReportID
[818] de los mensajes Trade
Capture Report o Trade
Capture Report Ack.
Se utiliza como referencia
única de la petición de
registro de operación a lo
largo de toda su historia.
Indica si la operación fue
notificada a la contrapartida
820
TradeLinkID
N
String
881
SecondaryTradeReportRefID
N
String
570
PreviouslyReported
S
N,Y
Boolean
55
Start <Instrument>
Symbol
S
String
Código de contrato o [N/A]
48
SecurityID
N
String
Activo subyacente del
contrato
22
SecurityIDSource
N
String
461
CFICode
N
Código de
contrato, [N/A]
Para más detalle
sobre los activos
subyacentes,
véase Tabla 21
en documento
“Tablas de
Codificación”
8 = Exchange
symbol
Longitud exacta.
Consúltese la
Tabla 16 en
Requerido si SecurityID [48]
está informado
Tipo de contrato según el
estándar ISO 10962
30 de julio de 2012
© MEFF 2012
String(6)
155
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
documento
“Tablas de
Codificación”
para una lista de
los valores
posibles
541
MaturityDate
N
202
231
StrikePrice
ContractMultiplier
N
N
32
End <Instrument>
LastQty
S
31
LastPx
S
552
NoSides
S
1, 2
 54
Side
S
 37
OrderID
Start <Parties>
S
1 = Buy
2 = Sell
NONE
453
NoPartyIDs
N

448

447

452
PartyID
N
PartyIDSource
N
PartyRole
N
80
2
NoPartySubIDs
>= 0, sin
decimales
PartySubID
N

803
PartySubIDType
N
Fecha de vencimiento
Qty
Volumen comprado/vendido
en la operación que se
describe
Precio medio de la
operación que se describe.
En caso de que la
operación se exprese por
un importe efectivo,
GrossTradeAmt [381], debe
ser el precio de la
transacción redondeado.
Price
NumInGro
up
Char
D = Proprietary/
Custom code
4 = Miembro
Validador
13 = Order
Origination Firm
11 = Order
Origination
Trader
7 = Entering
Firm
36 = Entering
Trader
Char
Int
Posición que toma la parte
en la operación.
No es necesario informar
este bloque en el caso de
una aplicación
Número de identificadores
Código de miembro o de
operador
Presente si se ha
especificado NoPartyIDs
Indica el rol que toma el
código especificado en
PartyID.
Presente si se ha
especificado NoPartyIDs.
El Miembro Validador
(PartyRole=4) sólo es
necesario para operaciones
de contado.
NumInGro
up
String
7 = Phone
number
9 = Contact
name
Precio de ejercicio
Indica el factor multiplicativo
para convertir unidades de
precio a unidades
monetarias
String
NumInGro
up
String
N

523
LocalMktD
ate
Price
Float
Número de
subidentificadores.
Este subgrupo está solo
presente cuando PartyRole
[452] = 11
Nombre y teléfono de
contacto del operador
comprador / vendedor
int
End <Parties>
30 de julio de 2012
© MEFF 2012
156
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
1
Account
N
 581
AccountType
N
 381
GrossTradeAmt
N
Amt
 58
Text
Standard Trailer
N
S
String(15)
30 de julio de 2012
String
1 = Ajena
3 = Propia
© MEFF 2012
Int
Derivados: Código de
cuenta
Contado: Código de Cliente
Indicador de capacidad
(sólo para operaciones de
contado)
Efectivo de la transacción.
En caso de que se informe,
prevalece el valor de este
campo sobre el del precio
(LastPx [31]). Debe coincidir
para ambas partes.
Referencia
157
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
10.10.4 Trade Capture Report (Msg Type = AE) enviado por MEFFGate
Mensaje que contiene los datos de una operación para la que se ha solicitado el registro y que
requiere una aceptación o rechazo por parte del miembro.
Tag
571
Nombre
Standard Header
TradeReportID
Req
S
S
568
TradeRequestID
N
487
TradeReportTransType
N
Valores válidos
MsgType = AE
0 = New
1 = Cancel
2 = Replace
Formato
Descripción
String
Identificador único para
cada mensaje Trade
Capture Report
String
El código de suscripción a
Trade Capture Reports que
se utilizó en el mensaje
Trade Capture Report
Request.
0 (New): Indica una nueva
operación.
Int
1 (Cancel): Indica que la
operación ha sido
cancelada.
912
LastRptRequested
N
325
UnsolicitedIndicator
N
820
TradeLinkID
N
570
PreviouslyReported
S
818
SecondaryTradeReportID
N
Boolean
N = El mensaje
es parte de un
snapshot
Y = El mensaje
es enviado como
resultado de una
suscripción
Boolean
String
N,Y
Boolean
String
2 (Replace): Indica
modificaciones en el estado
de una operación
previamente notificada. Por
ejemplo, en el caso de una
operación entrada por un
intermediario, después de
ser aceptada por una de las
partes
Indica si se trata del último
mensaje del snapshot de
respuesta
Contiene “Y” cuando el
mensaje es enviado como
resultado de una
suscripción, una vez
finalizada la actualización
inicial.
Identificador enviado por el
cliente de MEFFGate FIX
para asociar un grupo de
aplicaciones
Indica si la operación fue
notificada a la contrapartida
Referencia interna del
Sistema de MEFF para la
operación a registrar.
Los mensajes Trade
Capture Report enviados
por los clientes para la
aceptación o rechazo de
aplicaciones, deben hacer
referencia al contenido de
este campo en su campo
SecondaryTradeReportRefI
D [881]
55
Start <Instrument>
Symbol
S
48
SecurityID
N
30 de julio de 2012
Código de
contrato
Para más detalle
© MEFF 2012
String(22)
Código de contrato
String
Activo subyacente del
158
MEFFGate Negociación - Especificaciones de la Interfaz FIX
22
SecurityIDSource
N
461
CFICode
N
541
MaturityDate
N
202
231
StrikePrice
ContractMultiplier
32
sobre los activos
subyacentes,
véase Tabla 21
en documento
“Tablas de
Codificación”
8 = Exchange
symbol
Longitud exacta.
Consúltese la
Tabla 16 en
documento
“Tablas de
Codificación”
para una lista de
los valores
posibles
10. Aplicaciones
contrato
String
String(6)
Tipo de contrato según el
estándar ISO 10962
Fecha de vencimiento
N
N
LocalMktD
ate
Price
Float
End <Instrument>
LastQty
S
Qty
31
LastPx
S
Price
574
MatchType
N
Volumen comprado/vendido
en la operación que se
describe
Precio medio de la
operación que se describe
Informado por MEFFGate
para notificar a las partes
sobre el estado de
aceptación de la operación.
552
NoSides
S
 54
Side
S
 37
OrderID
Start <Parties>
NoPartyIDs
S
PartyID
N
453

448
30 de julio de 2012
0 = Pendiente de
validación por
ambas partes.
1 = Pendiente de
validación por
vendedor
2 = Pendiente de
validación por
comprador
3 = Pendiente de
validación por
Supervisión
4 = Cancelada
5 = Rechazada
por vendedor
6 = Rechazada
por comprador
7 = Rechazada
por Supervisión
8 = Aceptada
9 = Registrada
A = Cancelada
por el sistema
B = Rechazada
por el sistema
2
1 = Buy
2 = Sell
NONE
N
String
NumInGro
up
Char
Posición que toma la parte
en la operación.
String
NumInGro
up
String
© MEFF 2012
Precio de ejercicio
Indica el factor multiplicativo
para convertir unidades de
precio a unidades
monetarias
Número de identificadores
Código de miembro o de
operador
159
MEFFGate Negociación - Especificaciones de la Interfaz FIX

447

452
PartyIDSource
N
PartyRole
N
80
2
NoPartySubIDs
N
D = Proprietary/
Custom code
4 = Miembro
Validador
13 = Order
Origination Firm
11 = Order
Origination
Trader
7 = Entering
Firm
36 = Entering
Trader
10. Aplicaciones
Char
Int
NumInGro
up

523
PartySubID
N

803
PartySubIDType
N
1
End <Parties>
Account
N
 581
AccountType
N
 381
GrossTradeAmt
N
Amt
 58
Text
Standard Trailer
N
S
String(15)
30 de julio de 2012
String
7 = Phone
number
9 = Contact
name
© MEFF 2012
Número de
subidentificadores.
Este subgrupo está solo
presente cuando PartyRole
[452] = 11
Nombre y teléfono de
contacto del operador
comprador / vendedor
int
String
1 = Ajena
3 = Propia
Presente si se ha
especificado NoPartyIDs
Indica el rol que toma el
código especificado en
PartyID.
Presente si se ha
especificado NoPartyIDs
Int
Derivados: Código de
cuenta
Contado: Código de Cliente
Indicador de capacidad
(sólo para operaciones de
contado)
Efectivo de la transacción.
Este valor prevalece sobre
el del precio.
Referencia
160
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
10.10.5 Trade Capture Report Ack (Msg Type = AR)
Mensaje respuesta a un Trade Capture Report recibido por MEFFGate. Contiene la misma
información que el Trade Capture Report recibido, junto con información del número asignado por el
sistema a la operación a registrar, la aceptación o rechazo de la petición y, en su caso, el motivo de
rechazo.
Tag
Req
S
S
Valores válidos
MsgType = AR
571
Nombre
Standard Header
TradeReportID
Formato
Descripción
String
Contiene un valor igual al
del campo TradeReportID
del Trade Capture Report al
que responde
Contiene la misma
información que el Trade
Capture Report al que
responde
Contiene la misma
información que el Trade
Capture Report al que
responde
487
TradeReportTransType
N
0 = New
1 = Cancel
2 = Replace
Int
856
TradeReportType
N
Type of Trade
Report
Valid values:
0 = Submit
2 = Accept
3 = Decline
6 = Trade Report
Cancel
Int
818
SecondaryTradeReportID
N
String
820
TradeLinkID
N
String
939
TrdRptStatus
N
0 = Accepted
1 = Rejected
751
TradeReportRejectReason
N
0 = Successful
(Default)
1 = Invalid party
information
2 = Unknown
instrument
3 = Unauthorized to
report trades
4 = Invalid trade
type
Int
Contiene el número de
operación asignado por el
sistema central. Se
mantiene a lo largo de toda
la historia de la operación.
Identificador enviado por el
cliente de MEFFGate FIX
para asociar un grupo de
aplicaciones
Indicador de si el Trade
Capture Report ha sido
aceptado o no por el
sistema central de
Motivo del rechazo
Informado cuando
TrdRptStatus [939] = 1
4000 =
SecondaryTradeRe
portRefID incorrecto
4001 =
Inconsistencia en
efectivo
4002 =
Inconsistencia en
precio
4003 =
Inconsistencia en
contrato
4004 =
Inconsistencia en
miembro
contraparte
30 de julio de 2012
© MEFF 2012
161
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
4005 = Cuenta no
vigente
4006 = Petición
solicitada no válida
4007 = Side
incorrecto
4008 = Account
incorrecto
4010 =
GrossTradeAmt
incorrecto
55
Start <Instrument>
Symbol
S
Código de contrato
String(22)
48
SecurityID
N
String
22
SecurityIDSource
N
461
CFICode
N
Para más detalle
sobre los activos
subyacentes, véase
Tabla 21 en
documento “Tablas
de Codificación”
8 = Exchange
symbol
Longitud exacta.
Consúltese la Tabla
16 en documento
“Tablas de
Codificación” para
una lista de los
valores posibles
541
MaturityDate
N
202
231
StrikePrice
ContractMultiplier
32
Contiene la misma
información que el Trade
Capture Report al que
responde
Activo subyacente del
contrato
String
String(6)
Tipo de contrato según el
estándar ISO 10962
Fecha de vencimiento
N
N
LocalMktD
ate
Price
Float
End <Instrument>
LastQty
S
Qty
31
LastPx
S
Price
552
NoSides
S
2
NumInGro
up
 54
Side
S
Char
 37
OrderID
Start <Parties>
NoPartyIDs
S
1 = Buy
2 = Sell
NONE
Contiene la misma
información que el Trade
Capture Report al que
responde
Contiene la misma
información que el Trade
Capture Report al que
responde
Siempre 2 ya que al menos
debe indicarse el miembro
de la contraparte.
Posición que toma la parte
en la operación.
PartyID
N
PartyIDSource
N
PartyRole
N
453
44
8
44
7
45
2
30 de julio de 2012
N
String
NumInGro
up
String
D = Proprietary/
Custom code
4 = Miembro
Validador
13 = Order
Origination Firm
© MEFF 2012
Precio de ejercicio
Indica el factor multiplicativo
para convertir unidades de
precio a unidades
monetarias
Char
Int
Número de identificadores
Código de miembro o de
operador
Presente si se ha
especificado NoPartyIDs
Indica el rol que toma el
código especificado en
PartyID.
Presente si se ha
162
MEFFGate Negociación - Especificaciones de la Interfaz FIX
10. Aplicaciones
11 = Order
Origination Trader
7 = Entering Firm
36 = Entering
Trader
80
2
NoPartySubIDs
N
especificado NoPartyIDs
NumInGro
up

523
PartySubID
N

803
PartySubIDType
N
1
End <Parties>
Account
N
 581
AccountType
N
 381
GrossTradeAmt
N
Amt
 58
Text
N
String(15)
Standard Trailer
S
30 de julio de 2012
String
7 = Phone number
9 = Contact name
© MEFF 2012
Este subgrupo está solo
presente cuando PartyRole
[452] = 11
Nombre y teléfono de
contacto del operador
comprador / vendedor
int
String
1 = Ajena
3 = Propia
Número de
subidentificadores.
Int
Derivados: Código de
cuenta
Contado: Código de Cliente
Indicador de capacidad
(sólo para operaciones de
contado)
Efectivo de la transacción.
Contiene la misma
información que el Trade
Capture Report al que
responde.
Contiene la misma
información que el Trade
Capture Report al que
responde
163
MEFFGate Negociación - Especificaciones de la Interfaz FIX
11.
11. Comunicación de Eventos
Comunicación de Eventos
11.1 Introducción
En este capítulo se describen dos funcionalidades basadas en el mensaje News:
Difusión de información del supervisor de mercado a uno o más operadores
Envío de mensajes de un operador al supervisor de mercado
La información transferida en ambos casos es un texto de formato libre.
Un programa cliente no tiene que suscribirse para recibir estos mensajes. Todo cliente queda
implícitamente suscrito desde el inicio de sesión.
Al establecer una conexión de comunicación, si el cliente continúa la sesión FIX recibe todos los
mensajes News que tenía pendientes desde el momento de la desconexión. Cuando el cliente opta
por iniciar una nueva sesión FIX, recibe todos los mensajes News, destinados a él, que se han
generado desde el inicio de sesión.
11.2 Lista de mensajes
Mensaje
Descripción
News (Msg Type = B)
Usado para recibir mensajes de texto del supervisor de mercado.
También usado para enviar mensajes de texto al supervisor de mercado
11.3 Flujo de mensajes
Recepción de mensaje
MEFFGate Client
MEFFGate Server
News (“B”)
Envío de mensaje
MEFFGate Client
MEFFGate Server
News (“B”)
11.4 Acotaciones y adaptaciones de FIX 4.4
Sólo se permiten una línea de hasta 78 caracteres por mensaje
30 de julio de 2012
© MEFF 2012
164
MEFFGate Negociación - Especificaciones de la Interfaz FIX
11. Comunicación de Eventos
11.5 Definición de mensajes
11.5.1 News (Msg Type = B)
Tag
61
Nombre
Standard Header
Urgency
Req
S
N
148
Headline
S
33
LinesOfText
S
58
Text
Standard Trailer
S
S
30 de julio de 2012
Valores válidos
MsgType = B
0 = Normal
1 = Flash
2 = Background
1
Formato
Descripción
Char
El valor por defecto es 0
String
Encabezado del mensaje. Ignorado
por MEFFGate
Número de líneas del texto. Sólo se
permite una línea
Una línea de texto
NumInGroup
String(78)
© MEFF 2012
165
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Apéndice A. Tipos de Órdenes de MEFF
Apéndice A Tipos de Órdenes de MEFF
En la siguiente tabla se relacionan los diferentes tipos de órdenes de MEFF con los campos OrdType
y TimeInForce de FIX.
Admite
instrucciones
de cancelación
automática en
caso de
desconexión
Tipo de orden MEFF
OrdType
TimeInForce
Orden limitada
Limit (2)
Day (0)
SI
Orden limitada inmediata
Limit (2)
IOC (3)
NO
Orden de mercado (*)
Market (1)
Day (0)
SI
Market (1)
IOC (3)
SI
Orden stop
Stop (3)
Day (0)
NO
Orden stop limitada
Stop Limit (4)
Day (0)
SI
Orden todo o nada
Limit (2)
FOK (4)
NO
Orden a precio de subasta
Market(1)
OPG (2)
SI
(*) La orden de mercado acepta dos combinaciones diferentes en los campos OrdType y
TimeInForce. Independientemente del valor del campo TimeInForce el comportamiento de la orden de
mercado es el que la normativa de MEFF determine mediante los correspondientes comunicados.
30 de julio de 2012
© MEFF 2012
A–1
MEFFGate Negociación - Especificaciones de la Interfaz FIX
Apéndice B. Campos de Usuario
Apéndice B Campos de Usuario
En la siguiente tabla se presentan los campos de usuario usados en los mensajes de este manual.
Tag
Nombre
Formato
Descripción
5680
ProprietaryFixProtocolVersion
String
Identificación de la versión del protocolo usado y
esperado por el iniciador.
5679
FixEngineName
String
Contiene una cadena descriptiva del software usado
por el cliente para la conexión FIX. Sólo usado a modo
informativo
5681
ExchangeTradeType
String
Tipo de operación del mercado (véase Tabla 19 en
documento “Tablas de Codificación”)
5682
NewSecuritySubscription
Char
Campo para solicitar la suscripción a la definición de
nuevos contratos
30 de julio de 2012
© MEFF 2012
B-1
Documentos relacionados
Descargar