Rich Newman

June 24, 2007

A Beginner’s Guide to the Black-Scholes Option Pricing Formula (Part 1)

Filed under: Black-Scholes, derivatives, options, pricing — richnewman @ 10:28 pm

Black-Scholes Call on European Stock
Black-Scholes d1 d2
Preface

Firstly let me apologize to the .NET developers perusing this blog, as this article is a little off-topic. However, my interests range over both .NET and derivatives, and I will be posting on both topics in the future.

Introduction

The Black-Scholes model for pricing stock options was developed by Fischer Black, Myron Scholes and Robert Merton in the early 1970’s. It is arguably the most important result in financial engineering, and is certainly a rich source of interview questions in the financial services industry.

I was recently asked by a friend if I could provide a written explanation in layman’s terms of how the Black-Scholes options pricing formula works. This isn’t necessarily all that easy as the formula involves some relatively complex mathematics. However, I think it is possible to get an intuitive understanding of what the various parts of the formula mean. This article is an attempt to explain that.

Note that to keep things simple here I am only going to discuss European call options on non-dividend paying stock. It doesn’t matter for the purposes of this article if you don’t know what that means.

What is an Option?

Firstly a reminder of what a European call option is. If I ask this in an interview I usually get the textbook answer: ‘the right but not the obligation to buy an asset at a predetermined price at a predetermined date’. My next question is always ‘what does that actually mean?’

Consider a European call option on a Microsoft share (the ‘asset’), with a strike of 30 (the ‘predetermined price’) and maturity of one year from today (the ‘predetermined date’). If I pay to enter into this contract I have the right but not the obligation to buy one share at 30 in a year’s time. Whether I actually exercise my right clearly depends on the share price in the market at that date:

- If the share price is above 30, say at 35, I can buy the share in the contract at 30 and sell it immediately at 35, making a profit of 5. Similarly if the share price is 40 I make a profit of 10.
- If the share price is below 30, say at 25, the fact that I have the right to buy at 30 is worthless: I can buy more cheaply in the open market.

Thus we get the classic ‘hockey stick’ payoff diagram as below. This shows how the amount of money I make on my contract varies with the value of Microsoft stock at the end of the year.

Call Option Payoff Diagram

So if I enter into this contract I make money if the stock price finishes above 30, but don’t lose anything if it finishes below 30. Because I can’t lose, I have to pay to enter into the contract (this is the price of the contract, or the ‘premium’). This premium is usually paid upfront at the start of the contract. The question is how much this premium is going to be?

The Basic Idea

So we’re trying to find the value today of a contract whose ultimate value depends on the value of the Microsoft stock price in one year’s time. Furthermore, the contract has different values depending on whether that stock price goes up or goes down: the payoff curve above is not symmetrical.

So intuitively we are going to need some measure, or measures, of the probabilities of the stock price ending up at various values after one year.

If we have that it may be possible to apply an expected value calculation to get to a price for the contract. This is explained further in part 2.

Using HSL Color (Hue, Saturation, Luminosity) to Create Better-Looking GUIs (Part 4)

Filed under: .net, Color, GUI, HSL, RGB, User Interface, c#, dotnet, technology — richnewman @ 10:15 pm

Continued from part 3.

Code Listing

The code for this article is available here. It includes the full listing for the HSLColor class discussed in the article.

The project has a treeview that lets you select the various colors within the color scheme.

It also has the three color schemes described in this article available on the ‘Color’ menu (Color/Color Scheme then Original Color Scheme, Color Scheme 2 or Color Scheme 3). The ‘Color’ menu also allows you to set either of the two sets of stripes on any given screen to a custom color using the standard .NET color picker (Color/Set Color 1 or Color/Set Color 2).

In addition the Help menu has a ‘Current Colors’ option that shows both the HSL and RGB values for the current colors displayed on the screen.

Blog at WordPress.com.