Book Image

F# for Quantitative Finance

By : Johan Astborg
Book Image

F# for Quantitative Finance

By: Johan Astborg

Overview of this book

F# is a functional programming language that allows you to write simple code for complex problems. Currently, it is most commonly used in the financial sector. Quantitative finance makes heavy use of mathematics to model various parts of finance in the real world. If you are interested in using F# for your day-to-day work or research in quantitative finance, this book is a must-have.This book will cover everything you need to know about using functional programming for quantitative finance. Using a functional programming language will enable you to concentrate more on the problem itself rather than implementation details. Tutorials and snippets are summarized into an automated trading system throughout the book.This book will introduce you to F#, using Visual Studio, and provide examples with functional programming and finance combined. The book also covers topics such as downloading, visualizing and calculating statistics from data. F# is a first class programming language for the financial domain.
Table of Contents (17 chapters)
F# for Quantitative Finance
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

The Monte Carlo method


The Monte Carlo method is used to sample numerical integration using random numbers and to study the mean value of a large number of samples. The Monte Carlo method is especially useful when there is no closed form solution available.

In this section, we'll look at the simplest case, where we have path-dependent European options. We are going to sample numerical integration using a random drifting parameter. This will lead to various average values for the stochastic process, which makes up the movement of the underlying asset. We'll do this using 1,000 and 1,000,000 samples respectively and compare the results. Let's dig into the following code:

/// Monte Carlo implementation

/// Convert the nr of days to years
let days_to_years d =
  (float d) / 365.25

/// Asset price at maturity for sample rnd
// s: stock price
// t: time to expiration in years
// r: risk free interest rate
// v: volatility
// rnd: sample
let price_for_sample s t r v rnd =
  s*exp((r-v*v/2.0)*t...