# vix_pt: Computes point estimates of model-based volatility indexes In ifrogs: Finance routines developed by the IGIDR Finance Research Group.

## Description

This function implements the point estimation of the four model-based volatility indexes described in Grover and Thomas (2012). They are: Vega weighted VIX (VVIX), Spread Weighted VIX (SVIX), Traded Volume Weighted VIX (TVVIX), and Elasticity weighted VIX (EVVIX).

## Usage

 `1` ``` vix_pt(iv_near, iv_next) ```

## Arguments

 `iv_near` A list of objects returned by ‘weighted_iv’ for the near month maturity. `iv_next` A list of objects returned by ‘weighted_iv’ for the next month maturity.

## Value

 `vix` Returns a numeric value/vector of the volatility index/indexes computed.

## Author(s)

Akhil S. Behl akhilsbehl@gmail.com;
Rohini Grover grover.rohini@gmail.com

## References

Grover, R. and Thomas, S. (2012). “Liquidity Considerations in Estimating Implied Volatility”, Journal of Futures Market, 32, 714 - 741.

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75``` ``` # Example 1: Compute Vega VIX using SPX options data(vix_spx) # Preparing data for near and next month spx options without filtering # options with zero traded volume. spx_near <- prep_maturity(maturity=vix_spx\$opt_near\$maturity[[1]], riskfree=vix_spx\$opt_near\$riskfree[[1]], carry=vix_spx\$opt_near\$riskfree[[1]], type=vix_spx\$opt_near\$type, strike=vix_spx\$opt_near\$strike, underlying=vix_spx\$opt_near\$underlying, schemes="vega", bid=vix_spx\$opt_near\$bid, ask=vix_spx\$opt_near\$ask, tv_filter=FALSE) spx_next <- prep_maturity(maturity=vix_spx\$opt_next\$maturity[[1]], riskfree=vix_spx\$opt_next\$riskfree[[1]], carry=vix_spx\$opt_next\$riskfree[[1]], type=vix_spx\$opt_next\$type, strike=vix_spx\$opt_next\$strike, underlying=vix_spx\$opt_next\$underlying, schemes="vega", bid=vix_spx\$opt_next\$bid, ask=vix_spx\$opt_next\$ask, tv_filter=FALSE) # Weighted average implied volatility for near and next maturity spx_near_iv <- weighted_iv(prepped=spx_near) spx_next_iv <- weighted_iv(prepped=spx_next) # Point estimate of Vega VIX spx_vvix <- vix_pt(iv_near=spx_near_iv, iv_next=spx_next_iv) spx_vvix # Example 2: Compute Spread, Elasticity, and Vega VIX using NIFTY options data(vix_nifty) # Preparing data for near and next month nifty options and filtering options # with zero traded volume. nifty_near <- prep_maturity(maturity=vix_nifty\$opt_near\$maturity[[1]], riskfree=vix_nifty\$opt_near\$riskfree[[1]], carry=vix_nifty\$opt_near\$riskfree[[1]], type=vix_nifty\$opt_near\$type, strike=vix_nifty\$opt_near\$strike, underlying=vix_nifty\$opt_near\$underlying, schemes=c("spread", "elasticity", "vega"), bid=vix_nifty\$opt_near\$bid, ask=vix_nifty\$opt_near\$ask, traded_vol=vix_nifty\$opt_near\$traded_vol, tv_filter=TRUE) nifty_next <- prep_maturity(maturity=vix_nifty\$opt_next\$maturity[[1]], riskfree=vix_nifty\$opt_next\$riskfree[[1]], carry=vix_nifty\$opt_next\$riskfree[[1]], type=vix_nifty\$opt_next\$type, strike=vix_nifty\$opt_next\$strike, underlying=vix_nifty\$opt_next\$underlying, schemes=c("spread", "elasticity", "vega"), bid=vix_nifty\$opt_next\$bid, ask=vix_nifty\$opt_next\$ask, traded_vol=vix_nifty\$opt_next\$traded_vol, tv_filter=TRUE) # Weighted average implied volatilities nifty_near_iv <- weighted_iv(prepped=nifty_near) nifty_next_iv <- weighted_iv(prepped=nifty_next) # Point estimates of VIXs nifty_vixes <- vix_pt(iv_near=nifty_near_iv, iv_next=nifty_next_iv) nifty_vixes ```