Learning Modern C for Finance Foundations for Quantitative Programming 4th Edition by Daniel Hanson – Ebook PDF Instant Download/Delivery: 1098100751, 9781098100759
Full download Learning Modern C for Finance Foundations for Quantitative Programming 4th Edition after payment
Product details:
ISBN 10: 1098100751
ISBN 13: 9781098100759
Author: Daniel Hanson
This practical book demonstrates why C++ is still one of the dominant production-quality languages for financial applications and systems. Many programmers believe that C++ is too difficult to learn. Author Daniel Hanson demonstrates that this is no longer the case, thanks to modern features added to the C++ Standard beginning in 2011. Financial programmers will discover how to leverage C++ abstractions that enable safe implementation of financial models. You’ll also explore how popular open source libraries provide additional weapons for attacking mathematical problems. C++ programmers unfamiliar with financial applications also benefit from this handy guide. Learn C++ basics from a modern perspective: syntax, inheritance, polymorphism, composition, STL containers, and algorithms Dive into newer features and abstractions including functional programming using lambdas, task-based concurrency, and smart pointers Implement basic numerical routines in modern C++ Understand best practices for writing clean and efficient code
Learning Modern C for Finance Foundations for Quantitative Programming 4th Table of contents:
1. An Overview of C++
C++ and Quantitative Finance
C++11: The Modern Era Is Born
Open Source Mathematical Libraries
Some Myths about C++
Compiled Versus Interpreted Code
The Components of C++
C++ Language Features
The C++ Standard Library
Some New Language Features Since C++11
The auto Keyword
Range-Based for Loops
The using Keyword
Uniform Initialization
Formatting Output
Class Template Argument Deduction
Enumerated Constants and Scoped Enumerations
Lambda Expressions
Mathematical Operators, Functions, and Constants in C++
Standard Arithmetic Operators
Mathematical Functions in the Standard Library
Mathematical Special Functions
Standard Library Mathematical Constants
Naming Conventions
Summary
Further Resources
2. Writing User-Defined Classes with Modern C++ Features
A Black-Scholes Class
Representing the Payoff
Writing the Class Declaration
Writing the Class Implementation
Using a Functor for Root Finding: Implied Volatility
Move Semantics and Special Member Functions
Data Members and Performance Considerations
An Introduction to Move Semantics
Initialization of Constructor Arguments with std::move(.)
Anonymous Temporary Objects and Move Semantics
Return Value Optimization
Default Constructor
Three-Way Comparison Operator (Spaceship Operator)
Lambda Expressions and User-Defined Class Members
Summary
Additional References
3. Inheritance, Polymorphism, and Smart Pointers
Polymorphism
Resource Ownership with Raw Pointers
Using Clone Methods
Creating an Instance of OptionInfo
Preventing Shallow Copy
Implementing the OptionInfo Destructor
Pricing an Option
Implementing Copy Operations
The (Old) Rule of Three
Introducing Smart Pointers
Unique Pointers
Shared Pointers
Managing Resources with Unique Pointers
Just Move It
Using the Result in a Pricing Model
If Copy Operations Are Required
Summary
Further Resources
4. The Standard Template Library Part I: Containers and Iterators
Templates
Using Function Templates
Using Class Templates
Compiling Template Code
STL Containers
Sequential Containers
Associative Containers
STL Iterators
Using auto to Reduce Verbosity
Using Constant Iterators
Iterators or Indices?
Iterators on Associative Containers
Summary
Further Resources
5. The Standard Template Library Part II: Algorithms and Ranges
STL Algorithms
A First STL Algorithm Example
A First Example with Ranges
Some Commonly Used Algorithms
Function Objects as Auxiliary Functions
Class Member Functions as Auxiliary Functions
Locating, Sorting, Searching, Copying, and Moving Elements
Numeric Algorithms
Range Views, Range Adaptors, and Functional Programming
Range Views
Chaining for Functional Composition
Views, Containers, and Range-Based for Loops
Summary
Additional References
6. Random Number Generation and Concurrency
Distributional Random Number Generation
Introducing Engines and Distributions
Generating Random Normal Draws
Using Other Distributions
Shuffling
Monte Carlo Option Pricing
A Review of Monte Carlo Option Pricing
Generating Random Equity Price Scenarios
Calculating the Option Price
Pricing Path-Dependent Options
Concurrency and Parallelism
Parallel Algorithms from the Standard Library
Task-Based Concurrency
Concluding Remarks on async and future
Summary
Further Resources
7. Dates and Fixed Income Securities
Representation of a Date
Serial Representation
Accessor Functions for Year, Month, and Day
Checking the Validity of a Date
Checking Leap Years and Last Day of the Month
Identifying Weekdays and Weekends
Adding Years, Months, and Days
A Date Class Wrapper
Class Declaration
Class Implementation
Day Count Basis
Yield Curves
Deriving a Yield Curve from Market Data
Discount Factors
Calculating Forward Discount Factors
Implementing a Yield-Curve Class
Implementing a Linearly Interpolated Yield Curve Class
A Bond Class
Bond Payments and Valuation
Designing a Bond Class
Implementing the Bond Class
A Bond Valuation Example
Summary
Additional Reference
8. Linear Algebra
Lazy Evaluation and Expression Templates
Lazy Evaluation
Expression Templates
The Eigen Linear Algebra Library
Eigen Matrices and Vectors
Matrix and Vector Math Operations
STL Compatibility
Matrix Decompositions and Applications
Fund Tracking with Multiple Regression
Correlated Random Equity Paths and the Cholesky Decomposition
Yield-Curve Dynamics and Principal Component Analysis
Future Directions: Linear Algebra in the Standard Library
mdspan
BLAS Interface
Summary
Further Resources
9. The Boost Libraries
Mathematical Constants
Statistical Distributions
Probability Functions
Drawdown Example, Revisited
Random Number Generation with Boost Distributions
MultiArray
A Simple Two-Dimensional MultiArray
Binomial Lattice Option Pricing
Accumulators
Max and Min Example
Mean and Variance
Rolling Mean and Variance
Trading Indicator Examples
Summary
Further Reading
10. Modules and Concepts
Modules
Standard Library Header Units
Templates in Modules
import Versus #include
Declarations in Module Interfaces
Separating Declarations from Implementation
Namespaces
Partitions
Concepts
Defining Concepts
Defining Concepts with Multiple Conditions
Standard Library Concepts
Summary
A. Virtual Default Destructor
B. Object Slicing
C. Implementation of Move Special Member Functions
D. Resolving Conflicts in the Initialization of a vector
E. valarray and Matrix Operations
Arithmetic Operators and Math Functions
valarray as a Matrix Proxy
Index
About the Author
People also search for Learning Modern C for Finance Foundations for Quantitative Programming 4th :
foundations of modern finance i mit
foundations of modern finance
learning corporate finance
foundations of modern finance ii
Tags:
Daniel Hanson,Learning Modern,Finance Foundations