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

Plotting payoff diagrams with FSharpCharts


In this section, we'll construct basic payoff diagrams for European call and put options. Payoff diagrams are useful to visualize the theoretical payoff given the price of the stock and the strike of the option.

The payoff function for a call option is defined as follows:

And the payoff function for a put option is defined as follows:

Let's look at how to do this in F#. We start by defining the payoff functions for calls and puts:

/// Payoff for European call option
// s: stock price
// k: strike price of option
let payoffCall k s = max (s-k) 0.0

/// Payoff for European Put option
// s: stock price
// k: strike price of option
let payoffPut k s = max (k-s) 0.0

We can use these functions to produce numbers to be fed into FSharpChart and visualize the data:

/// Calculate the payoffs given payoff function
let payoff payoffFunction = [ for s in 0.0 .. 10.0 .. 100.0 -> s, payoffFunction s ]

We start by generating the payoff diagram for a call option with...