Open Source Monte Carlo Option Valuer

Monte Carlo
Strategy Objects
C++ Classes

C++ Files

MCOV Project Home Page

What MCOV is...

MCOV is Open Source software used to estimate the value of financial options using a Monte Carlo method.

The MCOV software is composed of:

Purpose of the MCOV Software

The MCOV software is not a trading system. It might, however, be a useful tool for the option-trader that is, or has the help of, a C++ programmer.

The mcov program (compiled from mcov.cxx) can be used in a variety of ways...

  • For a variety of options, using a particular trading strategy and history file, compare the value estimated by mcov to the market value, looking for options which are worth more to the trader than to the bidder.
  • For a variety of strategies, and a variety of options that have already expired, compare how well mcov valued the options. This might be useful when evaluating strategies, or it might be useful when deciding when the MCOV software might be useful.
  • For a variety of periods of history, combine them, one at a time, with recent history and compare the effect that this has on how mcov values particular options. This might be useful when comparing a period in the past to recent history.

How the MCOV software is used...

The mcovaluer.h and mcovaluer.cxx files can be used to create an mcoValuer object in a C++ program. This object uses a file of history data to estimate the value of an American-Style option (one that can be exercised at any time) to a person with a particular strategy for deciding when to sell the option.

The mcov.cxx is a simple program that uses an mcoValuer object and a history-file to estimate and print the value of an option.

The MCOV software currently uses a strategy of selling the option just before expiry. It assumes (simplistically) that when the option is sold, the price of the underlying instrument (the stock or future) will be the closing price for the day. This strategy uses the mcoDay class that stores only a day-number and the closing price for the day.

Strategies, Days and Day-Factories

The MCOV software uses strategy objects to:
  • decide when to sell the option
  • determine the price of the underlying instrument at the time the option is sold
  • estimate the bid (selling price) for the option
  • pick a day from the history file to be used as a prototype for projecting the next day in a try
  • using a prototype-day from the history to establish the attributes of the next projected day
A C++ programmer can modify a strategy, or define a new one, by subclassing the strategy base class or an existing strategy. The programmer can subclass mcoDay or mcoDayBase to store more or different data for a day. A subclass of mcoDayFactory can be passed to the mcoValuer constructor so that it will create days of the appropriate type.

For more information, see the header file.

About the mcov Program

For information about how the software works, including a brief desctiption of the Monte Carlo method, see the mcovaluer.h header file.

For information about using the mcov program, see the README.txt file.

Open Source

MCOV is OSI Certified Open Source Software as a result of the way it is licensed. Contributers copyright their contributions and license them with the MIT License.

This means that you can do pretty much whatever you want with the MCOV software... use it, distribute it, build it into your commercial application, whatever.

Contributions are welcome, particularly new strategies (and associated days and day-factories).

See for information on the Open Source Initiative.

This project was started by Brian Marshall in Calgary in February 2004.