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.
Tipos de blockchain
- Públicas:
acceso libre, lenta, seguridad incentivada por recompensa económica, inmutable, anónima. - Privada:
acceso restringido, rápida, seguridad viene de la preelección de los participantes, puede ser modificada (no inmutable), las identidades de los integrantes son conocidas.
Clasificación de casos de uso
- Smart contracts
- Monedas digitales
- Registros
- Valores
Initial Coin Offering (ICO)
- Evento en el cual proyectos venden parte de sus tokens a inversores.
- Forma de recaudar dinero para operaciones.
- La mayoría de ICOs recaudan dinero en Bitcoin y Ether
DLT (Distributed Ledger Technology)
DLTs es un tipo de tecnología de bases de datos (blockchain es una implementación).
• Mantienen un registro distribuido siguiendo los mismos objetivos de blockchain, pero no tienen porque utilizar “cadenas de bloques”.
• Pueden existir roles, con diferentes permisos de lectura y/o escritura.
• Pueden ofrecer propiedades como privacidad.
Impacto en el sector financiero
- En el sector financiero han surgido diferentes proyectos y acuerdos de colaboración entre entidades para aplicar blockchain:
- R3
- Enterprise Ethereum Alliance, no sólo financiero • Hyperledger, no sólo financiero
- Fintech desarrollan servicios bancarios tradicionales sobre blockchain:
- Transferencias(Ripple,AlignCommerce)
- Financiación(BTCLend,BitLendingClub)
Convenios – R3 CEV
- R3 CEV: Acuerdo de colaboración para proyectos financieros.
- Han desarrollado un DLT propio Corda, que usan en muchos de sus proyectos.
Convenios – Enterprise Ethereum Alliance
- Plantean de casos de uso y definen especificaciones técnicas.
- Utilizan la tecnología de Ethereum.
- Diferentes blockchains: Ethereum, Quorum.
- Funcionalidad soportada:
- Moneda virtual.
- Smart contracts.
- Red pública.
- Red privada.
- Diferentes tipos de “consenso”.
- Participan empresas de múltiples sectores.
Convenios – Hyperledger
- Convenio de colaboración entre empresas de diferentes sectores.
- Pertenece a la Linux Foundation e IBM es su principal desarrollador.
- Soporta smart contracts y múltiples lenguajes de programación.
- Centrado en ofrecer soluciones “enterprise” de blockchain.
- Tienen varios frameworks de Blockchain: Fabric, Burrow, Indy, Grid, Sawtooth
DeFi (Decentralized Finance)
• Mercados e instrumentos financieros descentralizados basados en blockchain y Smart Contracts.
• Facilita el acceso a servicios financieros internacionales.
• Aumento de privacidad y seguridad al no depender de instituciones
centralizadas.
• Disminución de las tarifas para pagos internacionales.
• Resistente a la censura.
• Reducción de barreras de entrada (requisitos y usabilidad)
Tipos de protocolos DeFi
• Lending: préstamo de crypto-activos a cambio de un interés.
• Collateralized Loans: préstamo a cambio de un activo garantizado.
• Flash Loans: préstamo que se devuelve en la misma transacción.
• Decentralized Exchanges (DEXes): intercambio de crypto-divisas sin necesidad
de entidades centralizadas.
• Derivatives: instrumentos financieros más complejos cuyo valor se deriva de uno o varios activos (opciones, futuros, valores sintéticos, etc.).
• Yield Management: utilidad para optimizar el rendimiento de los activos.
FIXML es una representación en XML de FIX
Seleccione una:
Verdadero
Falso
Verdadero
¿Para que se utiliza un bloque de repetición en FIX?
Seleccione una:
a. Para mandar el mismo campo varias veces
b. Para definir arrays de bloques o elementos
c. Para mandar mas de un mensaje repetido
b. Para definir arrays de bloques o elementos
El protocolo FIX está basado en sesiones TCP/IP
Seleccione una:
Verdadero
Falso
Verdadero
La principal ventaja de FIX respecto a FIXML es que su serialización es mas rápida y ocupa menos espacio.
Seleccione una:
Verdadero
Falso
Verdadero
Trade es una de las categorías disponibles para los mensajes de Aplicación en FIX.
Seleccione una:
Verdadero
Falso
Verdadero
Al igual que en FIX la mensajería FIXML incluye mensajería de sesión y de aplicación.
Seleccione una:
Verdadero
Falso
Falso
FPML surgió para poder comerciar electronicamente en OTC.
Seleccione una:
Verdadero
Falso
Verdadero
No hay distinción de roles entre los participantes de una sesión FIX, ambos actúan de la misma forma de cara al mantenimiento de la sesión.
Seleccione una:
Verdadero
Falso
Falso
¿Que formato de serialización utiliza el protocolo FIX? Seleccione una: a. XML b. Json c. Binario d. Clave - valor
d. Clave - valor
Los heartbeats en FIX se utilizan para mantener la sesión entre el “initiator” y el “acceptor” mediante su envío periódico por parte del “acceptor”
Seleccione una:
Verdadero
Falso
Falso
Las últimas versiones del protocolo FIXML están especificadas mediante un DTD.
Seleccione una:
Verdadero
Falso
Falso
Una de las principales diferencias entre FIXML y FPML es que en FPML la lista de productos no es cerrada y se negocia entre las partes, lo que obliga a que sea mucho mas flexible.
Seleccione una:
Verdadero
Falso
Verdadero
FIXML está orientado a su uso en sesiones TCP
Seleccione una:
Verdadero
Falso
Falso
Una sesión fix es un flujo de mensajes ordenados con una serie continua de números de secuencia.
Seleccione una:
Verdadero
Falso
Verdadero
ISO20022 surgió como alternativa a FIXML con el objetivo de reducir los tiempos de serialización.
Seleccione una:
Verdadero
Falso
Falso
La clave en el protocolo FIX puede ser de cualquier tipo.
Seleccione una:
Verdadero
Falso
Falso
FPML incluye mecanismos de herencia para que sea sencillo extender el protocolo y los mensajes.
Seleccione una:
Verdadero
Falso
Verdadero
Los mensajes de aplicación se pueden utilizar en FIX entre otras cosas para realizar el mantenimiento de la sesión.
Seleccione una:
Verdadero
Falso
Falso
En ISO20022 cada mensaje está definido en su propio XSD con un namespace propio y compartiendo el mismo nombre “Document”
Seleccione una:
Verdadero
Falso
Verdadero
Los números de secuencia de los mensajes de la sesión FIX son continuos y su valor inicial se establece durante el inicio de sesión y no puede modificarse.
Seleccione una:
Verdadero
Falso
Falso