Simon Beninga

Embed Size (px)

DESCRIPTION

Simon BN

Citation preview

  • FINANCIAL MODELING

    Simon Benninga

    with a section on Visual Basic for Applicationsby Benjamin Czaczkes

    THIRD EDITION

    The MIT PressCambridge, MassachusettsLondon, England

  • 2008 Massachusetts Institute of Technology

    All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher.

    This book was set in Times Roman by SNP Best-set Typesetter Ltd., Hong Kong, and was printed and bound in the United States of America.

    Library of Congress Cataloging-in-Publication Data

    Benninga, Simon. Financial modeling / Simon Benninga.3rd ed. p. cm. Includes bibliographical references and index. ISBN 978-0-262-02628-4 1. FinanceMathematical models. I. Title.HG173.B46 2008332.015118dc22 2007038629

    10 9 8 7 6

  • Contents

    Preface xxiiiPreface to the Second Edition xxixPreface to the First Edition xxxi

    I Corporate Finance Models 1

    1 Basic Financial Calculations 31.1 Overview 31.2 Present Value and Net Present Value 41.3 Internal Rate of Return and Loan Tables 91.4 Multiple Internal Rates of Return 151.5 Flat Payment Schedules 171.6 Future Values and Applications 191.7 A Pension ProblemComplicating the Future-Value

    Problem 211.8 Continuous Compounding 251.9 Discounting Using Dated Cash Flows 30Exercises 31

    2 Calculating the Cost of Capital 392.1 Overview 392.2 The Gordon Dividend Model 402.3 Adjusting the Gordon Model to Account for All Cash

    Flows to Equity 442.4 Supernormal Growth and the Gordon Model 482.5 Using the Capital Asset Pricing Model to Determine the

    Cost of Equity rE 522.6 Using the Security Market Line to Calculate Intels Cost

    of Equity 592.7 Three Approaches to Computing the Expected Return

    on the Market E(rM) 622.8 Calculating the Cost of Debt 662.9 Computing the WACC: Three Cases 702.10 Computing the WACC for Kraft Corporation 702.11 Computing the WACC for Tyson Foods 732.12 Computing the WACC for Cascade Corporation 772.13 When the Models Dont Work 81

  • viii Contents

    2.14 Conclusion 86Exercises 87Appendix 1: Why Is a Good Measurement of Risk? Portfolio

    versus Individual Stock B 92Appendix 2: Getting Data from the Internet 95

    3 Financial Statement Modeling 1033.1 Overview 1033.2 How Financial Models Work: Theory and an Initial

    Example 1033.3 Free Cash Flow: Measuring the Cash Produced by the

    Business 1113.4 Using the Free Cash Flow to Value the Firm and Its

    Equity 1133.5 Some Notes on the Valuation Procedure 1153.6 Sensitivity Analysis 1173.7 Debt as a Plug 1183.8 Incorporating a Target Debt/Equity Ration into a Pro

    Forma 1213.9 Project Finance: Debt Repayment Schedules 1223.10 Calculating the Return on Equity 1253.11 Conclusion 127Exercises 127Appendix 1: Calculating the Free Cash Flows When There Are

    Negative Profi ts 130Appendix 2: Accelerated Depreciation in Pro Forma Models 131

    4 Building a Financial Model: The Case of PPG Corporation 1354.1 Overview 1354.2 PPG Financial Statements, 19912000 1364.3 Analyzing the Financial Statements 1384.4 A Model for PPG 1424.5 Back to Treasury Stock and the Dividend 1464.6 The Whole Model 1474.7 Free Cash Flows and Valuation 1484.8 What Is PPGs Dividend Policy? 151

  • ix Contents

    4.9 Modeling PPGs Dividend Policy 1554.10 Computing PPGs Cost of Equity rE and Its Cost of

    Debt rD 1564.11 What Is PPGs Weighted Average Cost of Capital? 1604.12 Back to the ValuationSensitivity Analyses 161Exercises 163Appendix: Some Accounting Issues 163

    5 Bank Valuation 1775.1 Overview 1775.2 Analyzing Bank Balance Sheets 1775.3 The Banks Free Cash Flow 1855.4 Large Bank Corporation Buys Small Bank: A Valuation

    Example 1885.5 Calculating the Exchange Ratio 1935.6 Alternatives to FCF Valuation of Financial Institutions 1945.7 Valuing a Bank by Using Capital Adequacy Ratios 1945.8 Using P/Es to Value a Bank Acquisition: First Federal

    Savings Bank 196

    6 The Financial Analysis of Leasing 2036.1 Overview 2036.2 A Simple Example 2036.3 Leasing and Firm Financing: The Equivalent-Loan

    Method 2056.4 The Lessors Problem: Calculating the Highest

    Acceptable Lease Rental 2086.5 Asset Residual Value and Other Considerations 2126.6 Summary 214Exercises 214Appendix: The Tax and Accounting Treatment of Leases 215

    7 The Financial Analysis of Leveraged Leases 2197.1 Overview 2197.2 An Example 2207.3 Analyzing the Cash Flows by NPV or IRR 2247.4 What Does the IRR Mean? 226

  • x Contents

    7.5 Accounting for Leveraged Leases: The Multiple Phases Method 230

    7.6 Comparing the MPM Rate of Return with the IRR 2347.7 Summary 234Exercises 235

    II Portfolio Models 237

    8 Portfolio ModelsIntroduction 2398.1 Overview 2398.2 Computing Returns for Walmart and Target 2398.3 Calculating Portfolio Means and Variances 2458.4 Portfolio Means and VariancesThe General Case 2468.5 Effi cient Portfolios 2508.6 Conclusion 252Exercises 252Appendix 1: Adjusting for Dividends 255Appendix 2: Continuously Compounded versus Geometric

    Returns 257

    9 Calculating Effi cient Portfolios When There Are No Short-Sale Restrictions 2619.1 Overview 2619.2 Some Preliminary Defi nitions and Notation 2619.3 Some Theorems on Effi cient Portfolios and CAPM 2639.4 Calculating the Effi cient Frontier: An Example 2689.5 Three Notes on the Optimization Procedure 2729.6 Finding Effi cient Portfolios in One Step 2769.7 Finding the Market Portfolio: The Capital Market Line 2789.8 Testing the SML: Implementing Propositions 35 2809.9 Summary 283Exercises 283Appendix 285

    10 Calculating the Variance-Covariance Matrix 29110.1 Overview 29110.2 Computing the Sample Variance-Covariance Matrix 291

  • xi Contents

    10.3 Should We Divide by M or by M 1? Excel versus Statistics 295

    10.4 Alternate Methods for Computing the Sample Variance-Covariance Matrix 297

    10.5 Computing the Global Minimum Variance Portfolio 29910.6 Computing an Effi cient Portfolio 30110.7 Alternatives to the Sample Variance-Covariance: The

    Single-Index Model 30410.8 Alternatives to the Sample Variance-Covariance:

    Constant Correlation 30610.9 Shrinkage Methods 30810.10 Alternatives to the Variance-Covariance Matrix: Impact

    on the Minimum-Variance Portfolio and the Optimal Portfolio 310

    10.11 Summary 315Exercises 315

    11 Estimating Betas and the Security Market Line 31711.1 Overview 31711.2 Testing the Security Market Line 32011.3 Did We Learn Something? 32411.4 The Ineffi ciency of the Market Portfolio 32611.5 So Whats the Real Market Portfolio? How Can We Test

    the CAPM? 32911.6 Using Excess Returns 33011.7 Does the CAPM Have Any Uses? 332Exercises 333

    12 Effi cient Portfolios without Short Sales 33512.1 Overview 33512.2 A Numerical Example 33612.3 The Effi cient Frontier with Short-Sale Restrictions 34112.4 A VBA Program to Create the Effi cient Frontier 34312.5 Other Position Restrictions 34512.6 Conclusion 347Exercises 347

  • xii Contents

    13 The Black-Litterman Approach to Portfolio Optimization 34913.1 Overview 34913.2 A Naive Problem 35113.3 Black and Littermans Solution to the Optimization

    Problem 35713.4 Black-Litterman Step 1: What Does the Market Think? 35713.5 Black-Litterman Step 2: Introducing OpinionsWhat

    Does Joanna Think? 36013.6 Implementing Black-Litterman on an International

    Portfolio 36513.7 Summary 368Exercises 369

    14 Event Studies 37114.1 Overview 37114.2 Outline of an Event Study 37114.3 An Initial Event Study: Procter & Gamble Buys

    Gillette 37514.4 A Fuller Event Study: Impact of Earnings

    Announcements on Stock Prices 38214.5 Using a Two-Factor Model of Returns for an Event

    Study 39014.6 Using Excels Offset Function to Locate a Regression in

    a Data Set 39414.7 Conclusion 396

    15 Value at Risk 39715.1 Overview 39715.2 A Really Simple Example 39715.3 Defi ning Quantiles in Excel 39915.4 A Three-Asset Problem: The Importance of the

    Variance-Covariance Matrix 40215.5 Simulating DataBootstrapping 404Appendix: How to Bootstrap: Making a Bingo Card in

    Excel 409

  • xiii Contents

    III Option-Pricing Models 419

    16 An Introduction to Options 42116.1 Overview 42116.2 Basic Option Defi nitions and Terminology 42116.3 Some Examples 42416.4 Option Payoff and Profi t Patterns 42616.5 Option Strategies: Payoffs from Portfolios of Options

    and Stocks 43016.6 Option Arbitrage Propositions 43216.7 Summary 439Exercises 439

    17 The Binomial Option-Pricing Model 44317.1 Overview 44317.2 Two-Date Binomial Pricing 44317.3 State Prices 44517.4 The Multiperiod Binomial Model 44917.5 Pricing American Options Using the Binomial Pricing

    Model 45517.6 Programming the Binomial Option-Pricing Model in

    VBA 45817.7 Convergence of Binomial Pricing in the Black-Scholes

    Price 46317.8 Using the Binomial Model to Price Employee Stock

    Options 46617.9 Using the Binomial Model to Price Nonstandard

    Options: An Example 47617.10 Summary 478Exercises 478

    18 The Lognormal Distribution 48318.1 Overview 48318.2 What Do Stock Prices Look Like? 48418.3 Lognormal Price Distributions and Geometric

    Diffusions 49218.4 What Does the Lognormal Distribution Look Like? 49518.5 Simulating Lognormal Price Paths 498

  • xiv Contents

    18.6 Technical Analysis 50218.7 Calculating the Parameters of the Lognormal

    Distribution from Stock Prices 50318.8 Summary 505Exercises 505

    19 The Black-Scholes Model 50919.1 Overview 50919.2 The Black-Scholes Model 50919.3 Using VBA to Defi ne a Black-Scholes Pricing Function 51119.4 Calculating the Implied Volatility 51319.5 A VBA Function to Find the Implied Variance 51719.6 Dividend Adjustments to the Black-Scholes 52019.7 Using the Black-Scholes Formula to Price Structured

    Securities 52519.8 Bang for the Buck with Options 53919.9 The Black (1976) Model for Bond Option Valuation 54119.10 Summary 544Exercises 544

    20 Option Greeks 54920.1 Overview 54920.2 Defi ning and Computing the Greeks 55020.3 Delta Hedging a Call 55520.4 Hedging a Collar 56420.5 Summary 574Exercises 575

    21 Portfolio Insurance 57721.1 Overview 57721.2 Portfolio Insurance on More Complicated Assets 57821.3 An Example 58021.4 Some Properties of Portfolio Insurance 58421.5 What Do Portfolio Insurance Strategies Look Like?

    A Simulation 58521.6 Insuring Total Portfolio Returns 58821.7 Implicit Puts and Asset Values 592

  • xv Contents

    21.8 Summary 593Exercises 594

    22 An Introduction of Monte Carlo Methods 59722.1 Overview 59722.2 Computing Using Monte Carlo 59722.3 Writing a VBA Program 60222.4 Another Monte Carlo Problem: Investment and

    Retirement 60422.5 A Monte Carlo Simulation of the Investment Problem 60722.6 Summary 610Exercises 610

    23 Using Monte Carlo Methods for Option Pricing 61323.1 Overview 61323.2 State Prices, Probabilities, and Risk Neutrality 61323.3 Pricing a Plain-Vanilla Call Using Monte Carlo

    Methods 61523.4 Monte Carlo Plain-Vanilla Call Pricing Converges to

    Black-Scholes 61823.5 Pricing Asian Options 62523.6 Pricing Asian Options with a VBA Program 63323.7 Pricing Barrier Options with Monte Carlo 63823.8 Using VBA and Monte Carlo to Price a Barrier

    Option 64223.9 Summary 646Exercises 646

    24 Real Options 64924.1 Overview 64924.2 A Simple Example of the Option to Expand 65024.3 The Abandonment Option 65324.4 Valuing the Abandonment Option as a Series of Puts 65924.5 Valuing a Biotechnology Project 66224.6 Conclusion 667Exercises 667

  • xvi Contents

    IV Bonds 669

    25 Duration 67125.1 Overview 67125.2 Two Examples 67125.3 What Does Duration Mean? 67425.4 Duration Patterns 67825.5 The Duration of a Bond with Uneven Payments 67925.6 Nonfl at Term Structures and Duration 68725.7 Summary 689Exercises 689

    26 Immunization Strategies 69326.1 Overview 69326.2 A Basic Simple Immunization Model 69326.3 A Numerical Example 69526.4 Convexity: A Continuation of Our Immunization

    Experiment 69826.5 Building a Better Mousetrap 70026.6 Summary 704Exercises 704

    27 Modeling the Term Structure 70527.1 Overview 70527.2 An Initial Example 70527.3 Description of the Data 71027.4 The Treasury Yield Curve 71327.5 Computing Par Yields from a Zero-Coupon Yield Curve 71527.6 Summary 716Exercises 717

    28 Calculating Default-Adjusted Expected Bond Returns 71928.1 Overview 71928.2 Calculating the Expected Bond Return in a One-Period

    Framework 72128.3 Calculating the Expected Bond Return in a Multiperiod

    Framework 72228.4 A Numerical Example 726

  • xvii Contents

    28.5 Experimenting with the Example 72828.6 Computing the Bond Expected Return for an Actual

    Bond 73028.7 Semiannual Transition Matrices 73428.8 Computing Bond Beta 73728.9 Summary 739Exercises 740

    V Technical Considerations 743

    29 Generating Random Numbers 74529.1 Overview 74529.2 Rand( ) and Rnd: The Excel and VBA Random-Number

    Generators 74629.3 Testing Random-Number Generators 74929.4 Generating Normally Distributed Random Numbers 75429.5 Summary 762Exercises 762

    30 Data Tables 76530.1 Overview 76530.2 An Example 76530.3 Setting Up a Data Table 76630.4 Building a Two-Dimensional Data Table 76830.5 An Aesthetic Note: Hiding the Formula Cells 76930.6 Excel Data Tables Are Arrays 770Exercises 771

    31 Matrices 77531.1 Overview 77531.2 Matrix Operations 77631.3 Matrix Inverses 77931.4 Solving Systems of Simultaneous Linear Equations 781Exercises 782

    32 The Gauss-Seidel Method 78532.1 Overview 78532.2 A Simple Example 78532.3 A More Concise Solution 786

  • xviii Contents

    32.4 Conclusion 787Exercises 787

    33 Excel Functions 78933.1 Overview 78933.2 Financial Functions 78933.3 Dates and Date Functions 79633.4 The Functions XIRR and XNPV 80233.5 Statistical Functions 80533.6 Doing Regressions with Excel 80833.7 Conditional Functions 81533.8 Large and Rank, Percentile, and Percentrank 81633.9 Count, CountA, CountIF 81733.10 Boolean Functions 81933.11 Offset 821

    34 Using Array Functions and Formulas 82534.1 Overview 82534.2 Some Built-in Array Functions 82534.3 Homemade Array Functions 83034.4 Array Formulas with Matrices 833Exercises 838

    35 Some Excel Hints 84135.1 Overview 84135.2 Fast Copy: Filling in Data Next to a Filled-in Column 84135.3 Multiline Cells 84335.4 Writing on Multiple Spreadsheets 84535.5 Text Functions in Excel 84735.6 Chart Titles That Update 84735.7 Getformula: A Useful Way of Annotating Spreadsheets 85035.8 Putting Greek Symbols in Cells 85335.9 Superscripts and Subscripts 85435.10 Named Cells 85635.11 Hiding Cells 85735.12 Formula Auditing 85935.13 Formulating Millions as Thousands 861

  • xix Contents

    VI Introduction to Visual Basic for Applications 865

    36 User-Defi ned Functions with VBA 86736.1 Overview 86736.2 Using the VBA Editor to Build a User-Defi ned Function 86736.3 Providing Help for the User-Defi ned Functions in the

    Function Wizard 87236.4 Fixing Mistakes in VBA 87536.5 Conditional Execution: Using If Statements in VBA

    Functions 87736.6 The Select Case Statement 88236.7 Using Excel Functions in VBA 88436.8 Using User-Defi ned Functions in User-Defi ned

    Functions 885Exercises 888Appendix: Cell Errors in Excel and VBA 892

    37 Types and Loops 89537.1 Overview 89537.2 Using Types 89537.3 Variables and Variable Types 89737.4 Boolean and Comparison Operators 90137.5 Loops 90437.6 Summary 913Exercises 913

    38 Macros and User Interaction 91938.1 Overview 91938.2 Macro Subroutines 91938.3 User Output and the MsgBox Function 92638.4 User Input and the InputBox Function 93038.5 Modules 93238.6 Summary 935Exercises 935

    39 Arrays 94139.1 Overview 94139.2 Simple Arrays 941

  • xx Contents

    39.3 Multidimensional Arrays 94639.4 Dynamic Arrays and the ReDim Statement 94839.5 Array Assignment 95939.6 Variants Containing an Array 96039.7 Arrays as Parameters to Functions 96339.8 Summary 971Exercises 971

    40 Objects and Add-Ins 97540.1 Overview 97540.2 An Introduction to Worksheet Objects 97540.3 The Range Object 97940.4 The With Statement 98440.5 Collections 98540.6 Names 99140.7 Using the Object Browser 99540.8 References to External Functions in Excel 99740.9 References to External Functions in VBA 99940.10 Add-Ins and Integration 100840.11 Summary 1014Exercises 1014Appendix 1: The Excel Object Model 1018Appendix 2: Extracts from the Help File for Some Methods 1020

    41 Information from the Web 102941.1 Overview 102941.2 Copy and Paste as a Simple Data-Acquisition

    Technique 102941.3 Dynamic Web Queries 103541.4 Web Queries: The iqy File 104141.5 Parametric Web Pages 104741.6 Web Queries: Parameters 104941.7 Web Queries: CSV Files and Postprocessing 105641.8 A VBA Application: Importing Price Data from Yahoo 105941.9 Summary 1089Exercises 1089

  • xxi Contents

    Appendix 1: Excerpts from the Help File 1090Appendix 2: The R1C1 Reference Style 1093

    References 1095Index 1107

    Benninga_00_FMPages from Benninga_00_FM.pdf

    /ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages false /GrayImageDownsampleType /Average /GrayImageResolution 1200 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages false /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages false /MonoImageDownsampleType /Average /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages false /MonoImageFilter /None /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile (None) /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False

    /Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure false /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles false /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /DocumentCMYK /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /UseDocumentProfile /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice