Saturday 14 April 2018

Sistema de negociação de obrigações


Sistemas comerciais: projetando seu sistema - Parte 1.
A seção anterior deste tutorial analisou os elementos que compõem um sistema comercial e discutiu as vantagens e desvantagens de usar esse sistema em um ambiente comercial real. Nesta seção, construímos esse conhecimento examinando quais mercados são especialmente adequados ao comércio de sistemas. Em seguida, analisaremos mais detalhadamente os diferentes gêneros dos sistemas de negociação.
O mercado de ações é provavelmente o mercado mais comum para o comércio, especialmente entre novatos. Nesta arena, dominam grandes players, como Warren Buffett e Merrill Lynch, e as estratégias tradicionais de investimento em crescimento e valor são, de longe, as mais comuns. No entanto, muitas instituições investiram significativamente na concepção, desenvolvimento e implementação de sistemas de negociação. Investidores individuais estão se juntando a essa tendência, embora lentamente.
A grande quantidade de ações disponíveis permite que os comerciantes testem sistemas em muitos tipos diferentes de ações - tudo, desde estoques extraterrestre extremamente voláteis (OTC) até chips azuis não voláteis.
A eficácia dos sistemas de negociação pode ser limitada pela baixa liquidez de algumas ações, especialmente os problemas de OTC e rosa.
As comissões podem comer em lucros gerados por negócios bem-sucedidos e podem aumentar as perdas. OTC e ações de folhas cor-de-rosa geralmente incorrem em taxas de comissão adicionais.
Os principais sistemas de negociação utilizados são aqueles que procuram valor - isto é, sistemas que usam parâmetros diferentes para determinar se uma segurança é subvalorizada em comparação com o desempenho passado, seus pares ou o mercado em geral.
O mercado de câmbio, ou forex, é o maior e mais líquido mercado do mundo. Os governos, bancos e outras grandes instituições do mundo trocam trilhões de dólares no mercado cambial todos os dias. A maioria dos comerciantes institucionais no forex conta com sistemas de negociação. O mesmo vale para os indivíduos no forex, mas alguns comerciais com base em relatórios econômicos ou pagamentos de juros.
A liquidez neste mercado - devido ao enorme volume - torna os sistemas de negociação mais precisos e eficazes.
Não há comissões neste mercado, apenas se espalha. Portanto, é muito mais fácil fazer muitas transações sem aumentar os custos.
Em comparação com o valor das ações ou commodities disponíveis, o número de moedas para o comércio é limitado. Mas, devido à disponibilidade de "pares de moedas exóticas" - ou seja, moedas de países menores - o alcance em termos de volatilidade não é necessariamente limitado.
Os principais sistemas de negociação utilizados no forex são aqueles que seguem as tendências (um ditado popular no mercado é "a tendência é seu amigo"), ou sistemas que compram ou vendem em breakouts. Isso ocorre porque os indicadores econômicos geralmente causam grandes movimentos de preços ao mesmo tempo.
Os mercados de ações, divisas e commodities oferecem negociação de futuros. Este é um veículo popular para o comércio de sistemas devido ao maior valor de alavancagem disponível e ao aumento da liquidez e da volatilidade. No entanto, esses fatores podem cortar as duas formas: podem amplificar seus ganhos ou amplificar suas perdas. Por esse motivo, o uso de futuros é geralmente reservado para comerciantes avançados de sistemas individuais e institucionais. Isso ocorre porque os sistemas de negociação capazes de capitalizar o mercado de futuros exigem uma personalização muito maior, usam indicadores mais avançados e levam muito mais tempo para desenvolver.
Cabe ao investidor individual decidir qual mercado é mais adequado ao comércio de sistemas - cada um tem suas próprias vantagens e desvantagens. A maioria das pessoas está mais familiarizada com os mercados de ações, e essa familiaridade facilita o desenvolvimento de um sistema de negociação. No entanto, forex é normalmente pensado para ser a plataforma superior para operar sistemas de negociação - especialmente entre os comerciantes mais experientes. Além disso, se um comerciante decide capitalizar o aumento de alavancagem e volatilidade, a alternativa de futuros está sempre aberta. Em última análise, a escolha está nas mãos do desenvolvedor do sistema.
O método mais comum de negociação de sistema é o sistema de tendências. Na sua forma mais fundamental, este sistema simplesmente espera um movimento de preço significativo, depois compra ou vende nessa direção. Este tipo de bancos de sistemas na esperança de que esses movimentos de preços mantenham a tendência.
Sistemas médios móveis.
Freqüentemente usado na análise técnica, uma média móvel é um indicador que mostra simplesmente o preço médio de uma ação ao longo de um período de tempo. A essência das tendências é derivada dessa medida. A maneira mais comum de determinar a entrada e a saída é um cruzamento. A lógica por trás disso é simples: uma nova tendência é estabelecida quando o preço cai acima ou abaixo da média do preço histórico (tendência). Aqui está um gráfico que traça tanto o preço (linha azul) quanto o Mestre de 20 dias (linha vermelha) da IBM:
O conceito fundamental por trás deste tipo de sistema é semelhante ao de um sistema de média móvel. A idéia é que quando um novo alto ou baixo é estabelecido, o movimento do preço provavelmente continuará na direção do breakout. Um indicador que pode ser usado na determinação de breakouts é um simples Bollinger Band & reg; sobreposição. Bollinger Bands & reg; mostram médias de preços altos e baixos, e ocorrem breakouts quando o preço atende às bordas das bandas. Aqui está um gráfico que traça o preço (linha azul) e Bollinger Bands & reg; (linhas de cinza) da Microsoft:
Desvantagens de Trend-Following Systems:
Requisição de decisão empírica necessária - Ao determinar tendências, sempre há um elemento empírico a considerar: a duração da tendência histórica. Por exemplo, a média móvel pode ser nos últimos 20 dias ou nos últimos cinco anos, então o desenvolvedor deve determinar qual é o melhor para o sistema. Outros fatores a serem determinados são os altos e baixos médios em sistemas de breakout.
Lagging Nature - As médias móveis e os sistemas de breakout estarão sempre atrasados. Em outras palavras, eles nunca podem atingir o topo ou a parte inferior de uma tendência. Isso inevitavelmente resulta em uma perda de lucros potenciais, o que às vezes pode ser significativo.
Efeito Whipsaw - Entre as forças de mercado que são prejudiciais ao sucesso dos sistemas de tendência, este é um dos mais comuns. O efeito whipsaw ocorre quando a média móvel gera um sinal falso - isto é, quando a média cai apenas para o alcance, de repente, inverte a direção. Isso pode levar a perdas maciças, a menos que sejam utilizadas efetivas perdas de parada e técnicas de gerenciamento de risco.
Sideways Markets - Os sistemas de tendência seguinte são, por natureza, capazes de ganhar dinheiro somente em mercados que realmente fazem tendências. No entanto, os mercados também se movem de lado, ficando dentro de um certo intervalo por um longo período de tempo.
Pode ocorrer volatilidade extrema - Ocasionalmente, os sistemas que seguem a tendência podem experimentar alguma volatilidade extrema, mas o comerciante deve manter seu sistema. A incapacidade de fazê-lo resultará em falhas garantidas.
Basicamente, o objetivo com o sistema contra-tendência é comprar no menor baixo e vender no mais alto. A principal diferença entre este e o sistema de tendência seguinte é que o sistema contra-tendência não é auto-corretivo. Em outras palavras, não há tempo definido para sair de posições, e isso resulta em um potencial de downside ilimitado.
Tipos de sistemas de contra-tendência.
Muitos tipos diferentes de sistemas são considerados sistemas de contra-tendência. A idéia aqui é comprar quando o impulso em uma direção começa a desaparecer. Isso geralmente é calculado usando osciladores. Por exemplo, um sinal pode ser gerado quando os estocásticos ou outros indicadores de força relativa caem abaixo de certos pontos. Existem outros tipos de sistemas de negociação contra tendência, mas todos compartilham o mesmo objetivo fundamental: comprar baixo e vender alto.
Requisição de decisões e requisitos mecânicos - Por exemplo, um dos fatores que o desenvolvedor do sistema deve decidir é os pontos nos quais os indicadores de força relativa se desvanecem.
Pode ocorrer volatilidade extrema - esses sistemas também podem experimentar alguma volatilidade extrema e uma incapacidade de manter o sistema apesar dessa volatilidade resultará em falhas garantidas.
Desvantagem ilimitada - Como mencionado anteriormente, existe um potencial de downside ilimitado porque o sistema não é auto-corrigido (não há tempo definido para sair de posições).
Os principais mercados para os quais os sistemas de negociação são adequados são os mercados de ações, divisas e futuros. Cada um desses mercados tem suas vantagens e desvantagens. Os dois principais gêneros de sistemas de negociação são os sistemas de tendência e de contra-tendência. Apesar de suas diferenças, ambos os tipos de sistemas, em seus estágios de desenvolvimento, requerem uma tomada de decisão empírica por parte do desenvolvedor. Além disso, esses sistemas estão sujeitos a extrema volatilidade e isso pode exigir algum vigor - é essencial que o comerciante do sistema fique com seu sistema durante esses tempos. Na próxima parcela, examinaremos mais de perto como projetar um sistema de negociação e discutir alguns dos softwares que os comerciantes do sistema usam para facilitar sua vida.

Sistema de negociação de obrigações
(Por Jonathan Simon)
É fácil distanciar-se de uma grande coleção de padrões ou de uma linguagem padrão. Os padrões são a abstração de uma idéia em uma forma reutilizável. Muitas vezes, a natureza muito genérica dos padrões que os torna tão úteis também os torna difíceis de entender. Às vezes, a melhor coisa para ajudar a entender os padrões é um exemplo do mundo real. Não é um cenário artificial do que poderia acontecer; mas o que realmente acontece e o que acontecerá.
Este capítulo aplica padrões para resolver problemas usando um processo de descoberta. O sistema que discutiremos é um sistema de negociação de títulos com o qual trabalhei durante dois anos desde o projeto inicial até a produção. Exploraremos cenários e problemas que foram encontrados e como resolvê-los com padrões. Isso envolve o processo de decisão de escolher um padrão, bem como como combinar e ajustar padrões para atender às necessidades do sistema. E tudo isso é feito levando em consideração as forças encontradas em sistemas reais, incluindo requisitos de negócios, decisões de clientes, requisitos arquitetônicos e técnicos, bem como integração de sistemas legados. A intenção desta abordagem é proporcionar uma compreensão mais clara dos próprios padrões através da aplicação prática.
Construindo um sistema.
Um grande banco de investimento de Wall Street pretende construir um sistema de preços de títulos em um esforço para agilizar o fluxo de trabalho de sua mesa de negociação de títulos. Atualmente, os comerciantes de títulos têm que enviar preços para um grande número de títulos para vários locais de negociação diferentes, cada um com sua própria interface de usuário. O objetivo do sistema é minimizar as minúcias de avaliar todos os seus títulos combinados com funcionalidades analíticas avançadas específicas do mercado de títulos em uma única interface de usuário encapsulada. Isso significa integração e comunicação com vários componentes em vários protocolos de comunicação. O fluxo de alto nível do sistema parece ser o seguinte:
Fluxo de alto nível.
Primeiro, os dados do mercado entram no sistema. Os dados de mercado são dados relativos ao preço e outras propriedades do vínculo que representam o que as pessoas estão dispostas a comprar e vender o vínculo no mercado livre. Os dados do mercado são imediatamente enviados para o mecanismo de análise que altera os dados. A análise refere-se a funções matemáticas para aplicações financeiras que alteram os preços e outros atributos dos títulos. Estas são funções genéricas que usam variáveis ​​de entrada para adaptar os resultados da função a uma ligação particular. O aplicativo cliente que será executado em cada área de trabalho do comerciante configurará o mecanismo de análise por base de comerciante, controlando as especificidades da análise para cada vínculo, o comerciante está classificando os preços. Uma vez que a análise é aplicada aos dados do mercado, os dados modificados são enviados para vários locais de negociação em que os comerciantes de outras empresas podem comprar ou vender os títulos.
Arquitetura com padrões.
Com esta visão geral do fluxo de trabalho do sistema, podemos abordar alguns dos problemas arquitetônicos que encontramos durante o processo de design. Vamos dar uma olhada no que sabemos até agora. Os comerciantes precisam de uma aplicação muito receptiva nas estações de trabalho Windows NT e Solaris. Portanto, decidimos implementar o aplicativo cliente como um cliente de Java grosso devido à independência de sua plataforma e sua capacidade de responder rapidamente aos dados de entrada e ao mercado do usuário. Do lado do servidor, estamos herdando componentes C ++ legados que o nosso sistema utilizará. Os componentes de dados do mercado se comunicam com a infra-estrutura de mensagens TIBCO Information Bus (TIB).
Estamos herdando os seguintes componentes:
Market Data Price Feed Server: publica dados de mercado recebidos para o TIB. Mecanismo de análise: executa análises de dados de mercado recebidos e transmite os dados de mercado modificados para o TIB. Servidor de Contribuição: Executa toda a comunicação com os locais de negociação. Os locais de negociação são componentes de terceiros não controlados pelo banco.
Subsistema de dados do mercado legado.
Subsistema de contribuição legado.
Precisamos decidir como os subsistemas separados (Java thick client, data de mercado e contribuição) se comunicarão. Poderíamos que o cliente grosso se comunicasse diretamente com os servidores legados, mas isso exigiria muita lógica de negócios no cliente. Em vez disso, construiremos um par de gateways Java para se comunicar com os servidores herdados - O Gateway de preços para dados de mercado, um Contribution Gateway para enviar preços para os locais de negociação. Isso alcançará um bom encapsulamento da lógica de negócios relacionada a essas áreas. Os componentes atuais do sistema são mostrados abaixo. As conexões marcadas como ". - indicam que ainda não temos certeza de como alguns dos componentes se comunicarão.
O sistema e seus componentes.
A primeira questão de comunicação é como integrar o Java thick client e os dois componentes do servidor Java para trocar dados. Olhe nos quatro estilos de integração sugeridos neste livro: Transferência de arquivos, banco de dados compartilhado, Invocação de procedimento remoto e mensagens. Nós podemos descartar o banco de dados compartilhado imediatamente porque queríamos criar uma camada de abstração entre o cliente eo banco de dados e não queremos ter o código de acesso ao banco de dados no cliente. A transferência de arquivos pode ser descartada de forma similar, uma vez que é necessária uma latência mínima para garantir que os preços atuais sejam enviados para os locais de negociação. Isso nos deixa uma escolha entre Invocação de Procedimento Remoto ou Mensagens.
A plataforma Java fornece suporte incorporado para Invocação de Procedimentos Remotos e Mensagens. A integração com o estilo RPC pode ser alcançada usando o Remote Method Invocation (RMI), CORBA ou Enterprise Java Beans (EJB). O Java Messaging Service (JMS) é a API comum para integração com o estilo de mensagens. Portanto, ambos os estilos de integração são fáceis de implementar em Java.
Então, o que funcionará melhor para este projeto, Invocação de Procedimento Remoto ou Mensagens? Há apenas uma instância do Pricing Gateway e uma instância do Contribution Gateway no sistema, mas geralmente muitos Clientes Grossos se conectam simultaneamente a esses serviços (um para cada comerciante de títulos que esteja logado em um horário específico). Além disso, o banco gostaria que este fosse um sistema genérico de preços que possa ser utilizado em outras aplicações. Portanto, além de um número desconhecido de Think Clients, pode haver um número desconhecido de outras aplicações usando os dados de preços que saem dos Gateways.
Um Thick Client (ou outro aplicativo usando os dados de preços) pode bastante facilmente usar o RPC para fazer chamadas nos Gateways para obter dados de preços e invocar o processamento. No entanto, os dados de preços serão constantemente publicados, e certos clientes só estão interessados ​​em determinados dados, de modo que obter dados relevantes aos clientes adequados em tempo hábil pode ser difícil. Os clientes poderiam pesquisar os Gateways, mas isso criará muitas despesas gerais. Seria melhor para os Gateways disponibilizar os dados aos clientes assim que estejam disponíveis. Isso, no entanto, exigirá que cada Gateway fique atento a quais clientes estão atualmente ativos e que querem quais dados específicos; então, quando um novo pedaço de dados ficar disponível (o que acontecerá várias vezes por segundo), o Gateway terá que fazer um RPC para cada cliente interessado para transmitir os dados ao cliente. Idealmente, todos os clientes devem ser notificados simultaneamente, então cada RPC precisa ser feito em seu próprio segmento simultâneo. Isso pode funcionar, mas está ficando muito complicado muito rápido.
O Messaging simplifica muito esse problema. Com o Messaging, podemos definir canais separados para os diferentes tipos de dados de preços. Então, quando um Gateway obtém uma nova peça de dados, ele adicionará uma mensagem contendo esses dados ao Canal de Publicação-Inscrição para esse tipo de dados. Enquanto isso, todos os clientes interessados ​​em um determinado tipo de dados escutarão no canal para esse tipo. Desta forma, os Gateways podem facilmente enviar novos dados para quem está interessado, sem precisar saber quantos aplicativos de ouvintes existem ou o que são.
Os clientes ainda precisam ser capazes de invocar comportamentos nos Gateways também. Uma vez que existem apenas dois Gateways, e o cliente provavelmente pode bloquear enquanto o método é invocado de forma síncrona, essas invocações de cliente para Gateway podem ser facilmente implementadas usando o RPC. No entanto, uma vez que já estamos usando mensagens para a comunicação do Gateway para o cliente, as mensagens provavelmente são uma maneira tão boa de implementar a comunicação do cliente para o gateway também.
Portanto, toda comunicação entre os Gateways e os clientes será realizada através de mensagens. Como todos os componentes estão escritos em Java, o JMS apresenta uma escolha fácil para o sistema de mensagens. Isso efetivamente está criando um barramento de mensagens ou uma arquitetura que tornará possível que sistemas futuros se integrem com o sistema atual com poucas ou nenhuma alteração na infra-estrutura de mensagens. Desta forma, a funcionalidade de negócios da aplicação pode ser facilmente usada por outra aplicação que o banco desenvolve.
Componentes Java que Comunicam com o JMS.
O JMS é simplesmente uma especificação e precisamos decidir sobre um sistema de mensagens compatível com JMS. Nós decidimos usar o IBM MQSeries JMS porque o banco é uma "loja do Google", usando servidores de aplicativos da WebSphere e muitos outros produtos da IBM. Como resultado, usaremos o MQSeries já que já possuímos uma infraestrutura de suporte e uma licença de site do produto.
A próxima pergunta é como conectar o sistema de mensagens MQSeries com o servidor autônomo de C ++ Contribution e os servidores do Market Data e Analytics Engine baseados em TIBCO. Precisamos de um modo para os consumidores do MQSeries terem acesso às mensagens TIB. Mas como? Talvez possamos usar o padrão do Message Translator para traduzir mensagens TIB para mensagens MQSeries. Embora o cliente C ++ para MQSeries serve como um Message Translator, o uso dele sacrificaria a independência do servidor JMS. E embora a TIBCO tenha uma API Java, o arquiteto e o gerente do cliente rejeitaram. Como resultado, a abordagem do Message Translator deve ser abandonada.
A ponte do servidor TIB para o servidor MQSeries requer comunicação entre C ++ e Java. Podemos usar o CORBA, mas, então, sobre a mensagem? Um olhar mais atento sobre o padrão do Message Translator mostra que ele está relacionado ao Adaptador de Canal em seu uso de protocolos de comunicação. O coração de um Adaptador de Canal é conectar sistemas que não sejam de mensagens para sistemas de mensagens. Um par de adaptadores de canal que conecta dois sistemas de mensagens é uma ponte de mensagens.
A finalidade de um Messaging Bridge é transferir mensagens de um sistema de mensagens para outro. Isso é exatamente o que estamos fazendo com a complexidade adicionada da comunicação intra-linguagem Java para C ++. Podemos implementar a ponte de mensagens em linguagem cruzada usando uma combinação de Channel Adapter s e CORBA. Construiremos dois servidores de Adaptadores de Canal leves, um em gerenciamento de comunicação C ++ com o TIB e outro em Java gerenciando comunicação com o JMS. Esses dois canais de adaptador, que são os próprios pontos de mensagem, se comunicarão entre si através do CORBA. Como a nossa escolha para o MQSeries, usaremos CORBA em vez de JNI, uma vez que é um padrão da empresa. A ponte de mensagens implementa a tradução de mensagens efetivamente simulada entre sistemas de mensagens aparentemente incompatíveis e diferentes idiomas.
Message Translator usando Adaptadores de canais.
O próximo diagrama mostra o design do sistema atual, incluindo os Gateways e outros componentes. Este é um bom exemplo de aplicação de padrões. Combinamos dois Channel Adapter s com um protocolo não-mensagens para implementar o padrão Message Translator, usando efetivamente um padrão para implementar outro padrão. Além disso, mudamos o contexto do adaptador do canal para vincular dois sistemas de mensagens com um protocolo de conversão de idioma cruzado que não seja de mensagens em vez de conectar um sistema de mensagens a um sistema que não seja de mensagens.
O sistema atual com os Adaptadores de Canal.
Canais Estruturadores.
Uma chave para trabalhar com padrões não é apenas saber quando usar qual padrão, mas também como usá-lo de forma mais eficaz. Cada implementação de padrão deve ter em conta especificidades da plataforma tecnológica, bem como outros critérios de design. Esta seção aplica o mesmo processo de descoberta para encontrar o uso mais eficiente do canal Publish-Subscribe no contexto do servidor de dados de mercado que se comunica com o mecanismo analítico.
Os dados do mercado em tempo real originam-se com o feed de dados do mercado, um servidor C ++ que transmite dados de mercado no TIB. O feed de dados do mercado usa um canal de publicação-inscrição separado para cada vínculo para o qual é o preço de publicação. Isso pode parecer um pouco extremo, uma vez que cada nova ligação precisa do seu próprio novo canal. Mas isso não é tão grave, pois você realmente não precisa criar canais no TIBCO. Em vez disso, os canais são referenciados por um conjunto hierárquico de nomes de tópicos chamados de assuntos. O servidor TIBCO filtra um único fluxo de mensagens por assunto, enviando cada assunto exclusivo para um único canal virtual. O resultado é um canal de mensagem muito leve.
Poderíamos criar um sistema que publica em alguns canais e os assinantes poderiam ouvir apenas os preços que lhes interessam. Isso exigiria que os assinantes usassem um Filtro de Mensagens ou um Consumidor Seletivo para filtrar todo o fluxo de dados para preços de títulos interessantes, decidindo se cada mensagem deve ser processado conforme recebido. Dado que os dados de mercado são publicados em canais dedicados, os assinantes podem se inscrever para atualizações sobre uma série de títulos. Isso efetivamente permite que os assinantes "filtrar" seletivamente se inscrevendo em canais e apenas recebendo atualizações de interesse ao invés de decidir depois que a mensagem é recebida. É importante notar que o uso de múltiplos canais para evitar a filtragem é um uso não padrão de canais de mensagens. No contexto da tecnologia TIBCO, no entanto, estamos realmente decidindo se implementamos ou possuímos filtros ou utilizamos a filtragem de canais incorporada no TIBCO - em vez de usar tantos canais.
O próximo componente que precisamos projetar é o mecanismo de análise, outro servidor C ++ / TIB que modificará os dados do mercado e o retransmitirá para o TIB. Embora esteja fora do alcance do nosso desenvolvimento Java / JMS, estamos trabalhando em estreita colaboração com a equipe C ++ para projetá-lo, já que somos o principal "cliente" do motor de análise. O problema em questão é encontrar a estrutura do canal que retransmita os dados de mercado recentemente modificados.
Uma vez que já possuímos um canal de mensagens dedicado por vínculo herdado do preço de preço do mercado, seria lógico modificar os dados do mercado e retransmitir os dados de mercado modificados no canal de mensagens dedicado. Mas isso não funcionará uma vez que os analíticos que modificam os preços dos títulos são específicos do comerciante. Se nós retransmitimos os dados modificados no canal de mensagens de ligação, destruiremos a integridade dos dados, substituindo dados genéricos de mercado por dados específicos do comerciante. Por outro lado, podemos ter um tipo de mensagem diferente para os dados de mercado específicos do comerciante que publicamos no mesmo canal, permitindo que os assinantes decidam qual mensagem eles estão interessados ​​para evitar destruir a integridade dos dados. Mas então os clientes terão que implementar seus próprios filtros para separar mensagens para outros comerciantes. Além disso, haverá um aumento substancial nas mensagens recebidas pelos assinantes, colocando um encargo desnecessário sobre eles.
Existem duas opções:
Um canal por comerciante: cada comerciante tem um canal designado para os dados de mercado modificados. Desta forma, os dados de mercado originais permanecem intactos e cada aplicação de comerciante pode ouvir seus comerciantes específicos Message Channel para as atualizações de preços modificadas. Um Canal por comerciante por Obrigatório: Crie um Canal de Mensagens por comerciante por ação unicamente para os dados de mercado modificados dessa ligação. Por exemplo, os dados de mercado para a ligação ABC seriam publicados no canal "Bond ABC", enquanto os dados de mercado modificados para o comerciante A seriam publicados no Message Channel "Trader A, Bond ABC", dados de mercado modificados para o comerciante B em "Trader B , Bond ABC, "e assim por diante.
Um canal por comerciante.
Um canal por ligação por comerciante.
Existem vantagens e desvantagens para cada abordagem. A abordagem por vínculo, por exemplo, usa muito mais Message Channel. No pior caso, o número de Canal de Mensagens será o número total de títulos multiplicado pelo número de comerciantes. Podemos colocar limites superiores sobre o número de canais que serão criados, já que sabemos que existem apenas cerca de 20 comerciantes e nunca mais do que um par cento de títulos. Isso coloca o limite superior abaixo do alcance de 10.000, o que não é tão estranho em comparação com o canal de mensagens de quase 100.000 que o preço do preço de mercado está usando. Além disso, uma vez que estamos usando o TIB eo canal de mensagens são bastante baratos, o número de canais de mensagens não é um problema grave. Por outro lado, o número total de canais de mensagens pode ser um problema na perspectiva da gestão. Toda vez que um vínculo é adicionado, um canal para cada comerciante deve ser mantido. Isso pode ser severo em um sistema muito dinâmico. Nosso sistema, no entanto, é essencialmente estático. Ele também possui uma infra-estrutura para gerenciar automaticamente o canal de mensagens s. Isso combinado com a arquitetura herdada de um componente legado usando uma abordagem similar minimiza a desvantagem. Isso não quer dizer que devemos fazer um número desnecessariamente excessivo de Message Channel s. Em vez disso, podemos implementar uma abordagem arquitetônica que usa um grande número de canais de mensagens quando há um motivo.
E há um motivo neste caso que se resume à localização da lógica. Se implementarmos a abordagem por comerciante, o Google Analytics Engine precisa de lógica para agrupar canais de entrada e saída. Isso ocorre porque os canais de entrada do Google Analytics Engine são por ligação e o Canal de Mensagens de saída seria por comerciante, exigindo que o Engine Analytics encaminhe toda a entrada de análise de múltiplas ligações para um comerciante particular para um canal de mensagens de saída específico do comerciante. Isso efetivamente transforma o mecanismo de análise em um roteador baseado em conteúdo para implementar lógica de roteamento personalizada para nossa aplicação.
Seguindo a estrutura do Bus de mensagens, o Analytics Engine é um servidor genérico que pode ser usado por vários outros sistemas no. Portanto, não queremos nublá-lo com funcionalidades específicas do sistema. Por outro lado, a abordagem por vínculo funciona uma vez que a idéia de um comerciante possuir o resultado analítico dos preços dos títulos é uma prática aceita pela empresa. A abordagem por vínculo mantém intacta a separação do canal de mensagens do fluxo de dados do mercado, enquanto adiciona mais alguns canais de mensagens. Antes de chegar ao cliente, queremos que um roteador baseado em conteúdo combine esses vários canais em um número gerenciável de canais. Não queremos que o aplicativo cliente em execução na área de trabalho do comerciante esteja ouvindo milhares ou dezenas de milhares de canais de mensagens. Agora, a questão se torna onde colocar o Roteador baseado em conteúdo. Poderíamos simplesmente ter o Adaptador de Canal C ++ / TIB encaminhar todas as mensagens para o Gateway de Preços em um único Canal de Mensagens. Isso é ruim por dois motivos; estariamos dividindo a lógica de negócios entre C ++ e Java, e perderíamos o benefício do Canal de Mensagens separado no lado TIB, permitindo-nos evitar a filtragem mais tarde no fluxo de dados. Olhando para os nossos componentes Java, podemos colocá-lo no Pricing Gateway ou criar um componente intermediário entre o Pricing Gateway e o cliente.
Em teoria, se persistisse na separação baseada em vínculo do Message Channel s até o cliente, o Pricing Gateway retransmitiria informações de preços com a mesma estrutura de canal que o Passo de Preços e o Engine Analytics. Isso significa uma duplicação de todos os canais dedicados TIB dedicados no JMS. Mesmo que criemos um componente intermediário entre o Gateway de preços e o cliente, o Gateway de preços ainda precisará duplicar todos os canais no JMS. Por outro lado, implementar a lógica diretamente no Pricing Gateway nos permite evitar a duplicação do grande número de canais no JMS, permitindo-nos criar um número muito menor de canais na ordem de um por trader. O Pricing Gateway registra-se através do Adaptador de Canal C ++ / TIB como consumidor para cada ligação de todos os comerciantes do sistema. Em seguida, o Gateway de preços encaminhará cada cliente específico apenas as mensagens relacionadas a esse comerciante específico. Desta forma, usamos apenas um pequeno número de canais de mensagens no final do JMS, ao mesmo tempo que maximizamos o benefício da separação no final TIB.
O fluxo de dados de mercado completo para o cliente.
A discussão de layout do Canal de Mensagens é um bom exemplo de como os padrões de integração são importantes. O objetivo aqui foi descobrir como usar efetivamente o canal de mensagens s. Dizendo que você usa um padrão não é suficiente. Você precisa descobrir como implementá-lo e incorporar no seu sistema para resolver os problemas em questão. Além disso, este exemplo mostra as forças de negócios em ação. Se pudéssemos implementar lógica de negócios em qualquer um dos nossos componentes, poderíamos ter ido com a abordagem por comerciante e implementado uma abordagem global mais simples com muitos canais menos.
Selecionando um canal de mensagens?
Agora que conhecemos a mecânica da comunicação entre os componentes Java / JMS e os componentes C ++ / TIBCO, e vimos alguma estruturação do Canal de Mensagens, precisamos decidir qual tipo de Canal de Mensagens JMS os componentes Java devem usar para se comunicar. Antes que possamos escolher entre os diferentes canais de mensagens disponíveis no JMS, vejamos o fluxo de mensagens de alto nível do sistema. Temos dois gateways (Preços e Contribuição) que se comunicam com o cliente. Os fluxos de dados do mercado para o cliente do Pricing Gateway, que o envia para o Contribution Gateway. O aplicativo cliente envia mensagem para o gateway de preços para alterar a análise que está sendo aplicada a cada ligação. O Contribution Gateway também envia mensagens para o aplicativo Cliente, transmitindo o status das atualizações de preços para os diferentes locais de negociação.
O fluxo de mensagens do sistema.
A especificação JMS descreve dois tipos de Canal de Mensagens, Canal Ponto a Ponto (Fila JMS) e Canal de Publicação-Inscrição (Tópico JMS). Recall that the case for using publish-subscribe is to enable all interested consumers to receive a message while the case for using point-to-point is to ensure that only one eligible consumer receives a particular message.
Many systems would simply broadcast messages to all client applications, leaving each individual client application to decide for itself whether or not to process a particular message. This will not work for our application since there are a large number of market data messages being sent to each client application. If we broadcast market data updates to uninterested trader, we will be unnecessarily wasting client processor cycles deciding whether or not to process a market data update.
Point-to-Point Channel s initially sound like a good choice since the clients are sending messages to unique servers and visa versa. But it was a business requirement that traders may be logged in to multiple machines at the same time. If we have a trader logged in at two workstations simultaneously and a point-to-point price update is sent, only one of the two client applications will get the message. This is because only one consumer on a Point-to-Point Channel can receive a particular message. Notice that only the first of each group of a trader's client applications receives the message.
Point-to-Point Messaging for Price Updates.
We could solve this using the Recipient List pattern, which publishes messages to a list of intended recipients, guaranteeing that only clients in the recipient list will receive messages. Using this pattern, the system could create recipient lists with all client application instances related to each trader. Sending a message related to a particular trader would in turn send the message to each application in the recipient list. This guarantees all client application instances related to a particular trader would receive the message. The downside of this approach is that it requires quite a bit of implementation logic to manage the recipients and dispatch messages.
Recipient List for Price Updates.
Even though point-to-point could be made to work, let’s see if there is a better way. Using Publish-Subscribe Channel s, the system could broadcast messages on trader specific channels rather than client application specific channels. This way, all client applications processing messages for a single trader would receive and process the message.
Publish-Subscribe Messaging for Price Updates.
The downside of using Publish-Subscribe Channel s is that unique message processing is not guaranteed with the server components. It would be possible for multiple instances of a server component to be instantiated and each instance process the same message, possibly sending out invalid prices.
Recalling the system message flow, only a single communication direction is satisfactory with each Message Channel . Server-to-client communication with publish-subscribe is satisfactory while client-to-server communication is not and client-server communication with point-to-point is satisfactory while server-client is not. Since there is no need to use the same Message Channel in both directions, we can use each Message Channel only one direction. Client-to-server communication will be implemented with point-to-point while server-to-client communication will be implemented with publish-subscribe. Using this combination of Message Channel s, the system benefits from direct communication with the server components using point-to-point messaging and the multicast nature of publish-subscribe without either of the drawbacks.
Message flow with Channel Types.
Problem Solving With Patterns.
Patterns are tools and collections of patterns are toolboxes. They help solve problems. Some think that patterns are only useful during design. Following the toolbox analogy, this is like saying that tools are only useful when you build a house, not when you fix it. The fact is that patterns are a useful tool throughout a project when applied well. In the following sections we will use the same pattern exploration process we used in the previous section to solve problems in our now working system.
Flashing Market Data Updates.
Traders want table cells to flash when new market data is received for a bond, clearly indicating changes. The Java client receives messages with new data which triggers a client data cache update and eventually flashing in the table. The problem is that updates come quite frequently. The GUI thread stack is becoming overloaded and eventually freezing the client since it can’t respond to user interaction. We will assume that the flashing is optimized and concentrate on the data flow of messages through the updating process. An examination of performance data shows the client application is receiving several updates a second; some updates occurred less than a millisecond apart. Two patterns that seem like they could help slow down the message flow are Aggregator and Message Filter.
A first thought is to implement a Message Filter to control the speed of the message flow by throwing out updates received a small amount of time after the reference message. As an example, lets say that we are going to ignore messages within 5 milliseconds of each other. The Message Filter could cache the time of the last acceptable message and throw out anything received within the next 5 milliseconds. While other applications may not be able to withstand data loss to such an extent, this is perfectly acceptable in our system due to the frequency of price updates.
Time based Message Filter.
The problem with this approach is that not all data fields are updated at the same time. Each bond has approximately 50 data fields displayed to the user including price. We realize that not every field is updated in every message. If the system ignores consecutive messages, it may very well be throwing out important data.
The other pattern of interest is the Aggregator . The Aggregator is used to manage the reconciliation of multiple, related messages into a single message, potentially reducing the message flow. The Aggregator could keep a copy of the bond data from the first aggregated message, then update only new or changed fields successive messages. Eventually the aggregated bond data will be passed in a message to the client. For now, lets assume that the Aggregator will send a message every 5 milliseconds like the Message Filter . Later, we'll explore another alternative.
Aggregator with partial successive updates.
The Aggregator , like any other pattern, is not a silver bullet; it has its pluses and minuses that need to be explored. One potential minus is that implementing an Aggregator would reduce the message traffic by a great amount in our case only if many messages are coming in within a relatively short time regarding the same bond. On the other hand, we would accomplish nothing if the Java client only receives updates for one field across all of the traders bonds. For example, if we receive 1000 messages in a specified timeframe with 4 bonds of interest, we would reduce the message flow from 1000 to 4 messages over that timeframe. Alternatively, if we receive 1000 messages in the same timeframe with 750 bonds of interest, we will have reduced the message flow from 1000 to 750 messages; relatively little gain for the amount of effort. A quick analysis of the message updates proves that the Java client receives many messages updating fields of the same bond, and therefore related messages. So, Aggregator is in fact a good decision.
What's left is to determine how the Aggregator will know when to send a message it has been aggregating. The pattern describes a few algorithms for the Aggregator to know when to send the message. These include algorithms to cause the aggregator to send out its contents after a certain amount of time has elapsed, after all required fields in a data set have been completed, and others. The problem with all of these approaches is that the aggregator is controlling the message flow, not the client. And the client is the major bottleneck in this case, not the message flow.
This is because the Aggregator is assuming the consumers of its purged messages (the client application in this case) are Event-Driven Consumer s, or consumers that rely on events from an external source. We need to turn the client into a Polling Consumer , or a consumer that continuously checks for messages, so the client application can control the message flow. We can do this by creating a background thread that continuously cycles through the set of bonds and updates and flashes any changes that have occurred since the last iteration. This way, the client controls when messages are received and as a result, guarantees that it will never become overloaded with messages during high update periods. We can easily implement this by sending a Command Message to the Aggregator initiating an update. The Aggregator will respond with a Document Message containing the set of updated fields that the client will process.
The choice of Aggregator over Message Filter is clearly a decision based solely on the business requirements of our system. Each could help us solve our performance problems, but using the Message Filter would solve the problem at cost of the system data integrity.
Major Production Crash.
With the performance of the flashing fixed, we are now in production. One day the entire system goes down. MQSeries crashes, bringing several components down with it. We struggle with the problem for a while and finally trace it back to the MQSeries dead letter queue (an implementation of the Dead Letter Channel ). The queue grows so large that it brings down the entire server. After exploring the messages in the dead letter queue we find they are all expired market data messages. This is caused by “slow consumers, ” or consumers that do not process messages fast enough. While messages are waiting to be processed, they time out (see the Message Expiration pattern) and are sent to the Dead Letter Channel . The excessive number of expired market data messages in the dead letter queue is a clear indication that the message flow is too great – messages expire before the target application can consume them. We need to fix the message flow and we turn to patterns for help slowing down the message flow.
A reasonable first step is to explore solving this problem with the Aggregator as we recently used this pattern to solve the similar flashing market data control rate problem. The system design relies on the client application to immediately forward market data update messages to the trading venues. This means the system cannot wait to collect messages and aggregate them. So the Aggregator must be abandoned.
There are two other patterns that deal with the problem of consuming messages concurrently: Competing Consumers and Message Dispatcher . Starting with Competing Consumers , the benefit of this pattern is the parallel processing of incoming messages. This is accomplished using several consumers on the same channel. Only one consumer processes each incoming message leaving the others to process successive messages. Competing Consumers , however, will not work for us since we are using Publish-Subscribe Channel s in server-to-client communication. Competing Consumers on a Publish-Subscribe Channel channel means that all consumers process the same incoming message. This results in more work without any gain and completely misses the goal of the pattern. This approach also has to be abandoned.
On the other hand, the Message Dispatcher describes an approach whereby you add several consumers to a вЂ˜pool’. Each consumer can run its own execution thread. One main Message Consumer listens to the Channel and delegates the message on to an unoccupied Message Consumer in the pool and immediately returns to listening on the Message Channel . This achieves the parallel processing benefit of Competing Consumers , but works on Publish-Subscribe Channel s.
The Message Dispatcher in context.
Implementing this in our system is simple. We create a single JMSListener called the Dispatcher, which contains a collection of other JMSListener s called Performers. When the onMessage method of the Dispatcher is called, it in turn picks a Performer out of the collection to actually process the message. The result of which is a Message Listener (the Dispatcher) that always returns immediately. This guarantees a steady flow of message processing regardless of the message flow rate. Additionally, this works equally well on a Publish-Subscribe Channel s as it does on a Point-to-Point Channel s. With this infrastructure, messages can be received by the client application at almost any rate. If the client application is still slow to process the message after receiving them, the client application can deal with the delayed processing and potentially outdated market data rather than the messages expiring in the JMS Message Channel .
The crash discussed in this section and the fix using the Message Dispatcher is an excellent example of the limits of applying patterns. We encountered a performance problem based on a design flaw not allowing the client to process messages in parallel. This greatly improved the problem, but did not completely fix it. This is because the real problem was the client becoming a bottleneck. This couldn’t be fixed with a thousand patterns. We later addressed this problem by refactoring the message flow architecture to route messages directly from the Pricing Gateway to the Contribution Gateway. So patterns can help design and maintain a system, but don’t necessarily make up for poor upfront design.
Throughout this chapter, we have applied patterns to several different aspects of a bond trading system including solving initial upfront design problems and fixing a nearly job threatening production crash with patterns. We also saw these patterns as they already exist in third party product, legacy components, and our JMS and TIBCO messaging systems. Most importantly, these are real problems with the same types of architectural, technical and business problems we experience as we design and maintain our own systems. Hopefully reading about applying patterns to this system helps give you a better understanding of the patterns as well as how to apply them to your own systems.
Gregor Hohpe and Bobby Woolf.
From Enterprise Integration to Enterprise Transformation:
My new book describes how architects can play a critical role in IT transformation by applying their technical, communication, and organizational skills with 37 episodes from large-scale enterprise IT.

Bond Trading Systems.
How bond trading systems work.
Bond Trading Business Primer.
Bond trading using electronic systems is called e-trading . This requires a considerable amount of information technology infrastructure. Before exploring the information technology, we need to understand the fundamentals of the bond trading business. This article describes the processes of bond trading. This is a very broad and deep topic; in this article we will only skim the surface and gain just enough understanding to proceed with exploring the information technology in the next articles.
The bond business.
The bond business has many activities, for simplicity these can be grouped into one of four key operation groups. All these operations are supported by information technology and each group is focused on a specific aspect of bond trading.
Bond life-cycle basics.
A bond is a means for a legal organisation to raise capital by issuing debt. The legal organisations are governments, corporations, supra-national organisations and others. The debt is bought by investors who become the bond holders. The bond holders receive interest payments from the bond issuer at periods defined by a schedule. The bond has a defined term (it’s maturity) and at the end of the term, the original value of each bond is paid back to the bond holder. The original value is also called the face value .
The diagram below helps to illustrate this.
The interest payments made on a bond are called the coupon payment. This term is historic for when a bond certificate actually had tear-off coupons that were required to be presented to the bond issuer in order to receive the interest payment.
Defaulting.
There is a risk that the bond issuer will not be able to pay some or all of the interest payments or the face value at maturity to the bond buyers. This is called credit risk . If the bond issuer fails to honour the bond schedule then the bond issuer defaults on the bond.
If the bond issuer defaults and is in receivership (i. e. declared bankrupt) bond holders may receive a percentage of the face value if the bond is classified as senior debt. If it is subordinate debt then any payout only happens after senior debt has been settled.
Primary Market.
Bonds are issued on the primary market; this is where the bond issuer receives the capital from the bond buyers in exchange for the bond ownership. A buyer of a bond can hold onto the bond until maturity and receive the face value at maturity plus interest payments during its lifetime.
Secondary Market.
A bond holder may choose to switch out of the bond and into another financial investment. This is easily done by trading the bond on the secondary market. The secondary markets are where bonds are bought and sold as commodities.
In general, the term “bond trading” refers to trading on the secondary market. The diagram below summarises bond trading during the market phases and life-time of a bond.
The Secondary Bond Market.
A market has customers and merchants, the customers go to the market to obtain goods for cash whilst the merchants go to the market to sell goods for profit. In this respect, the secondary market is no different. The investment banks are the merchants and investment companies that manage pensions or wealth-management funds are the customers. This is a generalisation of the market participants but is fine for what we need in order to proceed. In the secondary markets, the terms sell-side , market-maker , trader or dealer identify merchants. Customers are identified by the terms buy-side , market-taker , customer or client . In these articles, we shall use the terms dealer/trader and customer .
Prices are expressed as a percentage of par . Par is another term for the face value. Therefore a price of 100.00 is 100.00% of the face value of the bond. The diagram below shows example situations for customers buying and selling with dealers. The dealer sets the prices that the customers can trade at. In general, the dealer will buy low and sell high. In the examples, the dealer is willing to buy at 99.5 and sell at 100.5. This essentially means that if the face value of the bond is $100, the dealer is willing to buy at $99.50 and sell at $100.50. The price a dealer buys at is the bid price and the price the dealer sells at is the ask price. The ask price is also known as the offer price.
The difference between the bid and ask price is called the bid-ask spread (also bid-offer spread ). Wider spreads are better for dealers, narrower spreads are better for the customer but the bid price is always lower than the ask price. Dealers will always want wider spreads whilst customers will always want narrower spreads.
Generally, dealers are not interested in holding bonds to maturity, they are interested in making profit from buying low and selling high. Customers, in contrast, are interested in holding a bond to maturity or at least with a view to receiving the interest payments from a bond and typically re-investing them.
Pricing a Bond on the Secondary Market.
How much a bond is worth can be calculated as its face value plus the remainder of the coupon payments, discounted against the time to maturity of the bond. This is also called the yield-to-maturity and represents the yield you would get if you hold the bond until it matures.
However the yield-to-maturity does not take into account the credit risk of the bond issuer (i. e. how likely it is to default). It also does not factor in risk due to interest rate changes; generally as interest rates rise, bond prices drop and vice versa. In short, the yield-to-maturity is not generally used for calculating prices on the secondary market.
In practice, there are a range of techniques used to price bonds on the secondary market. We won’t be discussing these techniques as they are not appropriate at this introduction level. However, there is one fundamental concept that is common to all pricing techniques; pricing one bond from another. The diagram below helps to illustrate this. This shows a typical example where corporate bond prices are driven by changes in a benchmark bond. Usually the benchmark bond is a government bond.
Typically the corporate bond price has a fixed spread from the benchmark. As the benchmark price changes, so too does the corporate bond price. More advanced pricing techniques can use blended prices or yields from multiple benchmarks to arrive at the bond price. For now though it is sufficient for us to have an appreciation that bond prices can drive other bond prices. This is an important concept in bond pricing for trading. Pricing relationships like this are the basis for most bond pricing systems.
Secondary Market Liquidity.
Governments issue bonds to fund government debt. To ensure that the value of the bonds holds up and that the debt is not viewed as junk , governments place obligations that dealers keep the bond prices liquid on the secondary market by continually quoting 2-way prices . A 2-way price is another term for buy and sell prices. This places a large responsibility and possible financial risk onto dealers to ensure their government bond prices are accurate for the market. These prices become very sensitive to interest rate changes and vice-versa. These obligations ensure government bond prices are always liquid which keeps secondary bond trading viable and stable. The benefit to dealers that take on these obligations is that they are able to participate in the primary market auctions of government debt. Participating in these auctions has financial and reputation benefits for the dealers.
Importance of Liquid Government Bond Prices.
In general, bonds are classified as either government or corporate debt. Government bonds are issued by governments and have a lower risk of defaulting because, in general, governments do not go bankrupt. Due to the lower risk, they also have a lower coupon payment. This follows the concept of lower risk, lower reward.
Corporate bonds, in contrast, have higher risk of default. As such their coupons are higher than an equivalent government bond. The pricing of the corporate bonds is generally done by pricing over government bonds. A single government bond may be driving multiple corporate bond prices. As government bond prices change there is a cascading effect on the price of corporate bonds. By pricing corporate bonds over liquid government prices the corporate bonds themselves have an inherent liquidity.
Liquidity of government debt prices is also an important factor for economic growth. The liquidity is a sign of confidence in the government and its financial stability.
Profit Making on the Secondary Market.
Whilst a dealer may be able to make profit from buying low and selling high, this is not typically available to the customer as the buy and sell prices are set by the dealers. Some trading institutions try to arbitrage the dealer prices but this is typically very difficult and requires intensive information technology investment with somewhat unquantifiable return-on-investment.
Bond Trading Styles.
There are two styles of secondary market trading. A dealer trading with a customer is referred to as dealer-to-customer (D2C) or business-to-customer (B2C) trading. This form of trading generally arises in bonds trading at prices that are tailored by the dealer for the customer and both sides agreeing to the price before the trade is agreed.
A dealer can also trade directly with other dealers. This is referred to as dealer-to-dealer (D2D), business-to-business (B2B) or inter-dealer-broker (IDB) trading. This form of trading is high-speed and ruthless with no human interaction to agree trade prices. Prices that are quoted by a dealer can be instantly traded (or aggressed ) by any other dealer. For this reason, D2D quoting must be kept in step with competitors; slow pricing can mean a dealer will trade off-market and make a loss.
Typically the electronic markets are divided into either D2D or D2C categories. A dealer requires different systems designs to handle the two trading paradigms; D2C trading is more about knowing the customer to provide accurate prices for the customer. D2D trading is about raw horse-power of the dealer’s trading system.
For reference, government quoting obligations are on D2D markets only.
Electronic bond trading allows customers and dealers to trade. However the two sides need to be brought together. This is where sales people come in; they do the work of getting the customer to negotiate with the dealer. Even though as much of the trading work-flow is performed electronically, there are still certain elements which rely on simple human dynamics. Getting customers into the “shop” is one of these.
Sales people receive commission on a per-trade basis for the customers they represent that execute trades with the dealer.
Mercados eletrônicos.
Electronic bond trading is hosted by electronic market providers, called Electronic Communication Networks ( ECNs ). These are also termed exchanges . There are ECNs specialising in either D2D or D2C trading. Dealers and customers connect directly to the ECNs and execute trading activities via the ECN. Dealers typically connect to an ECN via an API. The API allows the dealer to receive market data available on the ECN, submit orders (D2D markets) or respond to customer negotiations (D2C markets). Customers will typically use a software application provided by the ECN to view current prices on the ECN and start negotiations. In general, ECNs take a small commission per trade executed. A dealer generally connects to multiple ECNs to have as much electronic trading presence as possible. This is common sense as the more venues a dealer has access to increases the chances of trading.
These are a few of the ECNs that exist today. It is by no means comprehensive.
Assentamento.
ECNs are where trades are agreed but the actual delivery of cash for bonds or settlement happens at clearing houses. The settlement occurs at standard time frames after the trade is executed. The time frame is a convention for the bond, e. g. euro government bonds settle on a T+2 basis (i. e. 2 days after the trade is agreed). Some bonds settle for cash which means they trade and settle on the same day (T+0).
Clearing houses take on the counterparty risk of a trade. Essentially each conterparty in the trade (the buyer and seller) settles with the clearing house rather than directly with each other. Should either side fail to pay or deliver, the clearing house guarantees that the other side in the trade receives what is due. This protects each counterparty from default during trade settlement. The clearing house protects itself by requiring collateral payments from each counterparty so that there is some coverage of any debts that may arise.
In closing…
In this article, the fundamental processes and concepts used in the bond trading business have been described. With this basic understanding, the information technology can be explored and it will make sense what business process each part in the e-trading technology supports.

Bond Trading Systems.
How bond trading systems work.
E-Trading Primer.
E-trading is essentially a collection of technology systems that share information about bond trading. We need to understand this information in order to be able to design the technology systems to support it.
The information can be divided into 7 functional domains. Each domain focuses on a specific type of function and information that is relevant to e-trading. The information in all the domains is required for e-trading. The diagram below shows the 7 domains of e-trading information.
This logical separation of the information also defines functional responsibility boundaries for the information technology and provides a guide for how an organisation can align the management of the information technology; typically teams are formed to support each domain (sometimes multiple domains).
The data and functions of a domain are provided by one, or more, systems that exist within the domain. The systems themselves are usually a composition of one or more services. So at the lowest level, e-trading is a large collection of services that can be grouped together as systems that are each aligned to one of the functional domains. The diagram below helps to represent this statement.
For simplicity, assume that each domain only has one system and that each system is composed of a few services. In practice however, there can be multiple systems in a domain, for example, the pricing domain may have a different pricing system for government bonds and corporate bonds. Whilst every dealer will have different systems designs, the 7 domains will exist in each dealer environment.
The Functional Domains.
The functional domains separate e-trading information into logical groups. This means that each domain has a distinct information data set. The data sets can be generalised as described in the table below. It may be helpful to refer to the terminology for definitions of any terms used in this table and further on in this article.
This essentially summarises all the data types that exist within e-trading. Different dealer systems may have varying refinements to the data types within each domain but fundamentally the data flowing between their systems can be categorised into one of these domain data types.
Data relationships between Domains.
The systems within each functional domain need data from the other domains in order to function properly. The diagram below shows the logical data relationships between the domains. This is a simplified view but in general the flows shown here are universal to all e-trading systems.
Reference data and market data are fundamental to all the domains. Reference data provides the analytic data for pricing a bond, translating between bond ID schemes as well as counterparty information data for booking. Market data provides external prices that are used as a compare and control mechanism for core prices, quotes and orders.
Pricing systems need the reference data of a bond in order to calculate the core bond price data. More sophisticated pricing calculations may take market data as additional inputs when calculating the core bond prices.
Quoting systems take the core bond prices and use them as the foundation for calculating quotes for ECNs. The quotes are generally calculated by applying ECN specific bid-ask spreads onto the core bond prices (widening the prices) and setting a quantity that the quote is good for. Position data from the booking domain is used to assess the current position held in the bond and amend the quantities of the quote. The position can also be used to mark the appropriate side as axed. Market data (market best prices) is used by quoting systems to provide limits for ECN quote prices or to even replace the dealer’s ECN quote prices (i. e. use the market best price as the quote price itself).
D2C negotiating systems handle the electronic negotiation work-flow between customers and the dealer. When a customer starts a negotiation, the dealer needs to provide a price for the quantity of the bond the customer is proposing to trade. The current bond quote on the ECN the negotiation came from is generally the starting point for the price. Other factors are then considered that will further alter the price; the quality of the customer, the quantity the customer is asking for, current market best prices and the current position the dealer holds in the bond are all usually combined in some function to amend the bond quote price from the quoting system and send this to the customer.
D2D trading systems are used for managing quotes and orders on D2D ECNs. In general these systems use algorithms that constantly tune the prices and quantities by comparing the quotes from the quoting system and the market data prices. Position information from the booking domain systems is used to control quote and order quantities. The D2D trading systems are the high-frequency trading systems that perform algo-trading . They need to be highly efficient and operate at lowest possible latencies to ensure that order prices are kept up-to-date with changing market conditions.
The Services in the Domains.
Earlier in the article, a domain was described as having one or more systems and each system has one or more services. It is the services that are responsible for producing the data for a domain. In general there is a service for each type of data, these are the business services. The diagram below illustrates the core business services that must exist in each domain to produce the data that has been defined in the previous sections. This diagram expands on the previous diagram so also includes the data relationships between the domains. This does not cover infrastructure services (e. g. databases, ECN connection services, messaging services and others), only business related services.
Depending on the dealer systems design, all services in a domain may be owned by one system or separate systems. However, what is constant is that the functions for each service shown here will be fulfilled by some system in the domain. The function of each service is described in the table below.
Environments.
Having learned about all the services that need to exist, we can now move on to discuss the concept of e-trading environments . An e-trading environment is a collection of services. Deploying duplicates of the same services creates a second e-trading environment. Most bond trading institutions have multiple environments running in parallel for different uses. The table below describes the common environments that are deployed.
The set of environments is not limited to these, for example, some organisations will have multiple test environments. Having different environments is essential for the successful running of bond e-trading. Without this, the production bond e-trading environment would stagnate due to lack of change or be extremely unstable as new functionality is tested ‘in the wild’ rather than in the controlled conditions of a development and testing environment.
Environment cross-over.
Environment cross-over is a concept describing when systems from one environment are connected to those of a different one. Typically this occurs when some services do not exist in the environment and to compensate for this, the services from other environments are used. A classic example is ECN trading; ECNs, in general, do not have development environments, only testing and production environments, so a dealer’s development environment generally crosses-over to the ECN testing environment. The diagram below illustrates environment cross-over.
For resilience, there is generally cross-over between the production live and backup environments of the dealer and ECN. However only one environment is active at any point in time at either site.
An environment is deployed in a geographical location . A dealer that trades globally generally requires a production environment located in multiple geographical regions. For each region that a production environment exists, there is also a requirement for backup, testing and development environments. Therefore, if a dealer has 3 global trading regions then the dealer has a total of 3 x 4 = 12 deployments of the e-trading services. So the number of deployments required is a function of the required environments and the trading locations. Managing multiple environments across multiple locations can become very time intensive and complicated. If the deployment technology is not easy to work with then the simple concept of adding a new service to an environment can become a tedious process as it is required to be added in all environments in all locations.
In closing…
This article has introduced concepts that are universal to all e-trading environments. Understanding these is fundamental for any information technology professional or business analyst working in e-trading. This information forms part of the foundation that is needed to start investigating the services and infrastructure in more depth in the next articles.

Bond trading system


This application is a continuation of U. S. patent application Ser. No. 09/321,638, filed May 28, 1999 now U. S. Pat. No. 6,876,309, which is a continuation of U. S. patent application Ser. No. 08/943,995 filed Oct. 3, 1997 (now U. S. Pat. No. 5,915,209), which is a file wrapper continuation of U. S. patent application Ser. No. 08/342,809 filed Nov. 21, 1994 now abandoned, which are incorporated by reference herein in their entireties.
ANTECEDENTES DA INVENÇÃO.
1. Field of the Invention.
The invention lies in the field of computerized systems that are useful in the business of trading municipal and other bonds. More particularly it relates to systems that can directly assist municipal bond brokers' brokers to make new and profitable trades by bringing together buyers and sellers of specific individual bonds to transact trades with anonymity between the buyer and seller. In addition, there invention relates to systems that can assist municipal bond brokers' brokers accurately describe and identify bid lots and organize their trading business.
2. Description of Related Art Including Information Disclosed under 37 CFR 1.97 and 37 CFR 1.98.
Bonds are interest-bearing securities issued by governments, government agencies and quasi-government agencies (municipal bonds), or by commercial corporations with the promise to repay the principal at a fixed future maturity date. The present invention is applicable to the trading of municipal bonds issued by state and local municipalities and with corporate and other securities traded in a comparable manner as will be apparent to those skilled in the art.
Securities brokers are licensed by the Securities and Exchange Commission to buy and sell, or trade in financial securities including commercial stocks and bonds and municipal bonds, on behalf of members of the public, for a commission. Any licensed securities broker can trade in bonds, separate licensing is not necessary, but some brokers specialize in particular types of bond. No formally organized exchange exists for trading bonds. When a securities broker needs to find a purchaser for a municipal bond to complete a sale for a selling customer or needs inventory of municipal bonds from which to make a purchase for a buying customer, the securities broker will generally go to a broker's broker who typically specializes in municipal bonds and deals only with other brokers, not with members of the public. Brokers' brokers, herein referred to as “municipal bond brokers” or simply “brokers,” act on behalf of broker dealers, herein referred to as “traders,” to maintain a market on a riskless and undisclosed basis. Traders are individuals who maintain and control a market within their firm for their sales people, but rely on brokers for transactions with the outside world, with what is known as the “street” market. Brokers maintain “books” of the highest bid a prospective purchaser is willing to make, herein referred to as “bids,” and of the lowest “ask”, or lowest price asked by a prospective selling trader, herein referred to as an “offering”, on numerous different municipal bond issues. An offering is a relatively passive listing of an agency and lot as being available for sale at the asked price. An offering lacks urgency and immediacy and lists of offering are maintained as on-hand inventory by municipal bond brokers. When a client wishes to make a quick sale of a bond lot that fact is broadcast to prospective buying traders as a “bid wanted” for a limited period of time, typically a few hours, or a day or two at most, to solicit a high bid.
A trader, some firms have two or more traders, has the responsibility of maintaining inventory for a specific area of the municipal bond market, or type of bond, for example, insured bonds, short term maturity bonds, or long term maturity bonds. The bonds in inventory have a total position par amount known as the “position” of each lot and an offering par amount known as the “offer” or “offering” price. The position is an established price at which the bond lot was purchased and may be averaged across different prices for groups of bonds in the lot, for example, 10 bonds at 100, 20 bonds at 99½, and 30 bonds at 99 might constitute a lot of 60 bonds having a position price of 99.333, which is the average cost of each bond in the lot. An offering quotes a price at which the lot, or a part of the lot, is for sale for example, “25 at 99¾”.
The function of a broker is that of both a buyer and a seller on every transaction, analogously to a wholesaler. The broker buys from a selling trader and sells to a buying trader. The broker obtains a firm bid before making a purchase from a seller and is therefore not at risk. The terms and parties to a municipal bond transaction are not publicly disclosed although the new purchaser is registered as proprietor of the lot with the issuer, and receives interest payments, calls and other notifications. The broker has no set “position” in the marketplace and is therefore able to be unbiased as to market direction.
Municipal bonds attract a wide following because of their tax-exempt status which also gives them a character of geographical interest. All such bonds are federally tax exempt and they are generally tax exempt under all superior jurisdictions. For example, New York City bonds are exempt from New York City, New York State and Federal income tax, but the interest on such bonds is likely to be taxable; that is, subject to state income taxes for out-of-state residents of, for example, New Jersey.
Because of the strictly geographical nature of the issuer, municipal bonds generally have a rather localized regional interest so that, for example, residents of the state of Oregon may well be interested in California bonds but will have little if any interest in bonds issued in Florida or New Jersey.
In the United States there are approximately one and one half million issues of such tax-exempt securities but there is no exchange through which they are traded and where a dynamic market can be made between willing sellers and willing buyers in competition with one another to determine a fair price for a given security having regard to all available information. Nor are there specialists for individual bonds or types of bonds as there are for commercial securities on stock exchanges. These commercial securities specialists are intimately familiar with the details of the securities in which they specialize and with relevant market forces, and are therefore able to handle their specialist securities more efficiently than can other traders.
Instead of using an exchange and product specialists, most municipal bond transactions are channeled through a small number of municipal broker's firms acting as brokers as described above. As of fall 1994, there are only twenty-one such firms in the U. S.A. One difficulty encountered by firms engaged in municipal bond sales is in obtaining accurate and up-to-date information on any one of over a million different bonds.
Various electronic information means exist to assist municipal bond brokers in trading municipal bonds. For example, some useful services are provided by brokers themselves whose function it is to match bids with bid wanteds as quickly and as profitably as possible. Brokers compete with one another to obtain bid wanteds from and to make deals with their clients, municipal bond traders. To attract and retain clients and to encourage the continuous use of brokers' services, some brokers make sophisticated information systems available to the traders.
A “Municipal Trading System” dated Aug. 19, 1993 from FABKOM, Inc., discloses a computer-implemented municipal trading system for in house use by municipal bond broker's brokers which assists their internal trading operations with outputs to proprietary information services such as Telerate (The Blue List Ticker), Munifacts, and Reuters (trademarks of their respective owners). The FABKOM Municipal Trading System does not solve the problem of rapidly communicating bid wanteds to large numbers of prospective bidders or to provide accurate up-to-date bond lot description information nor does FABKOM provide any new means for enhanced solicitation of bids from large numbers of potential buyers.
J. J. Kenny Drake provides a private, dedicated printer and optionally a screen in a trader's office. Such additional hardware can be problematical in the crowded office environment of many traders.
Another difficulty encountered by municipal bond brokerage firms attempting to consummate a substantial volume of trades quickly is that regulatory agencies prohibit brokers from making trades that are exclusively computer executed and require no physical intervention by a bidder to authorize the bid. Further, the authorization has to be related to an authenticated description of the security by a licensed professional. Unless there is voice-to-voice communication between buyer and seller, an exchange license is required.
Accordingly, there is a need for a system that can rapidly disseminate accurate, up-to-date information on any one of more than a million bond lots, to hundreds of potential buyers and can quickly solicit prospective buyers for the lot, identify a high bidder and to effect a profitable trade.
BRIEF SUMMARY OF THE INVENTION.
The invention, as claimed, is intended to provide a remedy to the difficulties encountered by municipal bond brokers in obtaining accurate and detailed information on municipal bond lots and sales while the transactions are occurring. This problem is solved by providing a computerized municipal bond trading system having the capability to conduct a private electronic auction of bid wanteds between a central market-maker and multiple remote clients who are prospective bidders.
Preferably, bid wanteds included in the auction are rendered time-sensitive by including a time limit for receipt of bids by the market-maker. Transmission of bids to the market-maker from the bidders must be confidential so that bids are not disclosed to other bidders. In maintaining bid confidentiality, the system thus operates in a manner resembling a sealed bid auction such as is used for government contracting, albeit with a much smaller time scale. Preferably, also, each lot on which a bid is wanted is electronically transmitted or made available more or less simultaneously to all desired prospective bidders, for example, by using a fax service to broadcast a bid wanted, stamped with an auction deadline to hundreds of traders to solicit bids.
By broadcasting a large number of traders in a short period of time and constraining the solicitation of bid wanteds into the focused time frame of an auction, superior results can be obtained in that more traders respond more quickly and profitably, enabling the broker quickly to consummate a satisfactory sale for a selling trader.
Preferably, the system includes a security master database of reference material, preferably refreshed nightly from a reference database, from which the accuracy of broadcast bond lot descriptions and identifications can be verified, corrected and supplemented, if necessary, enabling a broker to circulate bid wanteds with up-to-date accurate descriptions.
Communication with client traders may be made directly to a client's workstation over a WAN, using known linking means such as wired or wireless links via modems, network interface cards transceivers and the like, or via facsimile, herein referred to as “fax,” by out-putting in hard copy at the client's premises or into a computerized fax receiving device.
Bids can be transmitted from clients to the market-maker in any suitable manner. In a preferred embodiment they are transmitted by fax.
Direct electronic generation or input of bids by keyboard, mouse, stylus or other impersonal input device without employing a client's imprint is possible, in accordance with the invention.
Also, simultaneous transmissions by competing clients across a network can be rendered highly secure using known coding, routing and verification means, if desired. However, some clients may believe, with or without justification, that network-transmitted bids can be illicitly intercepted by competitors using computer-eavesdropping techniques such as those employed by “hackers.”
BREVE DESCRIÇÃO DOS DESENHOS.
Some preferred embodiments of the invention, including the best mode contemplated of carrying out the invention, will now be described in detail herein below with reference to the accompanying drawings which illustrate only one specific embodiment of the invention and in which:
FIG. 1 is a schematic block diagram showing the flow of data between a bond selling trader and multiple buying traders linked via a municipal bond trading system according to the invention;
FIG. 1A is a schematic block flow diagram of a bond trade transaction performed by the bond trading system illustrated in FIG. 1 ;
FIG. 2 is a schematic representation of a command menu screen for the municipal bond trading system shown and described with reference to FIG. 1 ;
FIG. 3 is a block diagram showing one possible process flow of a user interface for the municipal bond trading described with reference to FIG. 1 ;
FIG. 4 shows a sample bond lot entry screen for posting bond lot data to a modified version of the trading system shown in FIGS. 1-3 ;
FIG. 5 shows a sample bid entry screen analogous to the bond lot data entry screen of FIG. 4 ;
FIG. 6 shows a sample “Add CUSIP” (trademark) information screen for supplementing, or correcting, bond lot information, for use in the modified municipal bond trading system referenced in relation to FIGS. 5 and 6 , with lot data entered;
FIG. 7 shows a portion of a sample offerings listing from a database resident at a broker's office;
FIG. 8 shows a portion of a sample offerings listing from a database resident at a trader or customer's office; e.
FIG. 9 is a sample completed bid wanted form for use with, and at least partially generated by, the trading system of FIGS. 1-3 .
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS.
The present invention relates to a computerized system providing new ways of brokering municipal bonds, thus enabling municipal bond brokers to conduct business more efficiently and enabling a municipal bond brokerage (or “broker” hereinbelow) to provide a more efficient marketplace for bonds. It provides an in-house computer system employing novel computer-implemented brokerage software. The system could be implemented on a stand-alone or multi-user dumb terminal system, but is preferably implemented on a local area network, herein referred to as a “LAN.” Enhanced embodiments of the system contemplate a wide area network, herein referred to as a “WAN,” in which remotely situated trader customers can communicate across a digital network with a central brokerage house. An alternative embodiment of the invention is to register the municipal bond trading system as a licensed exchange with the Securities and Exchange Commission, hereinafter referred to as “SEC.”
Pursuant to the invention, the broker (broker's broker or municipal bond specialist) compiles records of all offers received from various traders and firms into a central listing of offerings. “Offerings” which have not traded (because they did not receive their ask price) or low bids made against those offerings can be easily marked for inclusion in a silent auction pursuant to the invention as “bid wanteds”. Such a “silent” auction is a novel and beneficial feature of the invention, not heretofore known in the industry.
Traders participate in silent auctions, with secret bidding, and rely on brokers to run these silent auctions. Referindo-se à FIG. 1 , in a preferred embodiment such as that shown in the drawings, the invention comprises a software-enabled, computer-implemented municipal bond trading system 10 for use by SEC-registered municipal bond brokers firms to serve the community of SEC-registered securities brokerage firms who deal with the public, such as selling traders 14 and buying traders 12 , for executing transactions in unlisted securities, especially municipal bonds, without disclosing the seller to the prospective buyer.
The municipal bond trading system 10 of the invention enables a broker who deploys it to perform a centralized market-making function in a manner providing many of the advantages of a live exchange such as the New York Stock Exchange, without, in preferred embodiments, requiring an exchange license.
Although the municipal bond trading system 10 is shown in FIG. 1 as occupying a central function between sellers such as selling trader 14 and buying traders 12 , it is to be understood that this is a schematic representation, and as will be further explained hereinbelow, preferred embodiments of the municipal bond trading system 10 include components running at the premises of buying traders 12 , and optionally, also at the premises of selling traders 14 to integrate both sellers and prospective buyers into a coherent market-making system.
Unlike, for example, the J J Kenny-Drake McGraw Hill screen system, which places a dedicated printer or terminal in the office of a trader, the municipal bond trading system 10 of this invention can be implemented in PC-compatible software running on a trader's existing computer hardware employing major operating systems such as DOS (available in several versions, for example, from Microsoft Corp, IBM Corporation, Novell, Inc.), Windows (trademark, Microsoft Corp.), Apple Computer Corp.'s operating systems, and possibly IBM Corporation's OS/2 (trademark). This avoids interposing additional hardware into a trader's crowded work area, and permits a user to multi-task the municipal bond trading system 10 with other applications at the same workstation.
Preferably, the municipal bond trading system 10 uses operating system interrupts for the temporary insertion of time-sensitive screen messages or overlays when the user has other applications on-screen.
A job lot 16 comprises a list of one or more bond lots, each of which is a bid wanted, offering or a dollar bond quote. “For sale” is an industry phrase which means that a seller has accepted a bid at a level reasonably close to the lot's value and will execute on the bid.
A selling trader 14 , who may be an owning institution or individual but is preferably an SEC-registered securities broker dealer, transmits one or more job lots 16 of bonds for sale to the municipal bond trading system 10 maintained by a broker, who functions as a “market-maker,” at any time convenient to the selling trader 14 . Transmission of job lots 16 to the municipal bond trading system 10 can be accomplished in any conventional manner; written, faxed, telephoned, or the equivalent, but is preferably electronically effected in a file that can be directly processed by the municipal bond trading system 10 , for example, via confidential e-mail, as are communications from the market-maker to the seller, over data lines 15 . Most preferably, the seller is computer-linked to the municipal bond trading system 10 on a LAN or a WAN.
Referindo-se à FIG. 1A , after appropriate central processing employing the municipal bond trading system 10 , bid wanteds are circulated to buying traders 12 , Step 202 , in order to solicit bids 18 . These functions are described in greater detail herein below. Bids 18 are received by bond trading system 10 from one or more buying traders 12 and transmitted to the seller by any suitable means, such as fax or computer network, as described above, for further processing, Step 206 . If the selling trader 14 accepts the bid 18 , Step 208 , the brokers' broker marks the lot “for sale,” Step 209 , and completes the execution, Step 210 , preferably with the assistance of the municipal bond trading system 10 , and then transmits customary buy and sell tickets 20 , Step 212 , to the selling trader 14 for their internal processing.
As described above, in Step 214 , if desired, offerings which have not been traded can be marked up and included in Step 202 for circulation to buyers as bid wanteds.
If traders are utilizing the system on their workstations, they will execute a “buy” utilizing the program while the broker executes a “sell.”
In a modified embodiment, subject to compliance with licensing requirements, the system can be operated as an exchange, providing a direct transaction between a selling trader 14 and a bidding trader 12 , conducted through the intermediary of the trading system 10 . The double step required in conducting a buy-sell transaction with both the selling trader 14 and the buying trader 12 , can be eliminated. Alternatively, trading system 10 may receive bid wanteds in electronic form, without vocal communication, and system-select the best bid for entry and referral to the selling trader 14 for acceptance, which electronic non-vocal automated trading procedure currently requires an exchange license.
The system can be tailored to transmit information of the transaction to the trader's in-house processing system for proper record keeping and accounting and to maintain an inventory of bond lots in position for the trader.
It is the broker's responsibility to attempt, in a timely manner, to find a buyer for each lot in the job. Some institutions, for example, unit investment trusts, are required by regulation or their own constitutions, to have gone to every reasonable extent to have offered bonds to numerous brokers before completing a sale to the highest bidder. The novel municipal bond trading system 10 of the invention described herein facilitates fulfillment of this requirement by enabling rapid distribution of job lots 16 to a wide base of customers, selling traders 12 , and by providing quick and efficient means for evaluating, collating and transmitting even a large number of bids 18 to the seller for further action.
Before a trade is executed, a municipal bond lot must be identified with a Central Unified Security Identification Process number, herein referred to as “CUSIP (trademark)” issue identification number. CUSIP is a registered trademark of the American Bankers Association (“ABA”). The bond lot must also have an authentic description and a par value, usually some thousands of dollars, describing the size of the lot. Unlisted bond descriptions are subject to change at any time. For example, bond ratings are continually changed by rating agencies, and a bond may be called in for repayment on as little as thirty days' notice. Ratings and calls are an essential part of the description of a security and can dramatically affect the character of the investment. It is accordingly highly desirable to include such changes of description in each bid wanted before distributing it, which presents a problem.
Failure to use a current and authentic description may require a disconcerting disclaimer to be included in the description, for example, “Not all calls may be listed.” Such disclaimers are very undesirable sales characteristics and create uncertainties regarding completion of a trade to a high bidder.
Authentic descriptions are available from a reference database, such as the KENNYBASE (trademark) database maintained by Kenny Information Systems, Inc., which is often identified by the shorthand term “KIS.” Reference herein to a “KIS database” or to “KIS” is to the KENNYBASE (trademark) database. However, the online access of such a reference database during a transaction is impractical due to its slow download time, the unwieldiness of the volume of data and the potential for incorrectly copied data.
To provide contemporaneous descriptions rapidly, in a manner suitable for processing lots in volume, the invention employs a security master database 24 , wherein bond descriptions are stored cumulatively, whenever the municipal bond trading system 10 encounters them, to be available for future use. The security master database 24 can be primed or supplemented with preferred lists of bond descriptions and has no particular limits, but it is much smaller than the reference database 22 , thus enabling a faster search and access capability. For municipal bond trading, the reference database 22 is preferably the KIS database. In a preferred embodiment, the structure of the security master database 24 is substantially matched to the fields in the reference database 22 and contains no additional fields, so that it may be purged of aged, inactive records without losing any historical transactional data or other useful data not available from the reference database 22 .
The security master database 24 can be updated nightly from the reference database 22 , to keep it within a day of the latest developments. Alternatively, other means may be used to maintain synchronicity of common data fields between the in-house security master database 24 and the remote reference database 22 .
Each lot of a new job lot 16 is supplied with a description from the security master database 24 , which can be rapidly retrieved over a LAN, WAN or similar network. If no description is present on the security master database 24 , the description is pulled down directly from the reference database 22 , which process is slower because of the relative database sizes, the time taken to make a remote connection, and possible queuing delays if the reference database 22 server is busy.
Similarly, identification numbers such as CUSIP (trademark) numbers, if not supplied by the seller, are furnished or verified from the security master database 24 based upon the seller's description, or, if not present on the house-controlled security master database 24 , are obtained from the remote reference database 22 by searching on whatever descriptive parameters are furnished by the selling trader 14 . These features of the municipal bond trading system 10 ensure that each bid wanted can be properly identified and authentically and contemporaneously described for distribution to customers, buying traders 12 , Step 201 ( FIG. 1A ), in a bid wanted form 26 .
Once prepared, the bid wanted form 26 is distributed to the buying traders 12 to enable them to bid in a timely manner. Bids are first solicited, and if necessary, collected centrally, and then evaluated to determine the high bidder, Step 205 . Following this process, a compilation of bids is transmitted to the selling trader 14 for action.
According to the invention, these steps are accomplished in a silent auction, conducted electronically or on paper without the necessity of voiced person-to-person communication modes, such as telephone calls. In this silent auction, each bid wanted is provided with a bidding deadline and is broadcast to reach multiple buying traders 12 prior to that bidding deadline. Traders 12 wishing to bid on the lot offered are required to return a completed bid wanted form 28 to the central municipal bond trading system 10 prior to the deadline if the bid is to be considered. Bidding closes when the deadline passes. After acceptance of a high bid by the selling trader 14 and the completion of any closing formalities, a bought-from ticket 34 is system-prepared and transmitted to the buyer for their records and processing, preferably electronically.
An optional but valuable feature of the silent municipal bond auction according to this invention is the provision of timed alerts to warn of the approaching deadline. Preferably, bidding traders 12 are linked to the municipal bond trading system 10 over a computer network so that bidding deadline alerts can be overlaid, or otherwise displayed on a buying trader's screen at various times throughout the auction process to advise of the approaching commencement of an auction on a particular lot, to warn of expiration of the time limit, and to provide interim advisories as the auction proceeds. Such alerts are preferably displayed on a system-wide basis on all selected and operational networked screens including those of brokers working with other applications on-screen at the time. If desired, bidding trader modules 13 of the municipal bond trading system 10 software can include switches or filters permitting the user to choose which alerts should be flashed on-screen or which should be allowed to interrupt other applications.
Preferably, an on-screen bidding advisory message requires action by the bidding trader 12 to remove it, such as pressing a particular key, and the advisory may include options, for example, “Display bid wanted form?”, if the form is not already on-screen.
Audible signals or messages may accompany or replace the displayed alerts. For example, distinctive musical chords may signify different stages of the bidding process and voiced messages may be sent to traders having digital sound capabilities. Sound alone is probably not satisfactory since an audible signal will not be received by traders who are away from their screens. A small residual screen box, for example, can give a trader the opportunity to playback a missed audible message to which they had failed to provide a requested response.
In a preferred display protocol, by way of example, an alerting message is distributed fifteen minutes before the commencement of an auction when bids are due. Then, fifteen minutes after an auction commences, if no bids have been reported to the selling trader 14 , a message such as “Bids Not Up!” can be distributed. Other similar messages can be distributed at fifteen and five minutes prior to a deadline. Such alerts can be accompanied by full or abbreviated descriptions of the offered lot for which a bid is wanted.
The invention also enables a seller to place a job on “Hold” by setting it up in advance for bid wanteds. Such preparation could take as long as one-half hour or more for large jobs. This advance preparation enables the seller to wait for favorable market conditions and quickly respond to changes in conditions with a timely transmission of bid wanteds to the trading system 10 .
The novel bond-lot auction procedure described herein provides a separate, quick, economical and efficient auction for each bid wanted or job lot offered. The process of disseminating bid wanteds and soliciting and collecting bids can be confined to a well-defined time frame. The onscreen bid deadline alerts command a trader's attention, have immediacy and focus a trader's attention on the bid wanted particulars. The invention significantly improves the volume and quality of responses received to a bid wanted and thence their profitability because traders can enter bids with their own equipment: a concept which is unique in the industry.
The municipal-bond marketing process is very competitive. Brokers compete for the time and attention of buying traders 12 and compete to produce results for the selling traders 14 . The same trader may be a selling trader 14 on one trade and a bidding trader 12 on the next. Delays in distributing a bid wanted to a buying trader may lead to missed opportunities for the seller if the trader buys a different lot with comparable financials in the interim. Many selling traders 14 are sophisticated traders with ways and means of comparing the performance of the specialist municipal bond brokers to whom they entrust their bond lots for marketing.
A market-making municipal bond broker's performance is greatly enhanced by employing the inventive municipal bond trading system 10 , because the broker can instantly transmit a complete and accurate bid wanted to a large number of traders simultaneously.
Some advantages of using the municipal bond trading system 10 are readily apparent in terms of more bids, shorter turnaround times between a seller's listing of a job lot with a broker using the municipal bond trading system 10 and receiving back an ordered list of bids received, fewer completion problems, and possibly better prices.
The problem of distributing bid wanteds to a specified number of buying traders 12 in a short time frame can be solved in various ways, but a particularly preferred solution utilizes fax transmissions of bid wanted forms 26 to a specified group of buying traders 12 who can receive the bid wanted form 26 on paper, by computer or in both ways. This method of transmission is also suitable for distributing bid wanted forms 26 to any individual buying trader 12 . In preparing job lots 16 for fax broadcasting, the municipal bond trading system 10 organizes all active job lots 16 in a queue so that the broker can designate, or “tag,” selected lots for faxing. The system sorts tagged lots for faxing by auction time, and sends them to a fax service 30 at a predetermined interval before the auction commences.
Fax distribution of job lots 16 can be effected by transmitting bid wanted forms 26 to a fax service 30 , which then transmits appropriate fax messages to the specified list of buying traders 12 across data lines 32 . Of course, in the case of fax transmissions, data lines 32 are telephone lines or telephone signal pathways. Most bid wanted forms 26 will be transmitted to at least tens, and more probably, hundreds of buying traders 12 . In 1994, one list of such prospective buyers comprises nearly eight hundred names.
Preferably, to be functional in the municipal bond industry environment, a fax broadcast of bid wanteds should be completed within at least one hour and preferably in less time, for example, twenty or thirty minutes at the most in order to effectuate a timely auction and to be competitive with traditional distribution methods. Such traditional methods include; individually calling and faxing bid wanted forms 26 to preferred customers; broadcasting printouts to dedicated print terminals; and, other, similar methods. Such time constraints for fax broadcasting are presently prohibitive even for large offices with electronic access to multiple fax lines, when due allowance is made for individual connect and transmission times, data transfer rates over phone lines and for redialing busy numbers. The use of a commercial, external fax service, according to the invention, which employs one or more fax servers driving banks of out-calling modems to make many fax calls simultaneously, enables even small firms to compete more effectively by fax broadcasting. For example, MCI Communications, Inc. provides a fax service which is believed to have access to as many as four or five thousand modems and associated telecommunications network facilities. Such services can transmit large numbers of faxes more or less simultaneously and can, for example, meet a target for fax transmission of a one page message to five hundred traders within half an hour.
The fax broadcast method of bid wanted distribution described herein has multiple advantages of particular value to the sponsoring market-maker. No special equipment is required in the customer's office; every trader and broker has fax facilities. Faxed bid wanteds can be processed in hard copy or electronically, at the customer's discretion, fax broadcasting is the fastest available means of broadcasting bid wanteds to traders without making prior arrangements. And, most importantly, a faxed bid wanted form 26 with blank bid entry areas provides an ideal vehicle for returning completed bids, also by fax. Use of fax broadcasting greatly enhances the efficiency and commercial viability of the bid wanted auction system of the invention.
Preferably, and in addition to receiving faxed bid wanteds, a number of regular clients are computer networked with the municipal bond trading, system 10 to receive bid wanted forms 26 in compatible computer-processable format. If the network is used for returning a completed bid wanted form 28 to the central market-maker, it is preferred that a manual signature be entered on the completed bid wanted form 28 to authorize the bid.
Preferably, the bid wanted form 26 contains the full particulars of each bid wanted lot, including its CUSIP (trademark) number and description, state of origin, maturity, par amount, and coupon values (yield and concession particulars, net yields, and dollar, gross and net dollar price) if appropriate. For use in a fax-broadcast marketing system, the form preferably also includes blanks completable by a bidding trader with bid particulars, yield, dollar or other amount, as appropriate, and bidder identifiers, including the name of the bidding trader. Yields and other calculable numericals can of course be system-calculated and automatically posted from base data. A buying trader 12 can quickly write minimal bid information on a hard copy of such a bid wanted form 26 , sign it, and fax it back to the market-maker, who receives a signed bid with full and accurate lot particulars complying with regulatory requirements and which does not need to be checked, verified or completed. Conventionally received bids are often incomplete, or inaccurate, and require confirmation.
The command menu screen shown in FIG. 2 comprises a conventional ribbon bar 40 across the top (or, if desired, the bottom) of a user's screen 42 , from which drop-down menus can be activated, as shown. In general, the menu descriptions are customary ones for a database application; edit menu 46 , record menu 48 , utility menu 50 , and window menu 52 all list conventional functions which are known to anyone familiar with database management programs. File menu 54 , history menu 56 , and archive selection menu 58 list choices of files and functions that are specific to the municipal bond trading system 10 of the invention. The bid wanteds selection highlighted on the file menu 54 initiates a procedure that associates lot records with their bidding status. Utility menu 50 utilizes an overlaid archive sub-menu 58 to present one or more archive functions. Referring to archive submenu 58 , transaction activity is classified for storage in several different ways, as shown by the menu of selections such as “Lots & Bids” and so on. Archive functions permit historical records to be copied to tape, or other remote or backup permanent storage, enabling system storage capacity to be maintained by purging old records. Provision is made for storage (typically to hard disk) and archival of the host bond broker's daily system-generated transactions by selection of the Lots & Bids option, or to update the brokerage firm's home office records or the security master database 24 records, and to store a record of all outgoing faxes and E-mail using the “outgoing EB” function of archive submenu 58 , which refers to outgoing e-mail broadcasts. The e-mail legend in e-mail window 44 describes a capability to send bid wanted forms 26 by e-mail, in automated mode to a predetermined destination list, which may be selected from multiple lists of buying traders 12 , grouped according to their buying preferences, and networked with the municipal bond trading system 10 . The remaining functions shown in FIG. 2 are standard or self-explanatory and will not be further described.
As indicated in menu box 44 , the preferred embodiment shown employs an auto-open feature so that a time-sensitive bid wanted form sent via e-mail using this menu selection is promptly displayed on a buying trader's 12 screen, interrupting other applications if necessary.
Exemplary database structures for exemplary databases usable in practicing the invention including structures for the files listed in file menu 54 are set forth in the Database Table at the end of this specification.
Menu bar 40 can be present on some or all screens of the municipal bond trading system 10 software to provide users with a wide range of viewing and administrative functionality at any time. Following traditional database management practice, not all functions may be available from all software screens and available capabilities may be adjusted according to a user's status so that, for example, only an administrator can access utility menu 50 .
Referindo-se à FIG. 3 , multiple options are displayed when the municipal bond trading system 10 is opened, enabling a brokers' broker to conduct normal day-to-day municipal bond trading functions with the advantages described herein. The “ORDER” through “SELECT” functions across the top of FIG. 3 can be presented as a menu or a button bar of user selections or in any other convenient way. Each selection provides an input window or screen as will now be described.
The Order button 60 sets the order in which lots are viewed. Lot data is either electronically transmitted from a seller 14 or can be manually entered in a program button (not shown) or elsewhere. The New Job button 62 provides for job creation, lot data entry and verification, and permits selected actions to be taken on a newly created job. The On-Hold button 64 permits jobs to be put on hold during the new job entry procedure, and later returned to active status. The Lot Action button 66 opens a new Lot Action Button Bar 68 , or menu, which enables a user to perform multiple actions on a lot. The Bid Entry button 70 provides for entry of bid details received from a buying trader 12 and for action on a bid.
With Lot Action Button Bar 68 open, the user's system can be said to be in a bid/offer state from which a desired trade sequence may be selected.
Duplicate Bid Action button 72 provides options in case multiple bids for the same lot are received from the same buying trader 12 . The Find button 74 enables a trader to search all available lots in the database on a variety of user-selected criteria for example, yield, maturity, issuer, geography and the like. The Print/Fax button 76 permits selected lots information to be output from the system and can include formats, filters, styles and addresses to facilitate output, especially to provide a quick response to a buying trader 12 . The Select button 78 enables a trader to create one or more private filters for use with the Find button 74 or the Print/Fax button 76 .
Activating the New Job button 62 opens window 80 , which enables a seller to post job data such as customer information identifying and describing the selling organization, as desired, trader information identifying the individual selling trader, the number of lots in the job, and time qualifiers for entry of the new job into a bid wanted auction. To facilitate data-entry, this information can be system-provided by selection from lists or by using defaults.
Window 82 provides for the entry of lot data including an identification number, notably, for municipal bonds, a CUSIP (trademark) number, and a par amount for each lot, representing the value of the lot at par, typically, for example, on the order of five or ten thousand dollars.
Window 84 permits the user to verify, complete, and update the lot data as necessary, and, if necessary, interrogates the remote reference database 22 , in this case, the KIS server, for completion or authentication of data. Employing an issue-identifying CUSIP (trademark) number, the user or system checks the house-maintained security master database 24 and retrieves a full, authenticated issue description as down-loaded (or updated or checked) the previous night from the reference database 22 , the KIS server, and incorporates this description into the new job for itemizing in a bid wanted. Description retrieval can be effected with the usual speed of direct client access to a locally networked file server. If the CUSIP (trademark) description is found in the security master database 24 , processing proceeds to the job complete window 86 .
If the CUSIP (trademark) number is not in the security master database 24 , an inquiry is placed in a lookup queue of the reference database 22 , branch 88 , to obtain an identification number using available bond issue description, and the full, up-to-date particulars including calls and ratings are received, logic block 90 , returning to the job complete window 86 .
A complete job can be acted on by the user in a number of ways, depending upon the nature of the job, as shown in the bottom row of buttons 92 - 98 in FIG. 3. If the job is a bid wanted, an auction is created specifically for that job, using the Bid Wanted button 92 . If the job is a completed offering, dollar bond or auctionable bid wanted, ready for distribution, it can be dispatched for broadcast via the Send button 94 to the fax server, or to proprietary information services, for example, Kenny S&P's Blue List Bond Ticker, currently broadcast over Telerate, Reuters, and Bloomberg Information Services. Activating the Off-the-wire button 96 ensures that the relevant job lot 16 is not broadcast. Activating the Hold button 98 puts the job on hold for changes to be made or information to be added.
Bid wanteds broadcast to outside information services such as Kenny S&P's Blue List Bond Ticker can be indexed chronologically for delivery to customers or prospects with the latest lots listed first. Offerings and dollar bonds, which may not be time-sensitive, can be listed in any desired order.
Referring to the Lot-action-button Bar 68 , the Bid-entry button 100 accesses the bid entry screen of FIG. 5. The bid entry screen is accessible from both button bars because some users will not have access to the lot action bar, such as administrative assistants clerks, and the like. The Bid-up button 102 marks the record of a job lot 16 as bid up to the seller meaning that one or more bids have been received and sent to seller 14 whose action is awaited. The “Will Not Trade” (“WNT”) button 104 marks the record as “Will Not Trade” when the seller has decided not to sell because bids received are too low, or for any other reason. Options marking the record as priced, that is, offered, or not priced, or traded away, if the lot has been sold through other channels, can be added if desired.
For Sale button 106 marks the job lot record accordingly whenever a bid is accepted and execution will take place. Sell button 108 executes a trade, marks a record as sold to the buying trader 12 , and initiates routines to make a bought-from ticket 33 for faxing to the buying trader 12 for their internal processing; to report the transaction to transaction files, for example, in a nightly recap of activity; to display “SELL” and to cancel a “SELL” instruction; and, finally, the updated record can be copied to a new offerings file, with a query as to the price, to be re-offered.
Button 110 is a cancel-sell button enabling a trade to be canceled or bought back from a buying trader 12 .
Buy button 112 marks a job lot record as bought; makes buy and sell tickets for fax to the seller for sending to their back office. Transaction records are updated. The Cancel-buy button 114 enables a buy to be canceled. All buys and sells file records can be exported to the broker's back office for processing and delivery of records.
Re-offer button 116 enables recently sold lots to automatically posted as a duplicate offering item with a reoffering price. History button 118 displays a history of items or lots by any desired parameters, for example, by CUSIP (trademark) number and trade date. Calc button 120 provides a calculator for trial calculations on a bond lot. Fax Seller button 122 sends a fax of auction results to seller 14 and Menu button 124 returns to command menu 40 .
The bidding status of a bond lot record is equivalent to its trading state. Thus, selection of one of the buttons shown in FIG. 3 , such as Bid Entry 100 , Bid Up 102 , Sell 108 , Buy 114 , Reoffer 116 , on Lot Action Button Bar 68 , puts the system in a state specific to that trading activity, as described hereinabove, i. e. a trade-specific state, or trading state, enabling the user to select a desired trading state from a plurality of available trade specific states.
The screens of FIGS. 4-6 show possible embodiments of user interfaces for a slightly modified version of trading system 10 . In common with other developmental technical projects, software undergoes various changes and revisions as it evolves from concept to realization. Thus, the screens of FIGS. 4-6 exhibit minor variations from the system as described with reference to FIGS. 2 and 3 . Other possible variations will be apparent to those skilled in the art.
The lot entry screen of FIG. 4 can be considered as a modified form of window 80 called down by new job button 62 ( FIG. 3 ). The screen shown has a system header 130 identifying the system loaded, the version number, today's date and a settlement date. Directly beneath system header 130 is a menu bar 132 which differs slightly from ribbon bar 40 of FIG. 2 in that E-mail is not directly available from this screen and a database selection menu is added to permit the use to access various system databases, such as traders, offerings, and so on. With the lot entry screen displayed, only edit, window and help functions are available, these menus are not available.
In the FIG. 4 lot entry screen, the broker can select a trader 134 and brokerage firm 136 , referenced on the screen as a “satellite”, by setting the respective radio button indicated generally at 138 to sort the selected list. The broker can also select both a selling trader to receive the order and the lot type desired, that is, either a bid wanted, an offering or a dollar bond, via lot-type button 140 . The “Not in Comp/In Comp” option 142 allows the broker to notify the trader of the lot to make a higher, that is, more competitive, bid in order to trade or execute the bond lot. “In Comp” means the bid is in competition with a prior bid that the seller of the lot already has. The default for this function is set to “Not in Comp”. The individual broker responsible for the lot is identified by name via Choose Broker window 144 .
Bid wanteds received back from bidding traders 12 by fax or other means are posted to the trading system 10 using a screen such as that shown in FIG. 5. A new record is created in a bids database which is relational to a lots database, keying on a unique record number (not shown). Referindo-se à FIG. 5 , a new bid by bidding trader 12 , in this case Jeff Clark, from a hypothetical brokerage firm 136 , 1st Albany Corp, is being entered on a lot identified in lot selection box 146 by the host brokerage (broker's broker) as lot “A-l-VA”. Jeff Clark is bidding a yield 148 of 4.500 and a concession 150 of 5.000, that is, ½ point, on the lot. If desired, the concession can be selected in concession box 152 . The buttons to the left of the trader and brokerage list window provides helpful data entry functions, as indicated by their labels, which are self-explanatory.
Re-enter button 154 recalls the latest record for changes. Other bottom row buttons 154 save the newly created bid to an internal database record unless a cancel option is selected after “quit”. The Will Bid and Pass buttons 154 tag the record accordingly with its current status. An upper row of buttons 156 permits existing bid records to be reviewed or acted upon, as indicated by the button labels, are also self-explanatory. Data changes in the will bid/pass records will automatically generate and transmit messages to the traders to that effect reminding them to take appropriate action within the relevant time limit. The lot CUSIP (trademark) number and description appear along the bottom of the screen.
The Add CUSIP (trademark) screen of FIG. 6 can be called up from any desired point in the system when it is desired to consult original reference database records, remotely, or locally, for example from lot data entry window 82 shown in the flowchart in FIG. 3. This screen allows the broker, or broker's clerk, to locate and add a CUSIP (trademark) number and the par amount to incomplete lot information provided that the lot description is adequate to be uniquely matched. The check lot data 84 function shown in FIG. 3 also calls this screen to allow modifications to the data.
Referring to the Add CUSIP (trademark) screen shown in FIG. 6 , buttons with labels similar to buttons or menu selections described with reference to FIGS. 2 or 3 provide the functions described thereat. The lower half of the screen displays lot information withdrawn from the local or remote reference database. Other functions will be self-explanatory from the button labels. The magnifying-glass icon button 158 initiates a search of the local security master database 24 for records matching the loaded lot. If none is found, remote reference database 22 can be consulted by activating Scan KIS button 160 , which may take time. Other functions include a Controlling Bkrs button 162 enabling a controlling broker to be designated or changed. A controlling broker organizes the bidders on the lot and ensures that past bidders have been contacted and advised of time limits for the bids. The program automatically selects the controlling broker based on the geographical location of the lot. Group option 164 enables a broker to reset a group code based on the geographical location of the lot. Job Entry button 166 enables the broker to modify the order in which lots from a job are displayed, by modifying the order of column headers in the listing. Hold job button 170 allows the broker to choose to put a hold on the current job until more suitable market conditions arise, or other delaying factors subside. This option also allows the broker to cancel a hold and resume active status on the job.
FIG. 7 shows a sample system menu selection bar and a partial listing from an offerings database (sorted on maturity date) resident at the broker's office. The details of the listing will be apparent to those skilled in the art, having regard to the foregoing description, but of interest are the records for trader ABC, here marked as “ABC-NY” shown intermingled with records of other traders. The listing is sorted by maturity date.
FIG. 8 shows a similar partial listing of the inventory of ABC including a different branch office, which could be resident at the office of ABC.
Referindo-se à FIG. 9 , the bid wanted form 26 shown therein is suitable for rendering on standard paper, for example letter size, which can list of the order of seven bond lots for bid, of which two are shown. Form 26 comprises a source broker identifying header 172 under which an accreditation 174 of the bond description source (CUSIP) appears along with a disclaimer. Across the top of the form is an electronically posted fax address 176 of the bidding trader 12 to which the bid wanted form 26 is sent. This is useful as it identifies the bidder when the completed bid wanted form 26 is faxed back to the broker. The broker's lot identification number 178 appears to the left of a lot description 180 which is accompanied by complete lot information including CUSIP (trademark) number 182 , rating 184 , rating agency 186 , call information 188 , coupon 190 and maturity 192 . As completed, a manual bid 194 has been entered in the space provided and the bid is authorized by the trader's signature 196 .
Optionally, the municipal bond trading system of this invention can include, or be embodied in, a remote trader module, and allow buying or selling traders to maintain their own inventory records on their personal computers with bond lot information segregated between public and private information. The system maintains local area network inventory records for the trader, while reporting “offers”, via modem, to the broker's records, such as those shown in FIG. 8.
The public information to be included in a “street” or publicized offering can comprise the par amount, description and an asking price expressed as a yield, concession or dollar price.
In addition to the public information, a bond lot can be supplied with private information, using the trader module, which private information comprises items such as total position size or par amount, dollars at risk, a hedge price (a price at which to sell futures against the bond lot, an average cost, a profit or loss at the asking price and a sales credit (or commission, for in-house sales staff).
Preferably, the trader is networked with the trading system 10 so that the municipal bond trading system offering database is automatically updated with the public information on a bond lot as this information is posted or updated at the trader's personal computer. The bond lot description and CUSIP (trademark) number can be verified either from security master database 24 or reference database 22 , at the broker's facility by the trading system 10 , as described herein, and relevant additions or corrections can preferably also be transmitted to the remote trader.
This process of maintaining duplicate records on the trader's hardware, makes tagging an offering and requesting a bid wanted auction a much quicker process, which is another unique and beneficial feature of the invention.
Furthermore, verification of bond lot descriptions against KIS source data by the central trading system 10 enables a trader to work with accurate, verified descriptions, without having to make their own KIS server access arrangements which would be slow and costly for a trader at a facility lacking a security master database which is refreshed nightly.
The inventive municipal bond trading system 10 described herein provides a novel bond lot auction process and a novel bid wanted fax broadcasting process enabling buying traders to be brought together with sellers to trade bond lots in new and valuable ways. Authenticated bid wanteds can be rapidly broadcast to any number of buyers using the fax broadcasting system, according to a timetable specific to each bond lot. The auction process commands attention with its timetable and onscreen alerts and contains the solicitation of bid wanteds in a desired time frame and at the same time enabling any buying trader easily to bid on a lot. More traders are reached more effectively, leading to more and higher bids and quicker sales at better prices for sellers. In addition, full history information is readily available to facilitate future marketing and sales strategies, and in particular, individual traders can be tracked, and their buying or selling histories can be maintained independently of the brokerage firms with which they are associated, so that they can be more effectively serviced when they change firms. Furthermore, by providing a software means to deliver printed bid wanted forms to buying traders, any need for dedicated hardware can be avoided.
It will be understood that the systems and software referenced herein include, either explicitly or implicitly, software implemented on computers or other appropriate hardware, including such other intelligent data processing devices having a processor, data storage means and the ability to support an operating system, with or without user interfaces, for example, file servers, as may be useful in achieving the objectives of this invention.
Software components and applications embodying the invention can be distributed in electronic bit storage on magnetic, optical, bubble or other media, and optionally in transportable form to be interactive with an electronic reading device, for example, on computer or optical diskettes, or may be distributed over wired or wireless networks for storage by the recipient on such media.
Preferred embodiments of the invention provide such media-stored software in a commercial package accompanied by instructions in printed book or booklet form, for deployment of the software on particular embodiments of a general purpose computer to cause same to operate as a special purpose computer, in accordance with the objectives of the invention. License agreements and registration as a means for updating may also be included. Alternatively, the instructions may also be provided as data files.
It will further be appreciated that such media-stored software constitutes an electronic customizing machine which can interact with a magnetically or optically cooperative computer-based input device enabling the computer to be customized as a special purpose computer, according to the contents of the software. To cause a computer to operate in such customized, special-purpose mode, the software of the invention can be installed by a user or some other person, and will usually interact efficiently with the device on which it is resident to provide the desired special-purpose qualities, but only after the selection of a certain set of configuration parameters. When so configured, the special-purpose computer device has an enhanced value, especially to the professional users for whom it is intended.
Also, different fields are maintained for each bond parameter providing the broker, and if so linked, the trader, with the ability to sort bond lots by any such desired parameter.
While some illustrative embodiments of the invention have been described above, it is, of course, understood that various modifications will be apparent to those of ordinary skill in the art. Such modifications are within the spirit and scope of the invention, which is limited and defined only by the appended claims.

No comments:

Post a Comment