## Implementing Models of Financial Derivatives : Object Oriented Applications with VBA

### توضیحات

A practical, step-by-step introduction to the design of pricing engines with VBA

This book teaches students and practitioners the numerics and design of a powerful pricing tool in VBA. It leads the reader through the basics of VBA, from simple procedural code to the advanced design of systems and object-style applications. It also covers Monte Carlo and lattice methods and their implementation in VBA. Full implementation methods and code are provided for all methods discussed, making this an invaluable guide for portfolio managers, risk managers, and fund managers.

Nick Webber (Warwick, UK) is a lecturer in Finance at Warwick Business School. He specializes in interest rate modeling and computational finance.

Preface.

PART I A PROCEDURAL MONTE CARLO METHOD IN VBA.

1 The Monte Carlo Method.

1.1 The Monte Carlo valuation method.

1.2 Issues with Monte Carlo.

1.3 Computational issues.

1.4 Summary.

1.5 Exercises

2 Levels of Programming Sophistication.

2.1 What makes a good application?

2.2 A high-level design.

2.3 Progressing towards the ideal.

2.4 Summary.

2.5 Exercises

3 Procedural Programming: Level 1.

3.1 Designing a Monte Carlo valuation application.

3.2 Deficiencies of the level 1 code.

3.3 Summary.

3.4 Exercises

4 Validation and Error Handling: Level 2.

4.1 Validation and error handling.

4.2 Encapsulating functionality.

4.3 The level 2 main.

4.4 Summary.

4.5 Exercises.

PART II OBJECTS AND POLYMORPHISM.

5 Introducing Objects: Level 3.

5.1 Objects in VBA.

5.2 An example: The StopWatch object.

5.4 Objects in the Monte Carlo application.

5.5 Summary.

5.6 Exercises.

6 Polymorphism and Interfaces: Level 4.

6.1 Polymorphism.

6.2 Interfaces in VBA.

6.3 Implementing a polymorphic stopwatch.

6.4 Polymorphism and the Monte Carlo application.

6.5 Assessment of the polymorphic design.

6.6 Summary.

6.7 Exercises

7 A Slice-Based Monte Carlo.

7.1 The revised Monte Carlo application object.

7.2 The option object.

7.3 The evolver object.

7.4 Summary.

7.5 Exercises

8 An Embryonic Factory: Level 5.

8.1 Events.

8.2 The Level 5 Monte Carlo application.

8.3 The Factory object.

8.4 Output.

8.5 Summary.

8.6 Exercises.

PART III USING FILES WITH VBA.

9 Input and Output to File in VBA.

9.1 File handling in VBA.

9.2 The TextStream and FileSystemObject objects.

9.3 Intrinsic VB language functions.

9.4 Example: Reading and writing to sequential and random files.

9.5 Summary.

9.6 Exercises

10 Valuing a Book of Options.

10.1 Outline of the application.

10.2 Timings.

10.3 Summary.

10.4 Exercises.

PART IV POLYMORPHIC FACTORIES IN VBA.

11 The VBE Object Library and a Simple Polymorphic Factory.

11.1 Using the VBE object library.

11.2 A simple factory illustration.

11.3 Summary.

11.4 Exercises.

12 A Fully Polymorphic Factory: Level 6.

12.1 Conceptual features.

12.2 The polymorphic factory.

12.3 Using the Factory object.

12.4 Summary.

12.5 Exercises

13 A Semi-Polymorphic Factory: Meta-Classes.

13.1 The structure of the application.

13.2 Meta-class objects.

13.3 The semi-polymorphic factory.

13.4 Summary.

13.5 Exercises.

PART V PERFORMANCE ISSUES IN VBA.

14 Performance and Cost in VBA.

14.1 Arithmetic operations.

14.2 Procedure calls.

14.3 Data typing issues.

14.4 Summary.

14.5 Exercises.

15 Level and Performance.

15.1 Variations of the level application.

15.2 Effect of level on times.

15.3 Summary.

15.4 Exercises.

16 Evolution and Data Structures.

16.1 Data structures in VBA.

16.2 Using VBA containers.

16.3 Numerical comparisons.

16.4 Summary.

16.5 Exercises.

PART VI VARIANCE REDUCTION IN THE MONTE CARLO METHOD.

17 Wiener Sample Paths and Antithetic Variates.

17.1 Generating Wiener sample paths.

17.2 Antithetic variates.

17.3 Numerical assessment.

17.4 Summary.

17.5 Exercises.

18 The Wiener Process and Stratified Sampling.

18.1 Stratified sampling.

18.2 Implementing stratified sampling.

18.3 Numerical assessment.

18.4 Summary.

18.5 Exercises.

19 Low-Discrepancy Sampling.

19.1 Low-discrepancy sampling.

19.2 Implementing LD sampling.

19.3 Numerical assessment.

19.4 Summary.

19.5 Exercises.

20 Variance Reduction with Control Variates.

20.1 Control variates.

20.2 Examples of control variates.

20.3 Auxiliary model control variates.

20.4 Summary.

20.5 Exercises.

21 Implementing Control Variates.

21.1 A control variate application.

21.2 Numerical assessment.

21.3 Summary.

21.4 Exercises.

22 Extreme Options and Importance Sampling.

22.1 Importance Sampling.

22.2 Valuing an OTM digital option.

22.3 Choices for the IS density.

22.4 Implementing importance sampling.

22.5 Numerical assessment.

22.6 Summary.

22.7 Exercises.

23 Combining Variance Reduction Methods.

23.1 Combining CV and IS.

23.2 Implementing variance reduction methods in combination.

F A Yukky Level 0 Monolithic Lattice Implementation.

F.1 Lattice methods.

F.2 Implementing a level 0 lattice method.

F.3 Summary.

G A Level 1 Crank-Nicolson PDE Implementation.

G.1 PDE methods for derivative valuation.

G.2 The Crank-Nicolson finite difference method.

G.3 Implementing Crank-Nicolson.

G.4 Assessment of the design.

G.5 Successive over-relaxation (SOR).

G.6 Summary.

H Root-Finding and Minimization Algorithms.

H.1 Root finding algorithms.

H.2 Minimization algorithms.

H.3 Summary.

VBA, Modelling, and Computing Glossary.

Abbreviations.

Coding, Notational, and Typographical Conventions.

Index to Code.

Bibliography.

Index.