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

Introducing statistics


In this section, we'll look at statistics using both built-in functions and simple custom ones. Statistics are used a lot throughout quantitative finance. Larger time series are often analyzed, and F# has great support for sequences of numbers; some of its power will be illustrated in the examples mentioned in this section.

Aggregate statistics

Aggregated statistics is all about statistics on aggregated data such as sequences of numbers collected from measurements. It's useful to know the average value in such a collection; this tells us where the values are centered. The min and max values are also useful to determine the extremes in the collection.

In F#, the Seq module has this functionality built-in. Let's take a look at how to use it in each case using an example.

Calculating the sum of a sequence

Consider a sequence of 100 random numbers:

let random = new System.Random()
let rnd() = random.NextDouble()
let data = [for i in 1 .. 100 -> rnd()]

We can calculate the...