Wednesday 14 March 2018

نظام تداول السندات


أنظمة التداول: تصميم النظام الخاص بك - الجزء 1.
نظر القسم السابق من هذا البرنامج التعليمي إلى العناصر التي تشكل نظام التداول وناقش مزايا وعيوب استخدام مثل هذا النظام في بيئة التداول الحية. في هذا القسم، نبني على تلك المعرفة من خلال دراسة الأسواق التي هي مناسبة بشكل خاص لتداول النظام. ثم سوف نلقي نظرة أكثر تعمقا على أنواع مختلفة من أنظمة التداول.
سوق الأسهم هي على الأرجح السوق الأكثر شيوعا للتجارة، وخاصة بين المبتدئين. في هذه الساحة، اللاعبين الكبار مثل وارن بافيت وميريل لينش تهيمن، والقيم التقليدية واستراتيجيات النمو النمو هي إلى حد بعيد الأكثر شيوعا. ومع ذلك، فإن العديد من المؤسسات قد استثمرت كثيرا في تصميم نظم التجارة وتطويرها وتنفيذها. ينضم المستثمرون الأفراد إلى هذا الاتجاه، على الرغم من ببطء.
إن الكم الكبير من الأسهم المتاحة يسمح للمتداولين باختبار الأنظمة على العديد من أنواع الأسهم المختلفة - كل شيء من الأسهم المتقلبة للغاية دون وصفة طبية إلى رقائق زرقاء غير متطايرة.
فعالية أنظمة التداول يمكن أن تكون محدودة بسبب انخفاض السيولة في بعض الأسهم، وخاصة أوتك والورق ورقة القضايا.
يمكن للجنة أن تأكل في الأرباح الناتجة عن الصفقات الناجحة، ويمكن أن تزيد الخسائر. غالبا ما تتكبد الأسهم المتداولة خارج البورصة والورق الورقي رسوم عمولات إضافية.
والنظم التجارية الرئيسية المستخدمة هي تلك التي تبحث عن القيمة - أي النظم التي تستخدم معلمات مختلفة لتحديد ما إذا كان الأمن أقل من قيمتها مقارنة بأدائها السابق أو نظرائها أو السوق بشكل عام.
سوق العملات الأجنبية، أو الفوركس، هي أكبر وأكثر الأسواق سيولة في العالم. تتداول حكومات العالم والبنوك والمؤسسات الكبيرة الأخرى تريليونات الدولارات فى سوق الفوركس كل يوم. تعتمد غالبية التجار المؤسساتيين في البورصة على أنظمة التداول. وينطبق الشيء نفسه على الأفراد في الفوركس، ولكن بعض التجارة على أساس التقارير الاقتصادية أو الفوائد الفائدة.
إن السيولة في هذه السوق - بسبب الحجم الهائل - تجعل أنظمة التداول أكثر دقة وفعالية.
لا توجد عمولات في هذا السوق، ينتشر فقط. ولذلك، فإنه من الأسهل بكثير لجعل العديد من المعاملات دون زيادة التكاليف.
وبالمقارنة مع كمية الأسهم أو السلع المتاحة، فإن عدد العملات المتاحة للتجارة محدود. ولكن بسبب توفر "أزواج العملات الغريبة" - أي العملات من البلدان الأصغر - فإن النطاق من حيث التقلب ليس بالضرورة محدودا.
أنظمة التداول الرئيسية المستخدمة في الفوركس هي تلك التي تتبع الاتجاهات (قول مأثور في السوق هو "الاتجاه هو صديقك")، أو الأنظمة التي تشتري أو تبيع على هروب. وذلك لأن المؤشرات الاقتصادية غالبا ما تسبب تحركات أسعار كبيرة في وقت واحد.
أسواق الأسهم، الفوركس، والسلع كلها تقدم التداول الآجلة. هذا هو وسيلة شعبية لتجارة النظام بسبب ارتفاع كمية من الرافعة المالية المتاحة وزيادة السيولة والتقلب. ومع ذلك، يمكن لهذه العوامل خفض كلتا الطريقتين: فإنها يمكن إما تضخيم المكاسب الخاصة بك أو تضخيم الخسائر الخاصة بك. ولهذا السبب، فإن استخدام العقود الآجلة يحتفظ عادة بتجار النظام الفردي والمؤسسي المتقدمين. وذلك لأن أنظمة التداول قادرة على الاستفادة من سوق العقود الآجلة تتطلب التخصيص أكبر بكثير، واستخدام مؤشرات أكثر تقدما وتستغرق وقتا أطول لتطوير.
والامر متروك للمستثمر الفردي لتحديد أي السوق هو الأنسب لتداول النظام - لكل منها مزاياه وعيوبه. معظم الناس أكثر دراية بأسواق الأسهم، وهذا الألفة يجعل تطوير نظام التداول أسهل. ومع ذلك، يعتقد عادة أن الفوركس هو منصة متفوقة لتشغيل أنظمة التداول - وخاصة بين التجار الأكثر خبرة. وعلاوة على ذلك، إذا قرر المتداول الاستفادة من زيادة الرافعة المالية والتقلب، فإن البديل الآجل مفتوح دائما. في نهاية المطاف، فإن الخيار يكمن في أيدي المطور النظام.
الطريقة الأكثر شيوعا من نظام التداول هو نظام الاتجاه التالي. وفي شكله الأساسي، ينتظر هذا النظام ببساطة حركة سعرية كبيرة، ثم يشتري أو يبيع في هذا الاتجاه. هذا النوع من البنوك النظام على أمل أن تحركات الأسعار هذه سوف تحافظ على الاتجاه.
موفينغ أفيراج سيستمز.
وكثيرا ما يستخدم في التحليل الفني، المتوسط ​​المتحرك هو مؤشر يبين ببساطة متوسط ​​سعر السهم على مدى فترة من الزمن. ويستمد جوهر الاتجاهات من هذا القياس. الطريقة الأكثر شيوعا لتحديد الدخول والخروج هي كروس أوفر. والمنطق وراء ذلك بسيط: حيث يتم تحديد اتجاه جديد عندما ينخفض ​​السعر فوق أو أدنى من متوسط ​​السعر التاريخي (الاتجاه). هنا هو الرسم البياني الذي يرسم كل من السعر (الخط الأزرق) و 20 يوما ما (الخط الأحمر) من عب:
والمفهوم الأساسي وراء هذا النوع من النظام مماثل لمفهوم نظام المتوسط ​​المتحرك. والفكرة هي أنه عندما يتم إنشاء ارتفاع جديد أو منخفض جديد، فإن حركة السعر من المرجح أن تستمر في اتجاه الاختراق. أحد المؤشرات التي يمكن استخدامها في تحديد الهروب هو بسيط بولينجر باند & ريج. تراكب. بولينجر باندز & ريج؛ تظهر متوسطات الأسعار المرتفعة والمنخفضة، وتحدث الانفجارات عندما يلتقي السعر بحافة العصابات. هنا هو الرسم البياني الذي يخطط السعر (الخط الأزرق) و بولينجر باندز & ريج؛ (خطوط رمادية) من ميكروسوفت:
عيوب تريند-فولوينغ سيستمز:
اتخاذ القرار التجريبي مطلوب - عند تحديد الاتجاهات، هناك دائما عنصر تجريبي للنظر: مدة الاتجاه التاريخي. على سبيل المثال، يمكن أن يكون المتوسط ​​المتحرك خلال ال 20 يوما الماضية أو خلال السنوات الخمس الماضية، لذلك يجب على المطور تحديد أي واحد هو الأفضل للنظام. ومن العوامل الأخرى التي يتعين تحديدها المتوسطات العالية والمنخفضة في أنظمة الاختراق.
الطبيعة المتخلفة - المتوسطات المتحركة وأنظمة الاختراق سوف تكون دائما متخلفة. وبعبارة أخرى، فإنها لا يمكن أبدا ضرب أعلى أو أسفل بالضبط الاتجاه. وهذا يؤدي حتما إلى مصادرة الأرباح المحتملة، التي يمكن أن تكون كبيرة في بعض الأحيان.
تأثير السياط - من بين قوى السوق التي تضر نجاح الأنظمة التالية الاتجاه، وهذا هو واحد من أكثر شيوعا. ويحدث التأثير السطحي عندما يولد المتوسط ​​المتحرك إشارة خاطئة - أي عندما ينخفض ​​المتوسط ​​إلى المدى، ثم ينعكس فجأة الاتجاه. ويمكن أن يؤدي ذلك إلى خسائر هائلة ما لم يتم استخدام أساليب فعالة لوقف الخسائر وتقنيات إدارة المخاطر.
الأسواق الجانبية - النظم التي تتبع الاتجاه هي، بطبيعة الحال، قادرة على كسب المال فقط في الأسواق التي في الواقع الاتجاه. ومع ذلك، تتحرك الأسواق أيضا جانبية، والبقاء ضمن نطاق معين لفترة طويلة من الزمن.
قد يحدث تقلب شديد في بعض الأحيان، قد تواجه الأنظمة التي تتبع الاتجاه بعض التقلب الشديد، ولكن يجب على التاجر التمسك بنظامه. إن عدم القدرة على القيام بذلك سيؤدي إلى فشل مؤكد.
في الأساس، والهدف مع نظام كونترترند هو شراء في أدنى مستوى منخفض وبيع على أعلى مستوى عال. والفرق الرئيسي بين هذا والنظام الذي يتبع الاتجاه هو أن نظام الاتجاه المعاكس ليس تصحيحا ذاتيا. وبعبارة أخرى، ليس هناك وقت محدد للخروج من المراكز، وهذا يؤدي إلى احتمال الهبوط غير محدود.
أنواع أنظمة كونترترند.
وتعتبر العديد من األنواع المختلفة من األنظمة أنظمة عكسية. والفكرة هنا هي شراء عندما يبدأ الزخم في اتجاه واحد يتلاشى. وغالبا ما يتم حساب هذا باستخدام مؤشرات التذبذب. على سبيل المثال، يمكن إنشاء إشارة عند مؤشر ستوكاستيك أو مؤشرات القوة النسبية الأخرى تندرج تحت نقاط معينة. هناك أنواع أخرى من أنظمة التداول المعاكس، ولكن كل منهم يشتركون في نفس الهدف الأساسي - لشراء منخفضة وبيع عالية.
يتطلب اتخاذ القرارات الإدارية الإلكترونية - على سبيل المثال، أحد العوامل التي يجب على مطور النظام اتخاذ قرار بشأنها هو النقاط التي تتلاشى فيها مؤشرات القوة النسبية.
قد يحدث تقلب شديد - قد تواجه هذه الأنظمة أيضا بعض التقلب الشديد، وعدم القدرة على التمسك بالنظام على الرغم من هذا التقلب سوف يؤدي إلى فشل مؤكد.
غير محدود الجانب السلبي - كما ذكر سابقا، هناك احتمال الهبوط غير محدود لأن النظام ليس التصحيح الذاتي (ليس هناك وقت محدد للخروج من المواقف).
والأسواق الرئيسية التي تتلاءم فيها أنظمة التداول هي أسواق الأسهم والأسهم الآجلة والعقود الآجلة. كل من هذه الأسواق له مزاياه وعيوبه. النوعان الرئيسيان لنظم التداول هما نظامي الاتجاه والاتجاه المعاكس. وعلى الرغم من خلافاتها، فإن كلا النوعين من الأنظمة، في مراحلها التنموية، يتطلبان اتخاذ قرار تجريبي من جانب المطور. كما أن هذه الأنظمة تخضع لتقلبات شديدة وقد يتطلب ذلك بعض القدرة على التحمل - من الضروري أن يلتزم تاجر النظام بنظامه أثناء هذه الأوقات. في الدفعة التالية، سنلقي نظرة فاحصة على كيفية تصميم نظام التداول ومناقشة بعض البرامج التي يستخدمها تجار النظام لجعل حياتهم أسهل.

نظام تداول السندات
(جوناثان سيمون)
فمن السهل أن المسافة نفسك من مجموعة كبيرة من أنماط أو لغة نمط. أنماط هي التجريد من فكرة في شكل قابلة لإعادة الاستخدام. في كثير من الأحيان، طبيعة عامة جدا من الأنماط التي تجعلها مفيدة جدا يجعل من الصعب فهم. في بعض الأحيان أفضل شيء للمساعدة في فهم أنماط هو مثال العالم الحقيقي. ليس سيناريو مفتعل لما يمكن أن يحدث. ولكن ما يحدث فعلا وما سيحدث.
هذا الفصل ينطبق على أنماط لحل المشاكل باستخدام عملية الاكتشاف. النظام الذي سنناقشه هو نظام تداول السندات الذي عملت معه لمدة عامين من التصميم الأولي من خلال الإنتاج. وسوف نستكشف السيناريوهات والمشاكل التي واجهتها وكيفية حلها مع أنماط. وهذا ينطوي على عملية اتخاذ القرار لاختيار نمط، وكذلك كيفية الجمع وضبط أنماط لتتناسب مع احتياجات النظام. ويتم هذا كله مع الأخذ بعين الاعتبار القوى التي واجهتها في النظم الحقيقية بما في ذلك متطلبات الأعمال، وقرارات العميل، والمتطلبات المعمارية والتقنية، فضلا عن تكامل النظام القديم. والقصد من هذا النهج هو توفير فهم أوضح للنماذج نفسها من خلال التطبيق العملي.
بناء نظام.
يقوم بنك استثماري كبير في وول ستريت بإنشاء نظام تسعير السندات في محاولة لتبسيط سير عمل مكتب تداول السندات. حاليا، التجار السندات لديها لإرسال أسعار لعدد كبير من السندات إلى عدة أماكن تجارية مختلفة، ولكل منها واجهة المستخدم الخاصة بها. والهدف من هذا النظام هو تقليل الحد الأدنى من تسعير كل من سنداتهم جنبا إلى جنب مع وظائف تحليلية متقدمة محددة لسوق السندات في واجهة مستخدم مغلفة واحدة. وهذا يعني التكامل والتواصل مع عدة مكونات على مختلف بروتوكولات الاتصال. يبدو تدفق المستوى العالي للنظام كما يلي:
تدفق عالي المستوى.
أولا، تأتي بيانات السوق في النظام. بيانات السوق هي البيانات المتعلقة بالسعر وغيرها من خصائص السندات التي تمثل ما هو الناس على استعداد لشراء وبيع السندات في السوق الحرة. يتم إرسال بيانات السوق على الفور إلى محرك تحليلات أن يغير البيانات. يشير أناليتيكش إلى الوظائف الرياضية للتطبيقات المالية التي تغير الأسعار وغيرها من سمات السندات. هذه هي الوظائف العامة التي تستخدم المتغيرات الإدخال لتكييف نتائج الدالة إلى رابطة معينة. سيقوم تطبيق العميل الذي سيتم تشغيله على كل سطح مكتب تاجر بتكوين محرك تحليلات على أساس التاجر، والتحكم في تفاصيل التحليلات لكل السندات التاجر هو التسعير. وبمجرد تطبيق التحليلات على بيانات السوق، يتم إرسال البيانات المعدلة إلى أماكن تجارية مختلفة حيث يمكن للمتداولين من الشركات الأخرى شراء أو بيع السندات.
البنية بتصميم، ب، النماذج.
مع هذه النظرة العامة لسير العمل في النظام، يمكننا أن نقترب من بعض المشاكل المعمارية التي نواجهها أثناء عملية التصميم. دعونا نلقي نظرة على ما نعرفه حتى الآن. يحتاج التجار إلى تطبيق سريع الاستجابة على كل من محطات عمل ويندوز نت و سولاريس. لذلك، قررنا تنفيذ تطبيق العميل كعميل جافا سميكة بسبب استقلالية منصة وقدرته على الاستجابة بسرعة لإدخال المستخدم وبيانات السوق. على جانب الخادم، نحن نرث مكونات C ++ القديمة التي سيستعملها نظامنا. تتواصل مكونات بيانات السوق مع البنية التحتية لرسائل تيبكو إنفورماتيون باص (تيب).
نحن نرث المكونات التالية:
بيانات السوق خادم تغذية الأسعار: ينشر بيانات السوق الواردة إلى تيب. أناليتيكش إنجين: يقوم بتحليل بيانات السوق الواردة ويبث بيانات السوق المعدلة إلى تيب. خادم المساهمة: يؤدي جميع الاتصالات مع أماكن التداول. أما أماكن التداول فهي مكونات طرف ثالث غير خاضعة لسيطرة البنك.
النظام الفرعي لبيانات السوق القديمة.
النظام الفرعي المساهمة القديمة.
نحن بحاجة إلى أن نقرر كيف أن الأنظمة الفرعية المنفصلة (عميل جافا سميكة، وبيانات السوق، والمساهمة) ستتواصل. يمكننا أن يكون العميل سميكة التواصل مباشرة مع خوادم القديمة، ولكن هذا يتطلب الكثير من منطق الأعمال على العميل. بدلا من ذلك، سوف نقوم بإنشاء زوج من بوابات جافا للاتصال بالخوادم القديمة Ђ "بوابة التسعير لبيانات السوق بوابة مساهمة لإرسال الأسعار إلى أماكن التداول. وهذا سوف يحقق تغليف لطيفة للمنطق الأعمال المتعلقة بهذه المناطق. وفيما يلي المكونات الحالية في النظام. التوصيلات التي تحمل علامة Ђњ. تشير إلى أننا ما زلنا غير متأكدين من كيفية توصيل بعض المكونات.
النظام ومكوناته.
سؤال الاتصال الأول هو كيفية دمج عميل جافا سميكة واثنين من مكونات خادم جافا من أجل تبادل البيانات. دعونا ننظر إلى أنماط التكامل الأربعة المقترحة في هذا الكتاب: نقل الملفات، قاعدة البيانات المشتركة، استدعاء الإجراء البعيد، والرسائل. يمكننا استبعاد قاعدة البيانات المشتركة على الفور لأننا أردنا إنشاء طبقة من التجريد بين العميل وقاعدة البيانات و دون 't تريد أن يكون رمز الوصول إلى قاعدة البيانات في العميل. كما يمكن استبعاد نقل الملفات نظرا لأن الحد الأدنى من الكمون مطلوب لضمان إرسال الأسعار الحالية إلى أماكن التداول. هذا يترك لنا مع الاختيار بين الاستدعاء الإجراء البعيد أو الرسائل.
توفر منصة جافا المدمج في دعم كل من الاستدعاء الإجراء البعيد والرسائل. يمكن تحقيق التكامل على غرار ريك باستخدام ريموت ميثود إنفوكاتيون (رمي)، كوربا، أو إنتيربريس جافا بينز (إجب). خدمة المراسلة جافا (جمس) هي واجهة برمجة التطبيقات المشتركة لتكامل أسلوب المراسلة. لذلك كلا من أساليب التكامل سهلة التنفيذ في جافا.
ما الذي سيعمل بشكل أفضل لهذا المشروع، استدعاء الإجراء البعيد أو الرسائل؟ هناك مثيل واحد فقط من بوابة التسعير ومثيل واحد من بوابة المساهمة في النظام، ولكن عادة العديد من العملاء سميكة الاتصال في وقت واحد إلى هذه الخدمات (واحد لكل تاجر السندات التي يحدث أن يتم تسجيل الدخول في وقت معين). وعلاوة على ذلك، فإن البنك يود أن يكون هذا نظام التسعير العامة التي يمكن استخدامها في التطبيقات الأخرى. لذلك إلى جانب عدد غير معروف من عملاء التفكير، قد يكون هناك عدد غير معروف من التطبيقات الأخرى باستخدام بيانات التسعير الخروج من البوابات.
يمكن لعميل سميك (أو تطبيق آخر باستخدام بيانات التسعير) استخدام ريك بسهولة إلى حد ما لإجراء مكالمات إلى البوابات للحصول على بيانات التسعير والاستدعاء للتجهيز. ومع ذلك، سيتم نشر بيانات التسعير باستمرار، وبعض العملاء مهتمون فقط ببعض البيانات، لذلك قد يكون من الصعب الحصول على البيانات ذات الصلة للعملاء المناسبين في الوقت المناسب. يمكن للعملاء استطلاع البوابات، ولكن ذلك سيخلق الكثير من النفقات العامة. وسيكون من الأفضل للبوابات أن تتيح البيانات للزبائن فور توافرها. هذا، ومع ذلك، سوف تتطلب كل بوابة لتتبع العملاء التي هي نشطة حاليا، والتي تريد ما هي بيانات معينة؛ ثم، عندما تصبح قطعة جديدة من البيانات المتاحة (الذي سيحدث عدة مرات في الثانية الواحدة)، فإن بوابة يجب أن تجعل ريك لكل عميل مهتم لتمرير البيانات إلى العميل. من الناحية المثالية، يجب إخطار جميع العملاء في وقت واحد، لذلك يجب أن يتم كل ريك في سلسلة الترابط المتزامنة الخاصة به. هذا يمكن أن تعمل، ولكن هو الحصول على معقدة جدا سريع جدا.
الرسائل يبسط إلى حد كبير هذه المشكلة. باستخدام المراسلة، يمكننا تحديد قنوات منفصلة لأنواع مختلفة من بيانات التسعير. ثم، عندما يحصل على بوابة جديدة قطعة من البيانات، فإنه سيتم إضافة رسالة تحتوي على تلك البيانات إلى قناة نشر الاشتراك لهذا النوع من البيانات. وفي الوقت نفسه، فإن جميع العملاء المهتمين في نوع معين من البيانات الاستماع على القناة لهذا النوع. وبهذه الطريقة، يمكن للبوابات بسهولة إرسال بيانات جديدة لمن يهتم، دون الحاجة إلى معرفة عدد تطبيقات المستمع هناك أو ما هي عليه.
العملاء لا تزال بحاجة إلى أن تكون قادرة على استدعاء السلوك في بوابات كذلك. نظرا لوجود بوابات اثنين فقط، ويمكن للعميل منع على الأرجح أثناء استدعاء الأسلوب بشكل متزامن، يمكن بسهولة هذه الإدخالات من العميل إلى البوابة التي يمكن تنفيذها باستخدام ريك. ومع ذلك، لأننا نستخدم بالفعل الرسائل للاتصالات من عبارة إلى عميل، الرسائل هي على الأرجح مجرد جيدة وسيلة لتنفيذ الاتصالات من العميل إلى بوابة كذلك.
ولذلك، سيتم تحقيق جميع الاتصالات بين البوابات والعملاء من خلال الرسائل. لأن جميع المكونات مكتوبة بلغة جافا، يقدم جمس خيارا سهلا لنظام الرسائل. هذا هو خلق فعال حافلة الرسائل أو بنية من شأنها أن تجعل من الممكن لأنظمة المستقبل لدمج مع النظام الحالي مع تغييرات قليلة أو معدومة على البنية التحتية الرسائل. بهذه الطريقة، وظائف الأعمال من التطبيق يمكن استخدامها بسهولة من قبل تطبيق آخر البنك يتطور.
مكونات جافا التواصل مع جمس.
جمس هو مجرد مواصفات ونحن بحاجة إلى اتخاذ قرار بشأن نظام الرسائل المتوافقة مع جمس. قررنا استخدام عب مكسيريز جمس لأن البنك هو متجر ЂњIBM، Ђќ باستخدام خوادم تطبيقات وبسفهير والعديد من منتجات عب الأخرى. ونتيجة لذلك، سوف نستخدم مكسيريز لأن لدينا بالفعل بنية تحتية للدعم في مكان ورخصة الموقع للمنتج.
والسؤال التالي هو كيفية توصيل نظام الرسائل مقسيريز مع خادم مساهمة C ++ مستقل و تيبكو استنادا إلى بيانات السوق وخوادم محرك تحليلات. نحن بحاجة إلى وسيلة للمستهلكين مكسيريز أن يكون الوصول إلى رسائل تيب. ولكن كيف؟ ربما يمكننا استخدام نمط "مترجم الرسائل" لترجمة رسائل تيب إلى رسائل مكسيريز. على الرغم من أن العميل C ++ ل مكسيريز بمثابة المترجم رسالة، وذلك باستخدام التضحية استقلال خادم جمس. وعلى الرغم من أن شركة تيبكو تمتلك واجهة برمجة تطبيقات جافا، إلا أن المهندس المعماري ومدير العميل رفضوا ذلك. ونتيجة لذلك، يجب التخلي عن نهج "مترجم الرسائل".
الجسر من خادم تيب إلى خادم مكسيريز يتطلب الاتصال بين C ++ وجافا. يمكننا استخدام كوربا، ولكن بعد ذلك ماذا عن الرسائل؟ نظرة فاحصة على نمط مترجم الرسائل يظهر أنه مرتبط بمحول القناة في استخدامه لبروتوكولات الاتصال. قلب محول قناة هو ربط أنظمة غير الرسائل إلى أنظمة المراسلة. زوج من محولات القناة التي تربط اثنين من أنظمة الرسائل هو جسر التراسل.
الغرض من جسر الرسائل هو نقل الرسائل من نظام الرسائل واحد إلى آخر. هذا هو بالضبط ما نقوم به مع تعقيد اضافي من لغة جاوة إلى C ++ الاتصالات. يمكننا تنفيذ جسر التراسل عبر لغة باستخدام مزيج من قناة محول s و كوربا. سنقوم ببناء اثنين من خوادم محول قناة خفيفة الوزن، واحدة في C ++ إدارة الاتصالات مع تيب، وواحد في إدارة الاتصال جافا مع جمس. وسيتصل محول القناة هذا، وهما نقطة نهاية الرسالة نفسها، ببعضهما البعض عبر كوربا. مثل خيارنا ل مكسيريز، وسوف نستخدم كوربا بدلا من جني لأنه هو معيار الشركة. جسر الرسائل تنفذ ترجمة الرسائل محاكاة فعالة بين أنظمة الرسائل التي تبدو غير متوافقة ولغات مختلفة.
رسالة المترجم باستخدام محولات القناة.
يظهر الرسم البياني التالي تصميم النظام الحالي بما في ذلك البوابات والمكونات الأخرى. هذا مثال جيد على نمط التطبيق. نحن الجمع بين اثنين من قناة محول s مع بروتوكول غير الرسائل لتنفيذ نمط "مترجم الرسالة"، باستخدام فعال نمط واحد لتنفيذ نمط آخر. بالإضافة إلى ذلك، غيرنا سياق محول القناة s 'لربط اثنين من أنظمة الرسائل مع بروتوكول الترجمة عبر لغة غير الرسائل بدلا من ربط نظام الرسائل إلى نظام غير الرسائل.
النظام الحالي مع محولات القناة.
هيكلة القنوات.
مفتاح للعمل مع أنماط ليس فقط معرفة متى لاستخدام أي نمط، ولكن أيضا كيفية الاستخدام الأكثر فعالية. ويجب أن يأخذ كل نمط من أنماط التنفيذ بعين الاعتبار تفاصيل المنصة التكنولوجية فضلا عن معايير التصميم الأخرى. يطبق هذا القسم نفس عملية الاكتشاف للعثور على الاستخدام الأكثر كفاءة لقناة النشر-الاشتراك في سياق خادم بيانات السوق التواصل مع محرك تحليلات.
بيانات السوق في الوقت الحقيقي تنشأ مع تغذية بيانات السوق، خادم C ++ الذي يبث بيانات السوق على تيب. يستخدم تغذية بيانات السوق منفصلة نشر قناة الاشتراك لكل السندات هو نشر أسعار ل. قد يبدو هذا الأمر متطرفا قليلا لأن كل سند جديد يحتاج إلى قناة جديدة خاصة به. ولكن هذا ليس شديدا جدا لأنك لا تحتاج فعلا إلى إنشاء قنوات في تيبكو. بدلا من ذلك، يتم الإشارة إلى القنوات بواسطة مجموعة هرمية من أسماء الموضوعات تسمى الموضوعات. ثم يقوم خادم تيبكو بتصفية تدفق رسالة واحدة حسب الموضوع، وإرسال كل موضوع فريد إلى قناة افتراضية واحدة. والنتيجة هي قناة رسالة خفيفة الوزن جدا.
يمكننا إنشاء نظام ينشر على عدد قليل من القنوات ويمكن للمشتركين الاستماع فقط للأسعار التي يهتمون بها. وهذا يتطلب من المشتركين استخدام فلتر الرسائل أو المستهلك الانتقائي لتصفية تدفق البيانات بأكمله لأسعار السندات مثيرة للاهتمام، وتحديد ما إذا كان كل رسالة يجب أن تتم معالجتها كما يتم استلامها. وبالنظر إلى أن بيانات السوق تنشر على قنوات مخصصة للسندات، يمكن للمشتركين التسجيل للحصول على التحديثات على سلسلة من السندات. وهذا يتيح للمشتركين فعليا "التصفية" عن طريق الاشتراك بشكل انتقائي في القنوات وتلقي التحديثات فقط من الاهتمام بدلا من اتخاذ قرار بعد استلام الرسالة. من المهم أن نلاحظ أن استخدام قنوات متعددة لتجنب تصفية هو استخدام غير قياسي من قنوات الرسائل. في سياق تكنولوجيا تيبكو ومع ذلك، نحن حقا اتخاذ قرار بشأن تنفيذ أو مرشحات الخاصة أو الاستفادة من تصفية القناة في صلب تيبكو - بدلا من ما إذا كان لاستخدام الكثير من القنوات.
العنصر التالي نحن بحاجة إلى تصميم هو محرك تحليلات، C ++ / تيب خادم آخر من شأنها تعديل بيانات السوق وإعادة بثها إلى تيب. على الرغم من أنه خارج نطاق تطوير جافا / جمس لدينا، ونحن نعمل عن كثب مع فريق C ++ لتصميمه لأننا "العميل" الأساسي تحليلات المحرك. والمشكلة المطروحة هي إيجاد بنية القناة التي تعيد بث بيانات السوق المعدلة حديثا بكفاءة أكبر.
وبما أن لدينا بالفعل قناة رسالة مخصصة لكل سند موروثة من تغذية سعر بيانات السوق، سيكون من المنطقي تعديل بيانات السوق وإعادة بث بيانات السوق المعدلة على قناة رسالة مخصصة للسندات. ولكن هذا لن يعمل منذ تحليلات تعديل أسعار السندات هي التاجر محددة. إذا كنا إعادة بث البيانات المعدلة على قناة رسالة السندات، ونحن سوف تدمر سلامة البيانات عن طريق استبدال بيانات السوق العامة مع بيانات محددة التاجر. من ناحية أخرى، يمكن أن يكون لدينا نوع رسالة مختلفة لبيانات السوق الخاصة بالتاجر التي ننشرها على نفس القناة مما يسمح للمشتركين بتحديد الرسالة التي يهتمون بها لتجنب إتلاف سلامة البيانات. ولكن بعد ذلك سيكون على العملاء تنفيذ مرشحات الخاصة بهم لفصل الرسائل لغيرهم من التجار. وبالإضافة إلى ذلك، ستحدث زيادة كبيرة في الرسائل التي يتلقاها المشتركون، مما يضع عبئا لا لزوم له عليهم.
هناك خياران:
قناة واحدة لكل تاجر: لكل تاجر قناة مخصصة لبيانات السوق المعدلة. وبهذه الطريقة، لا تزال بيانات السوق الأصلي سليمة وكل تطبيق التاجر يمكن الاستماع إلى تجارها قناة رسالة محددة لتحديثات الأسعار المعدلة. قناة واحدة لكل تاجر لكل سند: إنشاء قناة رسالة واحدة لكل تاجر لكل سند فقط لبيانات السوق المعدلة لتلك السندات. على سبيل المثال، سيتم نشر بيانات السوق للسندات أبك على قناة "بوند أبك" بينما سيتم نشر بيانات السوق المعدلة للتاجر A على قناة الرسالة "التاجر أ، بوند أبك"، بيانات السوق المعدلة للتاجر B على "التاجر B ، بوند أبك "، وهلم جرا.
قناة واحدة لكل تاجر.
قناة واحدة لكل سند لكل تاجر.
هناك مزايا وعيوب لكل نهج. نهج كل السندات، على سبيل المثال، يستخدم الكثير من قناة الرسالة. في أسوأ السيناريوهات، فإن عدد قناة الرسائل سيكون عدد السندات الإجمالية مضروبا في عدد التجار. يمكننا وضع الحدود العليا على عدد من القنوات التي سيتم إنشاؤها لأننا نعرف أن هناك فقط حوالي 20 التجار وأنها أبدا السعر أكثر من بضع مئات من السندات. هذا يضع الحد الأعلى تحت نطاق 10،000، وهو ليس غريبا جدا بالمقارنة مع ما يقرب من 100،000 قناة رسالة يستخدم سعر تغذية بيانات السوق. أيضا، لأننا نستخدم تيب وقناة رسالة غير مكلفة للغاية، وعدد من قناة رسالة ق ليست قضية حادة. من ناحية أخرى، يمكن أن يكون العدد الهائل من قناة الرسائل s مشكلة من وجهة نظر الإدارة. في كل مرة يتم إضافة السندات يجب الحفاظ على قناة لكل تاجر. وقد يكون ذلك شديدا في نظام ديناميكي جدا. نظامنا، ومع ذلك، هو ثابت أساسا. كما أن لديها بنية تحتية لإدارة قناة الرسائل s تلقائيا. هذا جنبا إلى جنب مع العمارة الموروثة للمكون القديم باستخدام نهج مماثل يقلل من الجانب السلبي. هذا لا يعني أننا يجب أن تجعل عددا مفرطا بلا داع من قناة الرسائل ق. بدلا من ذلك، يمكننا تنفيذ نهج معماري يستخدم عددا كبيرا من قناة رسالة s عندما يكون هناك سبب.
وهناك سبب في هذه الحالة أن يأتي إلى موقع المنطق. إذا طبقنا نهج التاجر، يحتاج محرك أناليتيكش إلى منطق لتجميع قنوات الإدخال والإخراج. ويرجع السبب في ذلك إلى أن قنوات الإدخال من محرك أناليتيكش هي لكل سند وأن قناة رسالة الإخراج ستكون لكل تاجر، مما يتطلب من محرك أناليتيكش توجيه جميع مدخلات أناليتيكش من السندات المتعددة لمتاجر معين إلى مخرجات محددة للمتداول قناة الرسالة. يؤدي هذا إلى تحويل محرك التحليلات بشكل فعال إلى جهاز توجيه يستند إلى المحتوى لتنفيذ منطق التوجيه المخصص لتطبيقنا.
بعد بنية حافلة الرسائل، يعد محرك أناليتيكش خادما عاما يمكن استخدامه من قبل العديد من الأنظمة الأخرى في. لذلك نحن لا نريد أن سحابة مع وظيفة نظام معين. من ناحية أخرى، فإن النهج لكل السندات يعمل منذ فكرة التاجر امتلاك الناتج تحليلات أسعار السندات هي ممارسة مقبولة من قبل الشركة. يحتفظ النهج لكل السندات الفصل قناة رسالة من تغذية بيانات السوق سليمة، في حين إضافة عدة أكثر قناة رسالة ق. قبل أن نصل إلى العميل، نريد أن يقوم الموجه القائم على المحتوى بدمج هذه القنوات المتعددة في عدد من القنوات القابلة للإدارة. نحن لا نريد تطبيق العميل يعمل على سطح المكتب ترادر ​​Ђ ™ للاستماع إلى الآلاف أو عشرات الآلاف من قناة رسالة ق. الآن يصبح السؤال أين وضع جهاز التوجيه القائم على المحتوى. يمكن أن يكون لدينا ببساطة C ++ / تيب قناة محول إلى الأمام جميع الرسائل إلى بوابة التسعير على قناة رسالة واحدة. وهذا أمر سيء لسببين؛ فإننا سوف نقسم منطق الأعمال بين C ++ وجافا، ونحن سوف تفقد فائدة قناة رسالة منفصلة s على الجانب تيب مما يسمح لنا لتجنب تصفية في وقت لاحق من تدفق البيانات. بالنظر إلى مكونات جافا لدينا، يمكننا إما وضعه في بوابة التسعير أو إنشاء مكون وسيط بين بوابة التسعير والعميل.
من الناحية النظرية، إذا واصلنا الفصل القائم على السندات لقناة الرسالة ق وصولا إلى العميل، فإن بوابة التسعير إعادة بث معلومات التسعير مع بنية القناة نفسها مثل بوابة التسعير ومحرك أناليتيكش. وهذا يعني ازدواجية في جميع السندات مخصصة قنوات تيب في جمس. حتى إذا أنشأنا مكون وسيط بين بوابة التسعير والعميل، فسيظل على بوابة التسعير تكرار كل القنوات في جمس. من ناحية أخرى، تنفيذ المنطق مباشرة في بوابة التسعير يسمح لنا لتجنب تكرار عدد كبير من القنوات في JMS†"مما يسمح لنا لخلق عدد أقل بكثير من القنوات في ترتيب واحد لكل تاجر. تسجل بوابة التسعير نفسها من خلال محول قناة C ++ / تيب كمستهلك لكل سند من كل تاجر في النظام. ثم تقوم بوابة التسعير بإعادة توجيه كل عميل محدد فقط بالرسائل المتعلقة بهذا التاجر المعين. وبهذه الطريقة، نستخدم فقط عددا صغيرا من قناة الرسائل s في نهاية جمس، مع تحقيق أقصى فائدة للفصل في نهاية تيب.
تدفق بيانات السوق الكامل إلى العميل.
تعد مناقشة تخطيط قناة الرسائل مثالا جيدا على كيفية دمج الأنماط المهمة. وكان الهدف هنا هو معرفة كيفية استخدام قناة الرسائل بشكل فعال. قول استخدام نمط لا يكفي. تحتاج إلى معرفة كيفية تنفيذ أفضل ودمج في النظام الخاص بك لحل المشاكل في متناول اليد. بالإضافة إلى ذلك، يوضح هذا المثال القوى التجارية في العمل. إذا تمكنا من تنفيذ منطق الأعمال في أي من مكوناتنا، كنا يمكن أن تذهب مع نهج التاجر وتنفيذ نهج أكثر بساطة عموما مع العديد من القنوات أقل.
هل تريد تحديد قناة رسالة؟
الآن بعد أن نعرف آليات الاتصال بين مكونات جافا / جمس والمكونات C ++ / تيبكو، ورأينا بعض بنية قناة الرسالة، ونحن بحاجة إلى أن تقرر أي نوع من قناة رسالة جمس s يجب أن تستخدم مكونات جافا للاتصال. قبل أن نستطيع الاختيار بين قنوات الرسائل المختلفة المتوفرة في جمس، نلقي نظرة على تدفق الرسائل عالية المستوى للنظام. لدينا اثنين من بوابات (التسعير والمساهمة) التواصل مع العميل. تدفقات بيانات السوق إلى العميل من بوابة التسعير التي ترسلها إلى بوابة المساهمة. تطبيق العميل يرسل رسالة إلى بوابة التسعير لتغيير التحليلات التي يتم تطبيقها على كل السندات. كما تقوم بوابة المساهمة بإرسال رسائل إلى تطبيق العميل ترحيل حالة تحديثات الأسعار إلى أماكن التداول المختلفة.
تدفق رسالة النظام.
تصف مواصفات جمس نوعين من قنوات الرسائل وقناة من نقطة إلى نقطة (قائمة انتظار جمس) وقناة النشر-الاشتراك (موضوع جمس). 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.
الأسواق الإلكترونية.
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.
مستوطنة.
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.
خلفية الاختراع.
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.”
وصف مختصر للرسومات.
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:
تين. 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;
تين. 1A is a schematic block flow diagram of a bond trade transaction performed by the bond trading system illustrated in FIG. 1 ;
تين. 2 is a schematic representation of a command menu screen for the municipal bond trading system shown and described with reference to FIG. 1 ;
تين. 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 ;
تين. 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 ;
تين. 5 shows a sample bid entry screen analogous to the bond lot data entry screen of FIG. 4 ;
تين. 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;
تين. 7 shows a portion of a sample offerings listing from a database resident at a broker's office;
تين. 8 shows a portion of a sample offerings listing from a database resident at a trader or customer's office; و.
تين. 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. بالإشارة إلى الشكل. 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.
بالإشارة إلى الشكل. 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 .
بالإشارة إلى الشكل. 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). بالإشارة إلى الشكل. 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.
تين. 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.
تين. 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.
بالإشارة إلى الشكل. 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