The Importance of Volatility in Options and Futures Pricing

Computing option prices? You need to estimate volatility somehow!
Volatility is well known to be very difficult to estimate accurately and is
often regarded as the most critical element in options pricing and
analysis.

Volatility/X and Volatility/NET
provide a range of the best available methods for computing both implied
volatility and statistical or historical volatility.

The analysis of options and futures using computer-based methods requires a
number of inputs. Arguably, the most important, yet usually the most difficult
input to obtain, is the volatility. The volatility of a stock price is usually
defined as the standard deviation of the daily price returns of a stock over a
set period of time. Often this estimate is annualized, that is, converted to a
one year value of volatility by multiplying by a conversion factor.

Small Errors in Volatility Can Give Big Errors in Option Prices

Obtaining accurate estimates for volatility which will provide the most
beneficial inputs to the option pricing models used is critical. It has been
shown that, based on the Black-Scholes model, a 10% underestimation of the
returns variance can lead to a 14.5% underpricing of a 3 month, 15% out of the
money option and using the same model, the delta would be estimated as being
8.2% lower than the value found using the correct volatility input [7]. Consider
the following examples for a European option calculated using the Black-Scholes
model:

The solution is to intelligently use the most efficient volatility estimation
algorithms, making the best use of the available data to give the most accurate
estimates. Then it is up to you to decide the best method to use the various
estimates for historical and implied volatility.
Hence it is important to use the most reliable and accurate methods for
computing volatility as possible.

Volatility/X implements a number of the best known and well established, highly
efficient methods for computing both historical and implied volatility.

Algorithms for Computing Historical and Implied Volatility

There are a few main approaches to computing volatility. These include: a)
historical volatility and b) implied volatility. The historical volatility is
obtained by using a series of historical prices to estimate the standard
deviation over a period of time. The implied volatility is effectively the
current estimate of the volatility implied by the market. It is obtained by
inverting the current option price estimate. That is, given the inputs for
pricing an option and using the current option price, it is possible to invert
the model to estimate the volatility.

Volatility/X provides a range of highly
efficient methods for computing both historical and implied volatility. We will describe
some of these below:

Garman and Klass define a measure of the efficiency of an estimator as:

Eff = Var(var_o)/Var(y).

The aim is to obtain a method of estimating the volatility which reduces the
variance of the estimate for a given amount of data. Or put another way, to
achieve the same accuracy, a smaller amount of data is required when using the
more efficient algorithms. In contrast to the classical historical volatility
estimators, a number of improved methods of computing historical volatility have
been proposed which have significantly improved efficiency. These include the
Parkinson algorithm which has an efficiency of approximately 5.2 and the Garman-Klass
algorithm which has an efficiency of 7.4 or better. While these methods can
provide better results than the classical historical volatility estimator, it is
also evident that this is a continuing area of research and the performance of
the various methods is still being investigated [8].

Please note: these algorithms make
a number of assumptions and users must make themselves fully aware of how
and when to use these models. Please see the disclaimer and risk statement below
and the full terms and conditions of the software license for more details.

Volatility/X includes the following methods:

Historical Volatility

Classical Historical Volatility

Parkinson (1980)

Garman and Klass (1980)

Rogers and Satchell (1991)

EWMA

Implied Volatility

Exact Bisection - BlackScholes (Call, Put)

Exact Bisection - Binomial (Call, Put)

M. Li (2006) - (Call)

Brenner and Subrahmanyam (1988) - (Call, Put)

Brenner and Subrahmanyam (1988) Vega Refined -
(Call, Put)

Bharadia (1996) - (Call, Put)

Corrado and Miller (1996) - (Call, Put)

Hallerbach (2004)- (Call, Put)

Volatility Conversion

Conversion between different time periods and scales

With just a few lines of code, it is now possible to load market data and
output estimates of the theoretical stock volatilities. The data sources can be
any data source that can be accessed from your application and supplied to the
functions.

Volatility/X Excel AddIn, ActiveX and COM Component

Volatility/X is a software component that can be used in wide range of
Windows applications as well as an Excel AddIn. It requires no user interface
and can be accessed in the Microsoft Visual Studio development environment,
including Visual Basic 6, Visual C++ 6, and Visual Studio .NET 2002-2005.

Volatility/X supports threaded blocking and non-blocking modes. This means
for lengthy computations, you can use the control in a program, pass it some
data for processing and the program can then run other tasks and respond to user
input while the computations are taking place. When processing is complete, an
event is fired and the program continues from the data processing step. This
blocking/non-blocking mode is under program control. Error codes are returned
from the event indicating the success or otherwise of the data processing. The
computations can also be interrupted under program control by the user, for
example, it is straight forward to implement a "Stop" button to direct
the computations to be stopped.

The Volatility/X Component can be used in Excel spreadsheets or in
your own applications created in Visual Basic 6, VC++ or other languages. We provide
full source code demos and backup support to help you.

If you are aiming to develop an option trading system for the stock market, try
Options/X and Volatility/X. These software components will enable
you to quickly build your own system.

With the
addition of stock quotes, you can create your own option trading software,
customized to your own purposes.

Volatility/X includes sample
applications with source code in
Visual Basic 6 and Excel.

Volatility/X includes sample
applications with source code so you can quickly see just how easy it is to
accurately estimate stock or commodity volatility.

Screen shot of an
application built in Visual Basic 6 using Volatility/X.

Volatility/X is written in Visual C++ 6.0 and is designed for maximum speed and reliability.
It can be used in a wide range of applications and importantly, has a full Excel
interface so that it can be used directly from within Excel. It has Menu access
to Help and utilized Excel's Insert Function capabilities.

Volatility/X makes an ideal companion software component for Options/X.
For more information on Volatility/X or if you have any questions, please
contact us today.

The parameters can be inserted via the
Excel Function Arguments dialog box.

Excel demo supplied with Volatility/X

It is well known that the volatility estimate for options pricing is very
important and Volatility/X is a positive step towards obtaining the best
values possible. Volatility/X is a tool for professionals. You need to
understand the limitations of the software and use it wisely, but with
careful attention to the input data ranges and the results that it gives,
ie by using multiple volatilities to ensure only valid estimates are used,
Volatility/X is an excellent choice in obtaining improved volatility
inputs to your models.