Lección 10: Protocolos de mercado Flashcards
FIX
- Financial Information eXchange
• Protocolo electrónico estándar en los mercados financieros.
• Objetivo: simplificar la comunicación en los mercados financieros en
Equity, renta fija y FX.
• Protocolo de texto basado en clave=valor
• Capa de sesión nivel 4 basada en TCP/IP.
• Sesión también a nivel de aplicación.
• Está soportado por la Fix Trading Community.
FIX - Elementos
• Tipos de datos (Datatypes) -> Los tipos de datos.
• Ejemplos: int, Length(representa un tamaño en bytes y debe de ser positivo),
Price (un flotante que representa un precio).
• Campos (Fields) -> Son elementos de un mensaje y tiene asociado una
clave(tag) un nombre y un tipo de dato.
- Componentes: Son agrupaciones de campos reutilizables en diferentes mensajes.
• Los componentes pueden ser de 2 tipos:
• Bloques: Son una agrupación de campos simple como puede ser Instrument.
•Bloques de repetición: Son una agrupación de campos que se puede repetir, su sintaxis es sencilla. Comienza con el numero de veces que se repite el bloque y después aparece el bloque repetido ese numero de veces.
• Mensajes: Son agrupaciones de campos y de componentes de todo tipo. • Es lo que se va a enviar finalmente a través de la sesión TCP
FIX – Tipos de mensajes
• Sesión: Contiene los mensajes de para hacer Logon, logout y mantener la sesión
con los heartbeats.
• Aplicación: Contiene los mensajes para las aplicaciones. Se divide en categorías.
• Pretrade: Con subcategorías como Indication, Event Communication, Quotation Negotation, MarketData, Securities Reference Data …
• Trade: Con subcategorías como Single General Order Handling, Program Trading, Order Mass Handling, Cross Orders, Multileg Orders
• PostTrade: Con subcategorías como Allocation, Settlement Instruction, Registration Instruction, TradeCapture, Confirmation, Position Maintenance, CollateralManagement.
• Infrastructure: Con subcategorías como Business Reject, Network, User Management, Application
FIXML – Introducción
• Representación de FIX en XML eliminando la capa de sesión.
• Se puede encapsular dentro de protocolos como MQ Series,
TIBCO, SOAP, Servicios Web o mecanismos de CEP.
• FIXML esta en la versión 5.0.SP2 y se encuentra definido en XSD.
FIXML – Especificación técnica
- La especificación se basa en FIX con la misma representación de los elementos.
- Los Datatypes se representan como extensiones o restricciones de datos simples de XML Schema.
- Los Campos (Fields) son extensiones de Datatypes con información del tag que se utilizaria en FIX.
FIXML – Componentes y mensajes
• Los componentes:
• Son representados como un complexType al que se le asocia un grupo
de atributos.
- Los mensajes:
- Son representados como un element y su tipo es el nombre del mensaje con un sufijo siempre _message_t y forma parte del grupo de substitución de Message.
- Message es un elemento del tipo Abstract_Message_t.
FIXML vs FIX
Ventajas
• Más legible.
• Al estar basado en XML fácil integración con servicios web.
- Desventajas
- FIXML ocupa mucho más que FIX a nivel de bytes.
- FIX serializa a binario mucho mas rápido y está orientado a sesiones TCP.
FpML – Introducción
• FpML (Financial products Markup Language) fue creado para automatizar el flujo de información entre los participantes de un derivado.
• FpML es el estándar para comerciar electrónicamente en OTC y está mantenido por el ISDA (International Swaps and Derivatives Association).
• FpML esta basado en XML y sus mensajes están definidos en XSD.
• En FpML la definición de los productos se hace en el momento de la
negociación entre la dos partes.
• Su extensibilidad debe de ser máxima.
FpML - Vistas
• En FpML existen vistas, que se corresponden con namespaces de XML. Estas vistas representan procesos de negocio.
• Pre-Trade: usada en el chequeo de limite de crédito.
• Confirmation: usada para confirmar los detalles precisos de los contratos y los eventos de
negocio del post-trade.
• Reporting: usada para reportar los el trading y las actividades de negocio así como las posiciones y otros procesos como la reconciliación.
• Transparency: usada para informar públicamente como se forman los precios en las transacciones ejecutadas reportando las partes involucradas y las plataformas de ejecución
• Recordkeeping: usada para informar a los repositorios de datos de Swaps sobre las transacciones de derivados
• Legal: usada para cumplir con regulación como el SCSA
FpML - Herencia
- Todos los mensajes heredan del complexType Document en el nivel más básico.
- Una extensión similar se utiliza en productos, que heredan todos del complexType Product.
¿Qué es blockchain?
- Blockchain es una cadena de bloques (registros), en continúo crecimiento, que están enlazados y protegidos criptográficamente.
- Blockchain es una red P2P descentralizada
que permite transacciones electrónicas de forma segura y sin ningún punto central de confianza - Registro de información: distribuido, descentralizado e inmutable.
• Blockchain es un conjunto de tecnologías:
- Red P2P
- Timestamping
- Criptografía
Blockchain: descentralizado y distribuido
- No existe una autoridad central (servidor).
- Todos los nodos forman parte de una base de datos distribuida:
- tienen una réplica del último estado (redundancia).
- pueden verificar la información almacenada (validación).
- Resistencia a ataques.
Blockchain: Confianza sin intermediarios
- Los nodos:
- Validan y mantienen su estado de la cadena de bloques.
- Verifican su estado con el resto de la red mediante mecanismos de consenso.
- Sin posibilidad de fraude o “doble gasto”.
- La identidad y privacidad se basa en claves criptográficas (criptografía asimétrica).
Blockchain: trazabilidad
- La información se guarda de un modo extremadamente seguro. • La información no puede ser alterada (transacciones inmutables).
- No se puede deshacer o reescribir información ya registrada. • Cada cambio implica registrar nueva información.
- Todos los datos registrados son públicos y visibles para cualquiera que participe en la red.
La “cadena de bloques”
- Los datos se almacenan en bloques.
- Cada bloque contiene múltiples transacciones.
- Cada bloque está vinculado al bloque anterior.
- Las transacciones están firmadas y securizadas mediante criptografía.
- La cadena contiene todos los datos y cambios desde el origen de la misma. • También se le llama distributed ledger (libro de contabilidad distribuido).
Anatomía de un bloque
- Datos: múltiples transacciones
- Hash: identificador único del bloque
- Hash del bloque anterior
Contenido del blockchain
- La cadena de bloques contiene datos y transacciones.
- Una transacción es una operación sobre los datos.
- Estas transacciones pueden:
- Estar predefinidas en el blockchain (Bitcoin).
- Ser definibles por los usuarios (Smart Contracts).
- Los smart contracts también se almacenan en la blockchain.
Smart contracts
- Creación:
Se crea el contrato, el código reside en la cadena. - Transacciones:
Condiciones de ejecución: autoejecución del contrato. - Inmutabilidad:
las transacciones son públicas.
Los mineros
• Verifican la validez de las transacciones y crean nuevos bloques. • Utilizan un algoritmo de consenso para alcanzar el mismo estado
con todo el sistema (consenso con el resto de la red).
• Basado en la resolución de un problema criptográfico (Proof-of-Work).
• Basado en la cantidad de participación (Proof of Stake).
• Se suelen llevar una recompensa por ese trabajo.