Practical .NET for Financial Markets by Samir Jayaswal ; Yogesh Shetty

Practical .NET for Financial Markets

by Samir Jayaswal ; Yogesh Shetty

Price: £58.50

Discount: 21%
RRP: 74.99

More Details

Description

This unique book examines up-to-the-minute uses of technology in financial markets and then explains how you can profit from that knowledge. To participate in mainstream .NET development, you must address the changes in financial markets by using the most sophisticated tools available, Microsoft .NET technology.

Software developers and architects, IT pros, and tech-savvy business users alike will find this book comprehensive and relevant. Each chapter presents problems and solutions that cover business aspects and relevant .NET features. Each aspect of .NET is analyzed in its proper context, so you'll understand why it is relevant and applicable in a real-life business case.

CONTENTS:

Yogesh Shetty
Samir Jayaswal
Practical .NET for
Financial Markets
Practical .NET for Financial Markets
Copyright © 2006 by Yogesh Shetty and Samir Jayaswal
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording, or by any information storage or retrieval
system, without the prior written permission of the copyright owner and the publisher.
ISBN-13: 978-1-59059-564-0
ISBN-10: 1-59059-564-5
Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1
Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence
of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark
owner, with no intention of infringement of the trademark.
Lead Editor: Ewan Buckingham
Technical Reviewer: Ravi Anand
Editorial Board: Steve Anglin, Dan Appleman, Ewan Buckingham, Gary Cornell, Jonathan Gennick,
Jason Gilmore, Jonathan Hassell, James Huddleston, Chris Mills, Matthew Moodie, Dominic
Shakeshaft, Jim Sumser, Keir Thomas, Matt Wade
Project Manager and Production Director: Grace Wong
Copy Edit Manager: Nicole LeClerc
Copy Editor: Kim Wimpsett
Assistant Production Director: Kari Brooks-Copony
Production Editor: Lori Bring
Compositor and Production Artist: Kinetic Publishing Services, LLC
Proofreader: April Eddy
Indexer: Valerie Perry
Cover Designer: Kurt Krames
Manufacturing Director: Tom Debolski
Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor,
New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail orders-ny@springer-sbm.com, or
visit http://www.springeronline.com.
For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley,
CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail info@apress.com, or visit http://www.apress.com.
The information in this book is distributed on an as is basis, without warranty. Although every precaution
has been taken in the preparation of this work, neither the author(s) nor Apress shall have any
liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly
or indirectly by the information contained in this work.
The source code for this book is available to readers at http://www.apress.com in the Source Code section.
You will need to answer questions pertaining to this book in order to successfully download the code.
Contents
About the Authors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
■CHAPTER 1 Introducing the Equities Market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What Is a Capital Market? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What Is Equity, and What Are Equity Shares? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Why Do People Trade?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Understanding Entities in the Equities Market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Stock Exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Members of the Exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Clearing Corporations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Depositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Exploring the Life Cycle of a Trade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Order Initiation and Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Risk Management and Order Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Order Matching and Conversion into Trade. . . . . . . . . . . . . . . . . . . . . . . . . . 22
Affirmation and Confirmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Clearing and Settlement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Exploring the Precursor to Straight Through Processing (STP) . . . . . . . . . . . . . . . 28
Understanding .NET in an Equities Market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
What Is a Techno-Domain Architect? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Understanding the Three I's (Intelligence) of Performance
in Capital Markets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Machine Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Domain Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Human Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Introducing the Upcoming Business Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
■CHAPTER 2 The Order-Matching Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Understanding the Business Context of Order Matching . . . . . . . . . . . . . . . . . . . . 41
The Need for Efficient Order Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Actors: Exchanges and Brokers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
vii
Types of Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Order Precedence Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Introducing .NET Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Introducing Specialized Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
ListDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
HybridDictionary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Introducing Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Thread Pools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Asynchronous Delegate Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Manual Thread Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
UI Widgets and Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Server Timer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Examining the Business-Technology Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Class Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Code Snippets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
■CHAPTER 3 The Data Conversion Engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Introducing Data Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Understanding the Business Infoset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Reference Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Variable Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Derived Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Computed Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Static Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Introducing Reference Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Framework for Data Conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Entering the XML World. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Reading and Writing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Introducing Specialized Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
TextReader and TextWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
BinaryReader and BinaryWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
XmlReader and XmlWriter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Looking at the Types of Parsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Tree-Based Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Fast-Forward Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Reading XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Writing XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Introducing XML Serialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Introducing XML Schema Document (XSD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Examining the Business-Technology Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
CSV Conversion Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Class Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
■CONTENTS viii
Conversion Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
XML Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Refined Conversion Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
XML Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
■CHAPTER 4 The Broadcast Engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
What Is Market Data? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Participants in the Market Data Industry. . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Example of Market Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Role of Market Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Market Data Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Why Is the Timeliness of Market Data Important? . . . . . . . . . . . . . . . . . . . 175
Level Playing Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Introducing Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Internet Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Transport Layer (User Datagram Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . 185
Transport Layer (Transmission Control Protocol) . . . . . . . . . . . . . . . . . . . . 191
Asynchronous Market Data Producer and Consumer . . . . . . . . . . . . . . . . 195
Network Byte Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Message Framing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Unsolicited Broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Solicited Broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Protocol Tweaking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Exploring the Business-Technology Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Class Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
■CHAPTER 5 The Application Operation Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Understanding the Trading Operational Requirement . . . . . . . . . . . . . . . . . . . . . 235
Exploring the Multiple Facets of an Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Understanding .NET Remoting Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Exploring the Multiple Facets of a Remoting Object. . . . . . . . . . . . . . . . . . . . . . . 242
Introducing Local Process Communication (LPC) . . . . . . . . . . . . . . . . . . . . . . . . . 244
Configuring Infrastructure Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Shadow Copying Infrastructure Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Finding the AppDomain Treasure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Introducing Remote Process Communication (RPC). . . . . . . . . . . . . . . . . . . . . . . 254
Understanding Proxies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Understanding Distributed Garbage Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Configuring Remoting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
■CONTENTS ix
Lifetime Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Versioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Understanding Aspect-Oriented Programming (AOP) in .NET . . . . . . . . . . . . . . . 275
Examining the Business-Technology Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Class Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
PrimaryController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
AgentInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
LogManagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Primary Controller Remoting Configuration . . . . . . . . . . . . . . . . . . . . . . . . 293
Primary Controller Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
AgentController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
AppManagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Agent Remoting Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Agent Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Order-Matching Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
■CHAPTER 6 STP Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Exploring the Business Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Custodian Service Provider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
STP Service Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Driving Factors Behind STP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
A Perspective of STP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
How Is STP Achieved?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Implementing Security in the STP Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Confidentiality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Integrity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Digital Signatures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Digital Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Exploring the Business-Technology Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Class Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Code Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
■CHAPTER 7 STP Interoperability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
What Is Interoperability? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Why Is Interoperability Required? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Challenges in Achieving Interoperability . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
■CONTENTS x
Introducing Service-Oriented Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Platform Infrastructure for Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . 359
STP and Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
STP Provider Consortium: Using UDDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
WS-Specification (WS-*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Web Services Enhancement (WSE) 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
WS-Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
WS-Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
WS-Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
WS-MetadataExchange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
WS-Referral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Web Service Performance in the Financial Market. . . . . . . . . . . . . . . . . . . 400
Exploring the Business-Technology Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
■CHAPTER 8 Equity Arbitrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Introducing Arbitrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Costs Involved in Arbitrage Transactions. . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Other Forms of Arbitrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Pure and Speculative Arbitrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Risks Associated in Arbitrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Building an Equity Arbitrage Engine: Arbitrage in Equity Shares. . . . . . . . 407
Introducing Code Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Types of Code Generators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Code Generation and Reflection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Code Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Code Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Code Inflator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Model-Driven Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Specialized Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Just-in-Time Code Cutting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Introducing the CodeDOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Introducing Reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Code Generation Using Reflection.Emit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Examining the Business-Technology Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
■CONTENTS xi
■CHAPTER 9 .NET 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Language Improvements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Generics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Inheritance on Generic Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Constraints on Generic Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Anonymous Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Iterators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Partial Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Nullable Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Counting Semaphore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Memory Gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Garbage Collector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
SGen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Data Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Network Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Remoting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Shared Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Implementation of Market Info Cache Server . . . . . . . . . . . . . . . . . . . . . . . 472
Remoting Configuration of Market Info Cache Server . . . . . . . . . . . . . . . . 472
Market Info Cache Server Host. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Market Info Cache Client (Back-Office Applications) . . . . . . . . . . . . . . . . . 473
Remoting and Generics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
■APPENDIX A .NET Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
■APPENDIX B References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
■INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
■CONTENTS xii
Published

01 Apr 2006

Publisher

APRESS ACADEMIC

ISBN

9781590595640

Pages

510

Static Book Details Index Page - Click Here to go to Computer Manuals Website