Monte Carlo frameworks: building customisable high performance C++ applications
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Chichester, U.K.
Wiley
2009
|
Ausgabe: | Reprint. |
Schriftenreihe: | Wiley finance
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Includes bibliographical references and index |
Beschreibung: | XXV, 750 S. Ill. 26 cm. 1 CD-ROM |
ISBN: | 9780470060698 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV036515336 | ||
003 | DE-604 | ||
005 | 20210623 | ||
007 | t | ||
008 | 100622s2009 xxka||| |||| 00||| eng d | ||
010 | |a 2009021640 | ||
020 | |a 9780470060698 |c cloth |9 978-0-470-06069-8 | ||
035 | |a (OCoLC)699263219 | ||
035 | |a (DE-599)BVBBV036515336 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxk |c GB | ||
049 | |a DE-20 |a DE-19 | ||
050 | 0 | |a HG106 | |
082 | 0 | |a 518/.28202855133 | |
084 | |a SK 970 |0 (DE-625)143276: |2 rvk | ||
100 | 1 | |a Duffy, Daniel J. |d 1952- |e Verfasser |0 (DE-588)1012188272 |4 aut | |
245 | 1 | 0 | |a Monte Carlo frameworks |b building customisable high performance C++ applications |c Daniel J. Duffy ; Jörg Kienitz |
250 | |a Reprint. | ||
264 | 1 | |a Chichester, U.K. |b Wiley |c 2009 | |
300 | |a XXV, 750 S. |b Ill. |c 26 cm. |e 1 CD-ROM | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Wiley finance | |
500 | |a Includes bibliographical references and index | ||
650 | 4 | |a Mathematisches Modell | |
650 | 4 | |a Finance |x Mathematical models | |
650 | 4 | |a Monte Carlo method | |
650 | 4 | |a C++ (Computer program language) | |
650 | 0 | 7 | |a Computeralgebra |0 (DE-588)4010449-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Monte-Carlo-Simulation |0 (DE-588)4240945-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Finanzmathematik |0 (DE-588)4017195-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C++ |0 (DE-588)4193909-8 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Finanzmathematik |0 (DE-588)4017195-4 |D s |
689 | 0 | 1 | |a Monte-Carlo-Simulation |0 (DE-588)4240945-7 |D s |
689 | 0 | 2 | |a Computeralgebra |0 (DE-588)4010449-7 |D s |
689 | 0 | 3 | |a C++ |0 (DE-588)4193909-8 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Kienitz, Jörg |d 1970- |e Sonstige |0 (DE-588)1071747401 |4 oth | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020437465&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-020437465 |
Datensatz im Suchindex
_version_ | 1804143084821282816 |
---|---|
adam_text | Titel: Monte Carlo frameworks
Autor: Duffy, Daniel J.
Jahr: 2009
Contents
Notation xix
Executive Overview xxiii
0 My First Monte Carlo Application One-Factor Problems 1
0.1 Introduction and objectives 1
0.2 Description of the problem 1
0.3 Ordinary differential equations (ODE) 2
0.4 Stochastic differential equations (SDE) and their solution 3
0.5 Generating uniform and normal random numbers 4
0.5.1 Uniform random number generation 4
0.5.2 Polar Marsaglia method 4
0.5.3 Box-Muller method 5
0.5.4 C++code for uniform and normal random variate generation 5
0.5.5 Other methods 8
0.6 The Monte Carlo method 8
0.7 Calculating sensitivities 9
0.8 The initial C++Monte Carlo framework: hierarchy and paths 10
0.9 The initial C++Monte Carlo framework: calculating option price 19
0.10 The predictor-corrector method: a scheme for all seasons? 23
0.11 The Monte Carlo approach: caveats and nasty surprises 24
0.12 Summary and conclusions 25
0.13 Exercises and projects 25
PART I FUNDAMENTALS
1 Mathematical Preparations for the Monte Carlo Method 31
1.1 Introduction and objectives 31
1.2 Random variables 31
1.2.1 Fundamental concepts 31
1.2.2 Relative frequency and the beginnings of probability 32
1.2.3 Random variables ^2
Contents
___________——---------------
34
1.3 Discrete and continuous random variables -
1.4 Multiple random variables
1.5 A short history of integration _
1.6 a -algebras, measurable spaces and measurable functions -
1.7 Probability spaces and stochastic processes ^
1.8 The lto stochastic integral
1.9 Applications of the Lebesgue theory
1.9.1 Convergence theorems
1.9.2 Fubini s theorem
1.10 Some useful inequalities
1.11 Some special functions
1.12 Convergence of function sequences
1.13 Applications to stochastic analysis
1.14 Summary and conclusions 50
1.15 Exercises and projects 50
The Mathematics of Stochastic Differential Equations (SDE) 53
2.1 Introduction and objectives 53
2.2 A survey of the literature 53
2.3 Mathematical foundations for SDEs 55
2.3.1 Metric spaces 55
2.3.2 Cauchy sequences, complete metric spaces and convergence 56
2.3.3 Continuous and Lipschitz continuous functions 57
2.4 Motivating random (stochastic) processes 59
2.5 An introduction to one-dimensional random processes 59
2.6 Stochastic differential equations in Banach spaces: prologue 62
2.7 Classes of SIEs and properties of their solutions 62
2.8 Existence and uniqueness results 63
2.9 A special SDE: the lto equation 64
2.10 Numerical approximation of SIEs 66
2.11 Transforming an SDE: the lto formula 68
2.12 Summary and conclusions 69
2.13 Appendix: proof of the Banach fixed-point theorem and some applications 69
2.14 Exercises and projects 71
* Alternative SDEs and Toolkit Functionality 73
3.1 Introduction and objectives 73
3.2 Bessel processes 73
3.3 Random variate generation 74
3.4 The exponential distribution 74
3.5 The beta and gamma distributions 75
3.6 The chi-squared. Student and other distributions 79
3.7 Discrete variate generation 79
3.8 The Fokker-Planck equation 80
3.9 The relationship with PDEs gl
3.9.1 The Fichera function 81
3.10 Alternative stochastic processes 84
Contents
3.10.1 The constant elasticity of variance (CEV) model
3.10.2 Exact, quasi-exact and numerical solutions of CEV equation
3.10.3 Monte Carlo simulation of CEV models
3.10.4 American option pricing and hedging with the CEV model
3.10.5 Test cases and numerical results
3.11 Using associative arrays and matrices to model lookup tables and
volatility surfaces
3.12 Summary and conclusion
3.13 Appendix: statistical distributions and special functions in the
Boost library
3.13.1 The gamma functions
3.13.2 The error function
3.13.3 An overview of statistical distributions in Boost
3.14 Exercises and projects
An Introduction to the Finite Difference Method for SDE
4.1 Introduction and objectives
4.2 An introduction to discrete time simulation, motivation and notation
4.3 Foundations of discrete time approximation: ordinary differential
equations
4.4 Foundations of discrete time approximation: stochastic differential
equations
4.4.1 Absolute error criterion
4.4.2 Confidence intervals for the absolute error
4.4.3 Dependence of the absolute error on the step size
4.4.4 Strong and weak convergence
4.5 Some common schemes for one-factor SDEs
4.6 The Milstein schemes
4.7 Predictor-corrector methods
4.8 Stiff ordinary and stochastic differential equations
4.8.1 Robust schemes for stiff systems
4.8.2 Stiff stochastic differential equations
4.9 Software design and C++ implementation issues
4.10 Computational results
4.11 Aside: the characteristic equation of a difference scheme
4.12 Summary and conclusions
4.13 Exercises and projects
Design and Implementation of Finite Difference Schemes in
Computational Finance
5.1 Introduction and objectives
5.2 Modelling SDEs and FDM in C++
5.3 Mathematical and numerical tools
5.3.1 Analytical solution and numerical solution of SDEs
5.3.2 Brownian Bridge
5.3.3 Finite difference methods for Brownian Bridges
5.4 The Karhunen-Loeve expansion
5.5 Cholesky decomposition j46
5.6 Spread options with stochastic volatility ^
5.7 The Heston stochastic volatility model -
5.8 Path-dependent options and the Monte Carlo method «U
5.9 A small software framework for pricing options ° 1
1 o
5.10 Summary and conclusions
5.11 Exercises and projects
Advanced Finance Models and Numerical Methods 167
6.1 Introduction and objectives
6.2 Processes with jumps
6.2.1 Specific choices for jump processes 169
6.2.2 Simulating jumps, fixed dates 69
6.2.3 Simulating jump times 169
6.2.4 Finite difference approximations 170
6.3 Levy processes 71
6.4 Measuring the order of convergence 172
6.4.1 A general convergence principle 172
6.4.2 Applications to ordinary differential equations 174
6.4.3 Applications to stochastic differential equations 175
6.5 Mollifiers, bump functions and function regularisation 176
6.6 When Monte Carlo does not work: counterexamples 177
6.6.1 How good is the random number generator rand () ? 177
6.6.2 Special stochastic differential equations 179
6.7 Approximating SDEs using strong Taylor, explicit and implicit
schemes 179
6.7.1 Stability analysis of SDEs with multiplicative and
additive noise 180
6.7.2 Strong Taylor approximants 181
6.7.3 Explicit strong schemes 182
6.7.4 Implicit strong schemes 183
6.8 Summary and conclusions 183
6.9 Exercises and projects 84
7 Foundations of the Monte Carlo Method 189
7.1 Introduction and objectives ]g9
7.2 Basic probability ,no
7.3 The Law of Large Numbers iqq
7.4 The Central Limit Theorem ,91
7.4.1 Lindeberg-Feller Central Limit Theorem 192
7.4.2 Explicit calculations of the confidence intervals 193
7.5 Quasi Monte Carlo methods ]94
7.5.1 Uniform distribution and its geometric interpretation 196
6 Summary and conclusions
7.7 Exercises and projects
Contents
PART II DESIGN PATTERNS
8 Architectures and Frameworks for Monte Carlo Methods: Overview 203
8.1 Goals of Part II of this book 203
8.2 Introduction and objectives of this chapter 203
8.3 The advantages of domain architectures 204
8.4 Software Architectures for the Monte Carlo method 207
8.4.1 Market model systems 207
8.4.2 Numerical simulator systems 209
8.4.3 Pricing, hedge and risk systems 211
8.5 Summary and conclusions 212
8.6 Exercises and projects 213
9 System Decomposition and System Patterns 217
9.1 Introduction and objectives 217
9.2 Software development process; a critique 217
9.3 System decomposition, from concept to code 217
9.3.1 Phases 218
9.4 Decomposition techniques, the process 220
9.4.1 A special case: geometric decomposition 221
9.4.2 Examples of task and data decomposition 222
9.5 Whole-part 222
9.6 Whole-part decomposition; the process 223
9.6.1 Task-based decomposition 223
9.6.2 Data decomposition 224
9.7 Presentation-Abstraction Control (PAC) 226
9.8 Building complex objects and configuring applications 229
9.8.1 The Factory Method pattern 229
9.8.2 Abstract Factory pattern 234
9.8.3 Builder pattern 237
9.9 Summary and conclusions 239
9.10 Exercises and projects 239
10 Detailed Design using the GOF Patterns 243
10.1 Introduction and objectives 243
10.2 Discovering which patterns to use 244
10.2.1 Whole-Part structure for a finite difference scheme 245
10.2.2 The Preprocessor agent 246
10.2.3 The Conversion agent 251
10.2.4 The Display agent and Top-Level agent 254
10.3 An overview of the GOF patterns 255
10.3.1 Strengths and limitations of GOF patterns 257
10.4 The essential structural patterns 257
10.4.1 Facade pattern 258
10.4.2 Bridge pattern, template version 258
10.4.3 Bridge pattern, run-time version 262
10.4.4 Adapter pattern 266
10.4.5 Layers pattern 266
10.5 The essential creational patterns
10.5.1 Factory Method pattern ? 70
10.5.2 Builder pattern 270
10.6 The essential behavioural patterns ~7 ^
10.6.1 Visitor pattern ~71
10.6.2 Strategy and Template Method patterns -
10.7 Summary and conclusions ~76
10.8 Exercises and projects
11 Combining Object-Oriented and Generic Programming Models 281
11.1 Introduction and objectives
11.2 Using templates to implement components: overview -
11.3 Templates versus inheritance, run-time versus compile-time
11.4 Advanced C++ templates -
11.4.1 Default values for template parameters *-°
11.4.2 Template nesting 287
11.4.3 Template member functions -^
11.4.4 Partial template specialisation 290
11.4.5 Template template parameters 291
11.5 Traits and policy-based design 294
11.5.1 Traits 294
11.5.2 Policy-based design (PBD) 301
11.5.3 When to use inheritance and when to use generics 304
11.6 Creating templated design patterns 306
11.7 A generic Singleton pattern 307
11.8 Generic composite structures 310
11.8.1 Applications of generic composites 314
11.9 Summary and conclusions 314
11.10 Exercises and projects 314
12 Data Structures and their Application to the Monte Carlo Method 319
12.1 Introduction and objectives 319
12.2 Arrays, vectors and matrices 319
12.3 Compile-time vectors and matrices 324
12.3.1 One-dimensional data structures: vectors 324
12.3.2 Two-dimensional data structures: matrices 327
12.3.3 Application: modelling N-factor SDEs 328
12.4 Creating adapters for STL containers 331
12.5 Date and time classes 334
12.5.1 Basic functionality in date class 335
12.5.2 Creating sets of dates and using set operations 335
12.5.3 Mapping dates to mesh points 338
12.5.4 Calendars, business days and business conventions 339
12.6 The class string -^9
12.6.1 String constructors and string properties 340
12.6.2 Extracting characters and substrings 342
Contents xi
12.7 Modifying strings 343
12.7.1 Searching and finding in strings 343
12.7.2 Conversions between strings and other data types 344
12.8 A final look at the generic composite 345
12.9 Summary and conclusions 348
12.10 Exercises and projects 348
13 The Boost Library: An Introduction 353
13.1 Introduction and objectives 353
13.2 A taxonomy of C++ pointer types 353
13.2.1 The smart pointer types 354
13.2.2 Scoped pointers 354
13.2.3 Shared pointers 357
13.2.4 Using smart pointers in Monte Carlo applications 361
13.3 Modelling homogeneous and heterogeneous data in Boost 361
13.3.1 Tuples 361
13.3.2 Variants and discriminated unions 362
13.3.3 Any and undiscriminated types 363
13.3.4 A property class 365
13.3.5 Boost arrays 366
13.4 Boost signals: notification and data synchronisation 367
13.5 Input and output 368
13.5.1 Boost.Serialisation 368
13.5.2 Boost.Filesystem 370
13.6 Linear algebra and uBLAS 371
13.7 Date and time 372
13.8 Other libraries 372
13.8.1 String and text processing 373
13.8.2 Function objects and higher-order programming 374
13.8.3 Concurrent and multi-threading programming 374
13.8.4 Interval arithmetic 374
13.9 Summary and conclusions 374
13.10 Exercises and projects 374
PART III ADVANCED APPLICATIONS
14 Instruments and Payoffs 379
14.1 Introduction and objectives 379
14.2 Creating a C++instrument hierarchy 379
14.2.1 Instrument hierarchy 380
14.2.2 Underlyings and derivatives 380
14.3 Modelling payoffs in C++ 383
14.3.1 Simple property sets 383
14.3.2 Extending the payoff class 386
14.3.3 Heterogeneous property sets 386
14.3.4 The payoff base class 388
14.3.5 Abstract factories for payoff classes
14.3.6 Exception handling ?92
14.4 Summary and conclusions ^
14.5 Exercises and projects
395
15 Path-Dependent Options 395
15.1 Introduction and objectives
15.2 Monte Carlo - a simple general-purpose version
15.2.1 The structure
15.2.2 Adding models
15.2.3 Adding schemes ~^
15 2 4 The Monte Carlo evaluation
¦ 401
15.3 Asian options
15.3.1 Mapping Asian options into our framework 402
15.3.2 Approximation formulae for Asian options 405
15.3.3 Control variates 406
15.4 Options on the running Max/Min 411
15.5 Barrier options 41-
15.5.1 Mapping barrier options into our framework 413
15.5.2 Approximation formulae for barrier options 414
15.5.3 Importance sampling 415
15.5.4 Antithetic variables 416
15.5.5 Numerical results 417
15.6 Lookback options 418
15.6.1 Approximation formulae for lookback options 420
15.6.2 Results 421
15.7 Cliquet Options 422
15.7.1 Remarks on cliquet options 422
15.7.2 C++ implementation 423
15.7.3 Version of the basic cliquet option 423
15.7.4 Results 424
15.8 Summary and conclusions 424
15.9 Exercises and projects 424
16 Affine Stochastic Volatility Models 427
16.1 Introduction and objectives 427
16.2 The volatility skew/smile 427
16.3 The Heston model 499
16.3.1 Implementing the Heston model 432
16.3.2 Euler scheme 434
16.3.3 Full truncation Euler scheme 434
16.3.4 Andersen s QE scheme 435
16.3.5 A biased-free scheme 44I
16.4 The Bates/SVJ model 44]
16.5 Implementing the Bates model 443
16.6 Numerical results-European options 444
Contents
16.7 Numerical results - skew-dependent options 446
16.7.1 European options - digital options 446
16.7.2 Path-dependent options - cliquet options 448
16.7.3 Results 449
16.8 XLL - using DLL within Microsoft Excel 449
16.8.1 What is an xll? 452
16.8.2 XLW - A framework for creating xll 452
16.8.3 Developing using XLW 452
16.9 Analytic solutions for affine stochastic volatility
models 455
16.10 Summary and conclusions 457
16.11 Exercises and projects 458
17 Multi-Asset Options 461
17.1 Introduction and objectives 461
17.2 Modelling in multiple dimensions 461
17.3 Implementing payoff classes for multi-asset options 465
17.4 Some multi-asset options 466
17.4.1 Spread options 466
17.4.2 Approximation formulae 466
17.4.3 Quanto options 468
17.5 Basket options 469
17.6 Min/Max options 471
17.7 Mountain range options 475
17.8 The Heston model in multiple dimensions 480
17.8.1 Extending the QE scheme 481
17.8.2 Spread options 482
17.9 Equity interest rate hybrids 482
17.10 Summary and conclusions 486
17.11 Exercises and projects 486
18 Advanced Monte Carlo I - Computing Greeks 489
18.1 Introduction and objectives 489
18.2 The finite difference method 489
18.3 The pathwise method 492
18.4 The likelihood ratio method 497
18.4.1 Examples 499
18.5 Likelihood ratio for finite differences - proxy simulation 503
18.6 Summary and conclusions 504
18.7 Exercises and projects 506
19 Advanced Monte Carlo II - Early Exercise 511
19.1 Introduction and objectives 511
19.2 Description of the problem 511
19.3 Pricing American options by regression 512
19.4 C++design 513
19.5 Linear least squares regression 516
xjv Contents
518
19.5.1 The regression function
19.5.2 The exercise decision ^20
19.6 Example - step by step 321
19.7 Analysis of the method and improvements ^
19.7.1 Selecting basis functions ^
19.8 Upper bounds 527
19.9 Examples 528
19.10 Summary and conclusions 52g
19.11 Exercises and projects
531
20 Beyond Brownian Motion ^(
20.1 Introduction and objectives ~
20.2 Normal mean variance mixture models
20.2.1 The normal inverse Gaussian model - -
20.2.2 C++ implementation _
20.2.3 The variance gamma model
20.2.4 Matching underlying assets and martingale dynamics
20.3 The multi-dimensional case
20.4 Summary and conclusions
20.5 Exercises and projects
PART IV SUPPLEMENTS
21 C++Application Optimisation and Performance Improvement 543
21.1 Introduction and objectives 543
21.2 Modelling functions in C++: choices and consequences 543
21.2.1 Function pointers 544
21.2.2 Generic classes that model functions 547
21.2.3 Function objects in STL 549
21.2.4 What is polymorphism? 550
21.3 Performance issues in C++: classifying potential bottlenecks 552
21.3.1 Inlining 553
21.3.2 Static and dynamic casting 554
21.3.3 Preventing unnecessary object construction 554
21.3.4 Exception handling 557
21.3.5 Templates versus inheritance 558
21.3.6 Performance and the STL 559
21.3.7 Some final tips 559
21.4 Temporary objects 560
21.5 Special features in the Boost library 562
21.6 Boost multiarray library 563
21.7 Boost random number library 564
21.8 STL and Boost smart pointers: final remarks 566
21.9 Summary and conclusions 568
21.10 Exercises, projects and guidelines 569
Contents
22 Random Number Generation and Distributions 571
22.1 Introduction and objectives 571
22.2 Uniform number generation 571
22.2.1 Pseudo random number generators 572
22.2.2 Quasi random number generators 576
22.2.3 Sobol numbers 576
22.3 The Sobol class 578
22.4 Number generation due to given distributions 580
22.4.1 Methods for computing variates 581
22.4.2 The inverse method 581
22.4.3 Acceptance/Rejection and ratio of uniforms 581
22.4.4 C++ implementation 582
22.4.5 Generating normal variates 583
22.4.6 Generating gamma distributed variates 583
22.4.7 Generating/2-distributed variates 587
22.4.8 Generating Poisson distributed variates 587
22.5 Jump processes 588
22.5.1 The Poisson process 588
22.5.2 Simple generalisations 590
22.5.3 Compensation and compounding 590
22.5.4 Poisson random measures 591
22.5.5 Jump measures 592
22.6 The random generator templates 593
22.7 Tests for randomness 596
22.8 Summary and conclusions 596
22.9 Exercises and projects 597
23 Some Mathematical Background 601
23.1 Introduction and objectives 601
23.2 A matrix class 601
23.3 Matrix functions 601
23.3.1 The Cholesky decomposition 601
23.3.2 The spectral decomposition 603
23.3.3 Singular value decomposition 607
23.4 Functional analysis 608
23.4.1 The basics 608
23.4.2 Fourier transform 609
23.4.3 Hilbert spaces and L2-basis 609
23.4.4 Measures and Fourier transform 609
23.4.5 The characteristic function of a random variable 610
23.5 Applications to option pricing 610
23.5.1 Semi-analytical prices and their C++
implementation 611
23.6 Summary and conclusions 614
23.7 Exercises and projects 614
Contents
___----------—----------------
24 An Introduction to Multi-threaded and Parallel Programming 617
24.1 Introduction and objectives
24.2 Shared memory models
24.3 Sequential, concurrent and parallel programming 101 °
24.4 How fast is fast? Performance analysis of parallel programs 6-.3
24.5 An introduction to processes and threads - _
24.5.1 The life of a thread ~-
24.5.2 How threads communicate -
24.6 What kinds of applications are suitable for multi-threading? 626
24.6.1 Suitable tasks for multi-threading 626
24.7 The multi-threaded application lifecycle 627
24.7.1 Finding concurrency and decomposition patterns 627
24.7.2 Algorithm structure 627
24.7.3 Supporting structures, models and patterns 628
24.7.4 Implementation mechanisms 628
24.8 Some model architectures 629
24.8.1 The Monte Carlo engine 631
24.8.2 The market model system 632
24.8.3 What s next? 633
24.9 Analysing and designing large software systems: a summary of
the steps 633
24.10 Conclusions and summary 634
24.11 Exercises and projects 634
25 An Introduction to OpenMP and its Applications to
the Monte Carlo Method 637
25.1 Introduction and objectives 637
2.5.2 Loop optimisation 637
25.2.1 Loop interchange 638
25.2.2 Loop fission and fusion 639
25.2.3 Loop unrolling 640
25.2.4 Loop tiling 641
25.2.5 Serial loop optimisation in Monte Carlo applications 642
25.3 An overview of OpenMP 644
25.4 Threads in OpenMP
25.5 Loop-level parallelism
25.6 Data sharing ,.,
25.6.1 Ensuring private variable initialisation and realisation 648
-5.6.2 Reduction operations 649
2.5.6.3 The copyin clause and threadprivate directive 650
25.6.4 The flush directive 65,
25.7 Work-sharing and parallel regions 651
25.7.1 Work-sharing constructs 652
25.7.2 The nowait clause / -,
25.8 Nested loop optimisation
25.9 Scheduling in OpenMP 6
656
Contents
25.10 OpenMP for the Monte Carlo method
25.11 Conclusions and summary
25.12 Exercises and projects
26 A Case Study of Numerical Schemes for the Heston Model
26.1 Introduction and objectives
26.2 Test scenarios
26.3 Numerical approximations for the Heston model
26.4 Testing different schemes and scenarios
26.5 Results
26.6 Lessons learned
26.7 Extensions, calibration and more
26.8 Other numerical methods for Heston
26.9 Summary and conclusions
26.10 Exercises and projects
27 Excel, C++ and Monte Carlo Integration
27.1 Introduction and objectives
27.2 Integrating applications and Excel
27.3 ATL architecture
27.3.1 Interfaces and data structures
27.3.2 The structure of an ATL project and its classes
27.3.3 Implementing the methods in IDTExtensibility2
27.4 Creating my first ATL project: the steps
27.5 Creating automation add-ins in Excel
27.5.1 Automation interfaces
27.6 Useful utilities and interoperability projects
27.7 Test Case: a COM add-in and complete code
27.7.1 COM add-in
27.7.2 Automation add-in
27.7.3 The utilities class
27.8 Summary and conclusions
27.9 Exercises and projects
References
Index
657
661
661
665
665
666
667
672
675
678
679
680
681
681
685
685
686
686
686
688
691
693
695
695
696
697
697
701
704
707
707
711
719
|
any_adam_object | 1 |
author | Duffy, Daniel J. 1952- |
author_GND | (DE-588)1012188272 (DE-588)1071747401 |
author_facet | Duffy, Daniel J. 1952- |
author_role | aut |
author_sort | Duffy, Daniel J. 1952- |
author_variant | d j d dj djd |
building | Verbundindex |
bvnumber | BV036515336 |
callnumber-first | H - Social Science |
callnumber-label | HG106 |
callnumber-raw | HG106 |
callnumber-search | HG106 |
callnumber-sort | HG 3106 |
callnumber-subject | HG - Finance |
classification_rvk | SK 970 |
ctrlnum | (OCoLC)699263219 (DE-599)BVBBV036515336 |
dewey-full | 518/.28202855133 |
dewey-hundreds | 500 - Natural sciences and mathematics |
dewey-ones | 518 - Numerical analysis |
dewey-raw | 518/.28202855133 |
dewey-search | 518/.28202855133 |
dewey-sort | 3518 1128202855133 |
dewey-tens | 510 - Mathematics |
discipline | Mathematik |
edition | Reprint. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02070nam a2200529 c 4500</leader><controlfield tag="001">BV036515336</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20210623 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">100622s2009 xxka||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2009021640</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780470060698</subfield><subfield code="c">cloth</subfield><subfield code="9">978-0-470-06069-8</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)699263219</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV036515336</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxk</subfield><subfield code="c">GB</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-20</subfield><subfield code="a">DE-19</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">HG106</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">518/.28202855133</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">SK 970</subfield><subfield code="0">(DE-625)143276:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Duffy, Daniel J.</subfield><subfield code="d">1952-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1012188272</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Monte Carlo frameworks</subfield><subfield code="b">building customisable high performance C++ applications</subfield><subfield code="c">Daniel J. Duffy ; Jörg Kienitz</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Reprint.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Chichester, U.K.</subfield><subfield code="b">Wiley</subfield><subfield code="c">2009</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXV, 750 S.</subfield><subfield code="b">Ill.</subfield><subfield code="c">26 cm.</subfield><subfield code="e">1 CD-ROM</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Wiley finance</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references and index</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Mathematisches Modell</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Finance</subfield><subfield code="x">Mathematical models</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Monte Carlo method</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C++ (Computer program language)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Computeralgebra</subfield><subfield code="0">(DE-588)4010449-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Monte-Carlo-Simulation</subfield><subfield code="0">(DE-588)4240945-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Finanzmathematik</subfield><subfield code="0">(DE-588)4017195-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Finanzmathematik</subfield><subfield code="0">(DE-588)4017195-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Monte-Carlo-Simulation</subfield><subfield code="0">(DE-588)4240945-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Computeralgebra</subfield><subfield code="0">(DE-588)4010449-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Kienitz, Jörg</subfield><subfield code="d">1970-</subfield><subfield code="e">Sonstige</subfield><subfield code="0">(DE-588)1071747401</subfield><subfield code="4">oth</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020437465&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-020437465</subfield></datafield></record></collection> |
id | DE-604.BV036515336 |
illustrated | Illustrated |
indexdate | 2024-07-09T22:42:03Z |
institution | BVB |
isbn | 9780470060698 |
language | English |
lccn | 2009021640 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-020437465 |
oclc_num | 699263219 |
open_access_boolean | |
owner | DE-20 DE-19 DE-BY-UBM |
owner_facet | DE-20 DE-19 DE-BY-UBM |
physical | XXV, 750 S. Ill. 26 cm. 1 CD-ROM |
publishDate | 2009 |
publishDateSearch | 2009 |
publishDateSort | 2009 |
publisher | Wiley |
record_format | marc |
series2 | Wiley finance |
spelling | Duffy, Daniel J. 1952- Verfasser (DE-588)1012188272 aut Monte Carlo frameworks building customisable high performance C++ applications Daniel J. Duffy ; Jörg Kienitz Reprint. Chichester, U.K. Wiley 2009 XXV, 750 S. Ill. 26 cm. 1 CD-ROM txt rdacontent n rdamedia nc rdacarrier Wiley finance Includes bibliographical references and index Mathematisches Modell Finance Mathematical models Monte Carlo method C++ (Computer program language) Computeralgebra (DE-588)4010449-7 gnd rswk-swf Monte-Carlo-Simulation (DE-588)4240945-7 gnd rswk-swf Finanzmathematik (DE-588)4017195-4 gnd rswk-swf C++ (DE-588)4193909-8 gnd rswk-swf Finanzmathematik (DE-588)4017195-4 s Monte-Carlo-Simulation (DE-588)4240945-7 s Computeralgebra (DE-588)4010449-7 s C++ (DE-588)4193909-8 s DE-604 Kienitz, Jörg 1970- Sonstige (DE-588)1071747401 oth HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020437465&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Duffy, Daniel J. 1952- Monte Carlo frameworks building customisable high performance C++ applications Mathematisches Modell Finance Mathematical models Monte Carlo method C++ (Computer program language) Computeralgebra (DE-588)4010449-7 gnd Monte-Carlo-Simulation (DE-588)4240945-7 gnd Finanzmathematik (DE-588)4017195-4 gnd C++ (DE-588)4193909-8 gnd |
subject_GND | (DE-588)4010449-7 (DE-588)4240945-7 (DE-588)4017195-4 (DE-588)4193909-8 |
title | Monte Carlo frameworks building customisable high performance C++ applications |
title_auth | Monte Carlo frameworks building customisable high performance C++ applications |
title_exact_search | Monte Carlo frameworks building customisable high performance C++ applications |
title_full | Monte Carlo frameworks building customisable high performance C++ applications Daniel J. Duffy ; Jörg Kienitz |
title_fullStr | Monte Carlo frameworks building customisable high performance C++ applications Daniel J. Duffy ; Jörg Kienitz |
title_full_unstemmed | Monte Carlo frameworks building customisable high performance C++ applications Daniel J. Duffy ; Jörg Kienitz |
title_short | Monte Carlo frameworks |
title_sort | monte carlo frameworks building customisable high performance c applications |
title_sub | building customisable high performance C++ applications |
topic | Mathematisches Modell Finance Mathematical models Monte Carlo method C++ (Computer program language) Computeralgebra (DE-588)4010449-7 gnd Monte-Carlo-Simulation (DE-588)4240945-7 gnd Finanzmathematik (DE-588)4017195-4 gnd C++ (DE-588)4193909-8 gnd |
topic_facet | Mathematisches Modell Finance Mathematical models Monte Carlo method C++ (Computer program language) Computeralgebra Monte-Carlo-Simulation Finanzmathematik C++ |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020437465&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT duffydanielj montecarloframeworksbuildingcustomisablehighperformancecapplications AT kienitzjorg montecarloframeworksbuildingcustomisablehighperformancecapplications |