E-Book, Englisch, 600 Seiten
Gilli / Maringer / Schumann Numerical Methods and Optimization in Finance
1. Auflage 2011
ISBN: 978-0-12-375663-3
Verlag: Elsevier Science & Techn.
Format: EPUB
Kopierschutz: 6 - ePub Watermark
E-Book, Englisch, 600 Seiten
ISBN: 978-0-12-375663-3
Verlag: Elsevier Science & Techn.
Format: EPUB
Kopierschutz: 6 - ePub Watermark
This book describes computational finance tools. It covers fundamental numerical analysis and computational techniques, such as option pricing, and gives special attention to simulation and optimization. Many chapters are organized as case studies around portfolio insurance and risk estimation problems. In particular, several chapters explain optimization heuristics and how to use them for portfolio selection and in calibration of estimation and option pricing models. Such practical examples allow readers to learn the steps for solving specific problems and apply these steps to others. At the same time, the applications are relevant enough to make the book a useful reference. Matlab and R sample code is provided in the text and can be downloaded from the book's website. - Shows ways to build and implement tools that help test ideas - Focuses on the application of heuristics; standard methods receive limited attention - Presents as separate chapters problems from portfolio optimization, estimation of econometric models, and calibration of option pricing models
Manfred Gilli is Professor emeritus at the Geneva School of Economics and Management at the University of Geneva, Switzerland, where he has taught numerical methods in economics and finance. He is also a Faculty member of the Swiss Finance Institute, a member of the Advisory Board of Computational Statistics and Data Analysis, and a member of the editorial board of Computational Economics. He formerly served as president of the Society for Computational Economics.
Autoren/Hrsg.
Weitere Infos & Material
1;Front Cover;1
2;Numerical Methods and Optimization in Finance;4
3;Copyright;5
4;Table of Contents;6
5;List of Algorithms;14
6;Acknowledgements;16
7;Chapter 1. Introduction;18
7.1;1.1. About this book;18
7.2;1.2. Principles;20
7.3;1.3. On software;22
7.4;1.4. On approximations and accuracy;26
7.5;1.5. Summary: the theme of the book;31
8;Part One Fundamentals;32
8.1;Chapter 2. Numerical analysis in a nutshell;34
8.1.1;2.1. Computer arithmetic;34
8.1.2;2.2. Measuring errors;38
8.1.3;2.3. Approximating derivatives with finite differences;39
8.1.4;2.4. Numerical instability and ill-conditioning;43
8.1.5;2.5. Condition number of a matrix;45
8.1.6;2.6. A primer on algorithmic and computational complexity;48
8.1.7;2.A. Operation count for basic linear algebra operations;50
8.2;Chapter 3. Linear equations and Least Squares problems;52
8.2.1;3.1. Direct methods;53
8.2.2;3.2. Iterative methods;61
8.2.3;3.3. Sparse linear systems;70
8.2.4;3.4. The Least Squares problem;77
8.3;Chapter 4. Finite difference methods;86
8.3.1;4.1. An example of a numerical solution;86
8.3.2;4.2. Classification of differential equations;90
8.3.3;4.3. The Black–Scholes equation;91
8.3.4;4.4. American options;107
8.3.5;4.A. A note on Matlab's function spdiags;118
8.4;Chapter 5. Binomial trees;120
8.4.1;5.1. Motivation;120
8.4.2;5.2. Growing the tree;122
8.4.3;5.3. Early exercise;127
8.4.4;5.4. Dividends;128
8.4.5;5.5. The Greeks;130
9;Part Two Simulation;134
9.1;Chapter 6. Generating random numbers;136
9.1.1;6.1. Monte Carlo methods and sampling;136
9.1.2;6.2. Uniform random number generators;138
9.1.3;6.3. Nonuniform distributions;142
9.1.4;6.4. Specialized methods for selected distributions;146
9.1.5;6.5. Sampling from a discrete set;153
9.1.6;6.6. Sampling errors—and how to reduce them;156
9.1.7;6.7. Drawing from empirical distributions;162
9.1.8;6.8. Controlled experiments and experimental design;169
9.2;Chapter 7. Modeling dependencies;176
9.2.1;7.1. Transformation methods;176
9.2.2;7.2. Markov chains;190
9.2.3;7.3. Copula models;195
9.3;Chapter 8. A gentle introduction to financial simulation;202
9.3.1;8.1. Setting the stage;202
9.3.2;8.2. Single-period simulations;203
9.3.3;8.3. Simple price processes;213
9.3.4;8.4. Processes with memory in the levels of returns;215
9.3.5;8.5. Time-varying volatility;223
9.3.6;8.6. Adaptive expectations and patterns in price processes;235
9.3.7;8.7. Historical simulation;239
9.3.8;8.8. Agent-based models and complexity;245
9.4;Chapter 9. Financial simulation at work: some case studies;250
9.4.1;9.1. Constant proportion portfolio insurance (CPPI);250
9.4.2;9.2. VaR estimation with Extreme Value Theory;254
9.4.3;9.3. Option pricing;259
10;Part Three Optimization;286
10.1;Chapter 10. Optimization problems in finance;288
10.1.1;10.1. What to optimize?;288
10.1.2;10.2. Solving the model;290
10.1.3;10.3. Evaluating solutions;293
10.1.4;10.4. Examples;295
10.1.5;10.5. Summary;301
10.2;Chapter 11. Basic methods;304
10.2.1;11.1. Finding the roots of f(x) = 0;304
10.2.2;11.2. Classical unconstrained optimization;318
10.2.3;11.3. Unconstrained optimization in one dimension;320
10.2.4;11.4. Unconstrained optimization in multiple dimensions;323
10.2.5;11.5. Nonlinear Least Squares;335
10.2.6;11.6. Solving systems of nonlinear equations F(x) = 0;340
10.2.7;11.7. Synoptic view of solution methods;353
10.3;Chapter 12. Heuristic methods in a nutshell;354
10.3.1;12.1. Heuristics;354
10.3.2;12.2. Trajectory methods;358
10.3.3;12.3. Population-based methods;362
10.3.4;12.4. Hybrids;366
10.3.5;12.5. Constraints;369
10.3.6;12.6. The stochastics of heuristic search;371
10.3.7;12.7. General considerations;376
10.3.8;12.8. Summary;380
10.3.9;12.A. Implementing heuristic methods with Matlab;381
10.4;Chapter 13. Portfolio optimization;398
10.4.1;13.1. The investment problem;398
10.4.2;13.2. The classical case: mean–variance optimization;400
10.4.3;13.3. Heuristic optimization of one-period models;420
10.4.4;13.A. More implementation issues in R;457
10.5;Chapter 14. Econometric models;462
10.5.1;14.1. Term structure models;462
10.5.2;14.2. Robust and resistant regression;497
10.5.3;14.A. Maximizing the Sharpe ratio;519
10.6;Chapter 15. Calibrating option pricing models;522
10.6.1;15.1. Implied volatility with Black–Scholes;523
10.6.2;15.2. Pricing with the characteristic function;527
10.6.3;15.3. Calibration;558
10.6.4;15.4. Final remarks;574
10.6.5;15.A. Quadrature rules for infinity;575
11;Bibliography;580
12;Index;594
Chapter One Introduction
Publisher Summary
This chapter presents an introduction to this book. The book is structured into three parts. The first part, “Fundamentals,” begins with an introduction to numerical analysis, so one discusses computer arithmetic, approximation errors, how to solve linear equations, how to approximate derivatives, and other topics. The second part, “Simulation,” starts with chapters on how to generate random numbers and how to model dependence. There is also a short example of how to implement an agent-based model. By means of several case studies, applications will illustrate how these models can be used for generating more realistic price processes and how simulation can help to develop an intuitive understanding of econometric models and solve practical problems. The third part, “Optimization,” deals with optimization problems in finance. Many relevant optimization models cannot be solved with standard methods that are readily available in software packages. Numerical methods in finance; Financial Modeling; Model accuracy; Model risk; Approximation; Optimization This chapter gives an overview of the book and lays out several principles by which financial problems should be approached.We discuss financial models and software; we also provide a brief discussion of the various sources of approximation error in financial modeling. We stress that numerical methods in finance are tools, that is, they are means, not ends. The appropriateness and quality of such tools needs to be judged with respect to the application at hand. In a nutshell, we argue that quantitative models are useful in finance and that effective tools to solve them are needed. But we also emphasize the need to remember the limitations imposed by any given model and, even more so, by the difficulty to estimate and forecast financial quantities. Several examples are given to illustrate these points. 1.1 About this book
The origin of this book lies in the city of Geneva in Switzerland, so it seems only appropriate to start there. In case you do not know Switzerland, here is a map.
Imagine you stand at the wonderful lakefront of Geneva, with a view on Mont Blanc, and you decide to take a run to Lake Zurich. We admit that this is unlikely, given that the distance is 250 km. But it is just an example. Also, imagine you could run the whole distance with a speed of 20 km per hour which is about the speed that a world-class marathon runner could manage (we ignore the fact that Switzerland is quite a mountainous region). It would still take you more than 12 hours to arrive in Zurich. Now, imagine you took a plane with an average speed of 800 km per hour. This is about 40 times faster, and you would arrive in less than half an hour. What is our point? First, few people would run from Geneva to Zurich. But what we wanted to give you is an idea of speedup. It is just forty in this case, not a large number, but it makes a difference. This book is not about traveling but about quantitative methods in a specific field, computational finance. Quantitative analysis has become ever more important in scientific research and the industry over the last decades, and in our view, it has much changed. On the one hand, ever more data is collected and stored today, waiting to be analyzed. At the same time, computing power has increased dramatically. If we measure the speed of a computer by the number of operations it can perform in a second, then computers have improved by a factor of perhaps 1,000,000 since the early 1980s. 1 If traveling had matched this speedup, we could go from Geneva to Zurich in /100 of a second. Better yet, we do not talk about supercomputers here but about the kind of computers we have on our desktops. (And at least in the past, the power of what was called a supercomputer at one point in time was available for private users only a few years later.) Computational finance is not a well-defined discipline. It is the intersection of financial economics, scientific computing, econometrics, software engineering, and many other fields. Its goal is to better understand prices and markets (if you are an academic), and to make money (if you are more practically inclined). This book is about tools for computational finance, with an emphasis on optimization techniques. In fact, we will focus on a particular type of optimization methods: heuristics. The theme of the book is the practical, computational application of financial theory; we do not deal with the theory itself; in some cases, there may not even be much established theory. Hence, we will not develop ideas theoretically but consider quantitative analysis as a primarily computational discipline, in which applications are put into software form and tested empirically. For every topic in this book, we discuss the implementation of methods; algorithms will be given in pseudocode, Matlab or R code will be provided for all important examples.2 The readers we have in mind are students (Master or PhD level) in programs on quantitative and computational finance, and researchers in finance but also practitioners in banks and other financial companies. The book could be the main reference for courses in computational finance programs or an additional reference for quantitative or mathematical finance courses. Many of the chapters have the flavor of case studies. From a pedagogical view, this allows students to learn the required steps for tackling specific problems; these steps can then be applied to other problems. From the practical side the selected problems will, we hope, be relevant enough to make the book a reference on how to implement a given technique. In fact, the ideal, prototypic kind of reader that we have in mind—let us call him “the analyst” —does not only work on theory, but his job requires a close interaction between theoretical ideas and computation with data. The book is structured into three parts. The first part, “Fundamentals,” begins with an introduction to numerical analysis, so we discuss computer arithmetic, approximation errors, how to solve linear equations, how to approximate derivatives, and other topics. These discussions will serve as a reference to which later chapters often come back. For instance, the Greeks for option pricing models can often be computed by finite differences. Numerical methods are rarely discussed in standard finance books (Brandimarte, 2006, is an exception), even though they are the basis for empirically applying and testing models. Beyond the initial chapters, our book will not discuss numerical methods in an abstract way. For a general treatment see, for instance, Heath (2005) or the concise and very recommended summary given by Trefethen (2008b); we will only discuss numerical aspects that are relevant to our applications. Further chapters will explain deterministic numerical methods to price instruments, namely trees and finite difference methods, and their application to standard products. The second part, “Simulation,” starts with chapters on how to generate random numbers and how to model dependence. Chapter 8 discusses how time series processes, simple assets, and portfolios can be simulated. There is also a short example on how to implement an agent-based model. By means of several case studies, applications will illustrate how these models can be used for generating more realistic price processes and how simulation can help to develop an intuitive understanding of econometric models and solve practical problems. The third part, “Optimization” deals with optimization problems in finance. Many relevant optimization models cannot be solved with standard methods that are readily available in software packages. Hence, standard methods will only be briefly touched. We will rather show how to apply another class of techniques, so-called heuristics. Chapter 11 will detail building blocks of numerical optimization algorithms. Though this includes gradient-based techniques like Newton's method, emphasis will be put on more robust techniques like direct search. Chapter 12, “Heuristic Methods in a Nutshell,” will then move from these building blocks to specific techniques, and give an overview of heuristic methods. The remaining chapters will deal with specific problems from portfolio optimization, the estimation of econometric models, and the calibration of option pricing models. 1.2 Principles
We start with some principles, or guidelines, for the applications in the book. 1. We don't know much in finance. No, we are not being modest here. “We” does not only refer to the authors, but to finance and the people working in finance in general (which includes us). A number of people may object to this statement, so let us clarify: what we mean by “not knowing much” is that there is little empirically founded and tested, objective knowledge in finance that can be confidently exploited in practical applications. True, there is a vast body of theory. But when we look at the empirical track record of much of this theory—let us say there remains room for improvement.
This has an important implication: when it comes to empirical applications, it is difficult in finance to give general statements like “this model is better than that model” or “this method is better than that method.” This is less of a problem in numerical analysis, where we can quite...