Principles of Quantitative DevelopmentISBN: 978-0-470-74570-0
Hardcover
252 pages
August 2010
|
Preface.
1 Introduction.
1.1 What is a trading platform?
1.1.1 Model archival.
1.1.2 Incremental deployability.
1.1.3 Live data feeds.
1.1.4 Trade persistence.
1.1.5 Regular processing.
1.2 Quants and quantitative developers.
1.3 Need for speed.
1.4 Implementation options.
1.4.1 Outsource to vendor.
1.4.2 Use vendor API.
1.4.3 Develop in-house.
1.4.4 Replace vended systems.
1.5 Current trends.
1.6 Technical and business aspects of platform design.
1.7 Importance of processes.
1.8 Objectives and organization.
Quiz.
2 Overview of Banking.
2.1 The offices.
2.2 Front office.
2.2.1 Economists.
2.2.2 Structurers.
2.2.3 Sales.
2.2.4 Trading desks.
2.2.5 Desk quants.
2.2.6 Platform or quantitative developers.
2.2.7 Desk risk management.
2.3 Middle office.
2.3.1 Product control.
2.3.2 Treasury control unit.
2.3.3 Market risk management.
2.3.4 Credit risk management.
2.3.5 Operational risk management.
2.3.6 Rates management.
2.3.7 Static data management.
2.3.8 Compliance and reporting.
2.3.9 Market risk management analytics.
2.3.10 Asset and liability management.
2.4 Back office.
2.5 Supporting units.
2.6 Summary.
Quiz.
3 Trade Life Cycle.
3.1 Pre-trade activities.
3.2 Inception.
3.3 Validation.
3.4 Regular processing.
3.5 Life-cycle events.
3.6 Termination and settlement.
3.7 Post-trade Activities.
3.8 Summary.
Quiz.
4 Trade Perspectives.
4.1 Trade-centric view.
4.2 Model-centric view.
4.3 Product-centric view.
4.4 Asset-class view.
4.5 Queues and status flags.
4.6 Aggregate views.
4.7 Bottom-line view.
4.8 Other perspectives.
4.9 Summary.
Quiz.
5 Programming Languages – Basics and Choices.
5.1 Language choice.
5.2 Basics of computing.
5.2.1 Development cycle.
5.2.2 Dependencies and Makefiles.
5.2.3 Lexical structure of a programming language.
5.3 Object-oriented languages.
5.3.1 Basics of object-oriented methodology.
5.3.2 Advantages and disadvantages of the object-oriented approach.
5.4 Functional programming.
5.5 Summary.
Quiz.
6 Trading Platform Design.
6.1 General design considerations.
6.1.1 Maintainability and documentation.
6.1.2 Scalability and extensibility.
6.1.3 Security and access control.
6.2 Architecture components.
6.2.1 Trade representation.
6.2.2 Market representation.
6.2.3 Static data management.
6.2.4 Quant library.
6.2.5 Trade transformations and operations.
6.2.6 Settlement triggers or pathways.
6.2.7 Batch processing and grid computing.
6.2.8 Credit replication.
6.2.9 Security and audit model.
6.2.10 Documentation and support model.
6.3 Example architecture.
6.4 Advanced architecture.
6.5 Summary.
Quiz.
7 Computing Patterns for Trading.
7.1 Facade pattern.
7.2 Visitor pattern.
7.3 Singleton pattern.
7.4 Factory patterns.
7.5 Component object model.
7.6 Summary.
Quiz.
8 Flexible Derivatives Pricing Tool.
8.1 Design scope.
8.2 Design goals and features.
8.2.1 Pricing tool features.
8.2.2 Data types support.
8.3 User interface.
8.3.1 Main control interface.
8.3.2 Create/edit product.
8.3.3 Create/edit model.
8.3.4 Generating a function template.
8.3.5 Complex parameter visualization.
8.3.6 Pricing interface.
8.3.7 Visualization interface.
8.3.8 Finite difference engine.
8.4 Summary.
Quiz.
9 Pricing Tool to Trading Platform.
9.1 Pricing tool: internals.
9.1.1 Common quant classes.
9.1.2 Main interfaces.
9.1.3 Pluggable pricing models.
9.1.4 Reusable components.
9.1.5 Source code documentation.
9.1.6 External packages.
9.2 Future enhancements.
9.2.1 Trade database.
9.2.2 Market data.
9.2.3 Life-cycle management.
9.2.4 Security and access control.
9.2.5 Batch process.
9.3 Summary.
Quiz.
10 Summing Up.
10.1 Epilogue.
10.2 Further reading.
10.2.1 Quantitative finance.
10.2.2 Computing.
10.2.3 Economics.
Appendix.
A.1 CD Contents.
A.2 Historical perspective.
Glossary of Terms.
Index.