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

More on functional programming


Here we will continue and build on the foundation from the previous chapter on functional programming basics. We will examine some of the more advanced and at the same time useful constructs of the F# language.

Recursive functions

Recursion is a fundamental building block in functional programming. Many problems can be solved in a recursive fashion, and together with pattern matching, it makes up a powerful toolkit.

To define a recursive expression, you use the keyword rec.

Let's start by looking at the famous Fibonacci sequence, which is defined as the sum of the two previous numbers in a recursive sequence. The first two values are set to 0 and 1, respectively, as seed values:

let rec fib n =
   if n <= 2 then 1
   else fib (n - 1) + fib (n – 2)

Recursion is a powerful way of solving problems, and is often preferred in functional languages before loop constructs. Let's look at three recursive functions to illustrate its flexibility and power:

let rec sum list...