| Current Members Log-In | |
View Your Shopping Cart |
CRB Bookstore |
Markets Overview |
CRB Affiliates |
|
![]() |
| |
|
|
|
|
|
|
|
VOLATILITY: Volatility is one of the most important factors when pricing options -- when volatility is high, options premiums are relatively expensive; when volatility is low, options premiums are relatively cheap. Volatility is a measure of the amount and speed of price changes, regardless of directions. HISTORICAL VOLATILITY: This is a measure of how volatile the underlying futures contracts has been for the 20 trading days prior to each observation date in the data series. It is an annualized standard deviation of price changes expressed as a percentage. IMPLIED VOLATILITY: This volatility is measured by entering the prices of options premiums into an options pricing model, then solving for volatility. The implied volatility value is based on the mean of the two nearest-the-money calls and the two nearest-the-money puts using the Black options pricing model. This value is the market's estimate of how volatile the underlying futures will be from the present until the option's expiration.
HISTORICAL VOLATILITY (20-day): STEP 1 STEP 2 STEP 3 STEP 4 IMPLIED VOLATILITY: Black Model and Derivatives: The Black Model (for futures contracts) is a result of the Black-Scholes Model (for securities). Its values cannot be calculated exactly. The formula below, however, is a very good approximation. This formula has been streamlined to allow the fastest possible processing time. For example, at one point you will see variables multiplied together a1*a1*a1. The computer can process this formula faster than a1^3. The first half of the program is for calculating call premiums and derivatives while the last half is for puts. Each half is broken into two parts. The first part calculates the theoretical premium only. The second part calculates the option derivatives (delta, gamma, theta, and vega). NOTE: to calculate the derivatives, you must first calculate the premium. However, you need not run the derivatives calculation if you don't need the answer. Here is a list of variables that must be supplied to calculate any or all of the outputs.
To speed up processing. The following variables were added. Note you can calculate these values before you enter these subroutines (if you do, then remove the lines that calculate these variables).
The calculated results will be found in the following variables:
Similarly, for put variables just substitute .PUT for .CALL. NOTE: The following code cannot run by itself - They are only subroutines. You must write your own code that sets the values described above, then call these subroutines, then write more code to display the newly calculated values. Calculate call option premium subroutine: 100 PART.YEAR = DAYS/365 'remove these two lines if have PART.SQR = PART.YEAR ^ 0.5 'already calculated these values. T1 = EXP (-RATE*PART.YEAR) D1 = (LOG(PRICE/STRIKE)+(VOL*VOL*DAYS/730))/(VOL*PART.SQR) A1 = 1/(ABS(D1)*.33267+1) A2 = A1*.4361836-A1*A1*.1201676+A1*A1*A1*.937298 A3 = 1-.398423*A2*EXP(-D1*D1/2) if D1 < 0 then A4 = 1-A3 else A4 = A3 D2 = (LOG(PRICE/STRIKE)-(VOL*VOL*DAYS/730))/(VOL*PART.SQR) B1 = 1/ (ABS(D2)*.33267+1) B2 = B1*.4361836-B1*B1*.1201676+B1*B1*B1*.937298 B3 = 1-.398423*B2*EXP(-D2*D2/2) if D2 < 0 then B4 = 1-B3 else B4 = B3 PREM.CALL = -(T1*(PRICE*A4-STRIKE*B4) RETURNCalculate call option derivatives subroutine: 110 T2 = .3989423*EXP(-D1*D1/2) T3 = .3989423*EXP(-D2*D2/2) DELTA.CALL = T1*A4 GAMMA.CALL = T1*T2/PRICE/VOL/PARTSQR THETA.CALL = (T1*PRICE*VOL*T2/2/PART.SQR+STRIKE*RATE*T1*(1-T3)- PRICE*RATE*T1*(1-T2))/365Calculate put option premium subroutine: 200 PART.YEAR = DAYS/365 'remove these two lines if have PART.SQR = PART.YEAR ^ 0.5 'already calculated these values. T1 = EXP (-RATE*PART.YEAR) D1 = (LOG(PRICE/STRIKE)+(VOL*VOL*DAYS/730))/(VOL*PART.SQR) A1 = 1/(ABS(D1)*.33267+1) A2 = A1*.4361836-A1*A1*.1201676+A1*A1*A1*.937298 A3 = 1-.398423*A2*EXP(-D1*D1/2) if D1 < 0 then A4 = 1-A3 else A4 = A3 D2 = (LOG(PRICE/STRIKE)-(VOL*VOL*DAYS/730))/(VOL*PART.SQR) B1 = 1/ (ABS(D2)*.33267+1) B2 = B1*.4361836-B1*B1*.1201676+B1*B1*B1*.937298 B3 = 1-.398423*B2*EXP(-D2*D2/2) if D2 < 0 then B4 = 1-B3 else B4 = B3 PREM.PUT = -(T1*(PRICE*A4-STRIKE*B4) RETURNCalculate put option derivatives subroutine: 210 T2 = .3989423*EXP(-D1*D1/2) T3 = .3989423*EXP(-D2*D2/2) DELTA.PUT = T1*A4 GAMMA.PUT = T1*T2/PRICE/VOL/PARTSQR THETA.PUT = (T1*PRICE*VOL*T2/2/PART.SQR+STRIKE*RATE*T1*(1-T3)- PRICE*RATE*T1*(1-T2))/365 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Copyright © 1934 - 2008 by Commodity Research Bureau - CRB. All Rights Reserved.
User agreement applies. Privacy policy. 330 South Wells Street Suite 612 Chicago, Illinois 60606-7110 USA Phone: 800.621.5271 or 312.554.8456 Fax: 312.939.4135 Email: info@crbtrader.com |
| Press Ctrl+D to bookmark this page - Set http://www.crbtrader.com as your Home Page |