ActiveX Software for Visual Basic 6/.NET, C++ 6/.NET, Delphi, Borland C++ Builder: Matrix Maths, Time Series
 
 Home   |   Products   |   Testimonials   |   Prices   |   Support   |   Contact   |   Publications   |   About   |   Buy Now
Quick Links   Home   Purchase   Support
Products   Product Home   ActiveX/COM Components   .NET Components   Version History
Support   Support Home   Installation Help
About Us   Company Info   Clients   Testimonials   Publications   Contact Us

   Historical and Implied Volatility Software Estimator for Option Pricing and Analysis .NET Software
 

    Volatility/X
Financial Volatility Estimation Excel AddIn, ActiveX and COM Component

Product Features  Download  Product FAQ  Screen Shots!   Prices Buy Now

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:

Stock Price: $39.45
Strike Price: $40.00
Interest Rate: 5%
Time to maturity: 30 days
Volatility:   10%

Call Price: $0.28

If the volatility is overestimated by 20%, ie Volatility = 0.12, then

Call Price = $0.37 .. A 30% error due to the overestimated volatility!


Stock Price: $39.45
Strike Price: $38.00
Interest Rate: 5%
Time to maturity: 180 days
Volatility:   10%

Put Price: $0.28

If the volatility is overestimated by 20%, ie Volatility = 0.12, then

Put Price = $0.43 .. A 56% error due to the overestimated volatility!

So what can you do to try and overcome these problems?

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.

Easily access Volatility/X methods via the Insert Function method in Excel.

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.

References

    1. M. Parkinson, "The Extreme Value Method for Estimating the Variance of the Rate of Return", The Journal of Business, Vol. 53, No. 1, Jan., 1980, pp. 61-65.
    2. M.B. Garman and M.J. Klass, "On the Estimation of Security Price Volatilities from Historical Data, The Journal of Business, Vol. 53, No. 1, Jan., 1980, pp. 67-78.
    3. L. C. G. Rogers, S. E. Satchell, "Estimating Variance From High, Low and Closing Prices", The Annals of Applied Probability, Vol. 1, No. 4, Nov., 1991, pp. 504-512.
    4. J.C. Hull, "Volatility, Futures and Other Derivative Securities", Prentice-Hall, 5th Ed, 2003.
    5. Makridakis, Wheelwright and McGee, Forecasting Methods and Applications, Wiley, 1983.
    6. F.X. Diebold, A. Hickman, A. Inoue and T. Schuermann, "Converting 1-Day Volatility to h-Day Volatility: Scaling by Sqrt(h) Is Worse Than You Think", Working Paper 97-34, The Wharton School, University of Pennsylvania, 1997.
    7. R.C.A. Oomen, "Modelling realized variance when returns are serially correlated", Unpublished paper, Warwick Business School.
    8. J. Duque and D.A. Paxson, "Empirical Evidence On Volatility Estimators", Working Paper, ISEG, Portugal, 1999.