Hello, I wonder if it is possible to calculate from daily bars what a specific strike prices bid/ask/last values could have been when the underlying price was at a certain level During that day. For example if we at the end of the day in AAPL see those values for the underlying: Last: 117 Open: 116.79 High: 117.28 Low: 115 Then we look at the values for Strike 114 at the end of this day: Bid: 0.61 Ask: 0.63 Last: 0.62 Delta: -0.28 Would it be possible to "compute" what the LAST value for this strike 114 was when the underlying was at price: 115 during the day? I know it probably perheps isn't possible to get an exact value but is there anything we can do to get as close as possible?
Of course, just recompute the value of the option w/ the underlying at a different level, but using the vol computed from the EOD prices.
IMO: (1) Assuming you have the time (dte), underlying price, Interest, and Dividend precisely accounted for: the error in the calculation will be a function of the error in the value of the "volatility" value you use (assuming a BSM like equations) (2) Regarding "LAST", you probably do NOT know the time that trade occurred, so this can add error. If you are looking for precision in the option pricing throughout the day, then this approach has some issues. If you can tolerate "ball-park" numbers, then you can estimate the IV input at the high and low price points of the underlying by also making use of the High/Low prices of the "VXAPL". (low price may occur near high value of VXAPL, and visa-versa) {I am NOT stating you should directly use the VXAPL numbers, as that is merely the 30DTE metric} Developing your own Volatility Surface using available data, can improve the accuracy. There is more data sources avail for SPX than most other securities however (not sure how you can properly model Contango IV on AAPL due to no terms other than the VXAPL 30DTE). Producing an accurate Volatility Surface, from which to extract the appropriate IV for the specific Strike and expiration is a difficult task, and may never approach the precision you require. It is nice to see you digging into the details to reduce as much error as practical. I am also in similar position, so please do not take my comments as negative criticism. Revision ERRATA: Ignore my comments above about Contango, as you ARE using EOD option prices, so that was bad info. However, you may find that you are able to produce reasonable High and Low IV number (to coincide with the Low, and High underlying price points) by some scaling to the VXAPL data.
>> then you can estimate the IV input at the high and low price points of the underlying by also making use of the >> High/Low prices of the "VXAPL". I wonder there if the "VXAPL" is neccesary? I am thinking of if having 40 stocks/etfs to only use those symbols to figure out the option price? If I then understand, we could make use of the BSM to let X in the equation be the option price? Isn't the problem then still that we need to know the IV at high and low of the day where we need to put in what the option price was at high and low for the underlying in the BSM equation to return the IV at those points or perheps the "VXAPL" will has the approx IV values at its high and low which should be used, I still then wonder a method for all 40 symbols? >>It is nice to see you digging into the details to reduce as much error as practical Yes, I think this is very important. To be able to compute as accurate prices as possible will be one of the very important details. The idéa would be not be exact from trade to trade but quite close anway. So in the end we hopefully can get option prices that are +/-/0 to give an average around 0 error(if possible)
My interest lies primarily with SPX for a number of reasons. Also, I observe IV on SPX options are related, so if VIX increases, all options tend to also increase (there can be momentary lags, and poor liquidity on some of the contracts that can cause some to lag or ignore VIX changes for a bit). IF I understand you correctly (correct me if I'm wrong), you are using the closing price of the option to determine the IV for each option, then using that as a constant IV for the duration of that day. Assuming the high and low IV is same as closing IV injects error. If you use VIX for SPX, or VXAPL for AAPL, you can approximate the High and Low IV for each option by adjusting the derived closing IV accordingly. -- It is unclear, how you would otherwise account for the IV changes during the day. Ignoring volatility during the day should be fine as long as you don't need to account for High/Low prices that do not occur on the close. <-- Not sure I described this well! Note: VXAPL is the 30day IV for AAPL, so it will relate to the IV of the options that have high liquidity. IF some of the stocks or ETF's have high Beta with SPX, then you may get by with using VIX to tweak for the High/Low of the day, by scaling your computed EOD IV with it. You probably want to examine if the accuracy VIX vs the iv of your underlying is adequate for your needs. -- May be easier to just not attempt this kind of testing where you don't have the Volatility data. I hope you find a very precise and accurate algorithm for this and will teach it to me (predicting IV during the day)
I use the Midpoint between Bid-Ask as the option price to determine the IV for each option. But I don't use that as a constant IV for the duration of that day. I thought of that to that the high and low IV is not the same which would be the entire problem. As you say, it seems that we need the appropriate Volatility index for the symbol in question where we can correctly extract the IV as precise as possible. The thing I think of here is in the case with all 40 symbols to have a volatility index for each will be a big job. Also thinking of that a volatility index perheps doesn't exist for all those symbols. (Those symbols should be the most liquied for options). At the moment I am a little stuck how to do with all those symbols (scratching my head) If I can find a way, I would be happy to give a solution to you on that.
You want the easy way or the 'takes a bit more work'-way? Firstly, the last price in anything is the one last traded... since options trade less frequently, the last traded price usually will not match the theoretical price of the option at a certain underlying level... So, instead of calling it 'last', you're looking for the theoretical value of the option at stock-level x.xx Short way in this case, use the delta. So assuming the last traded price was around the last traded price of AAPL (I assume that since last is in the middle of the current bid-ask), the theoretical price of the option linked to underlying price of 117 is 0.62 So with AAPL at 115 (2 lower) the put is worth 0.62 + .28*2 = 1.18 With AAPL at 114, value is 1.46. Of course this is wrong, since at 114, the 114 put has a delta of -.50.. so the values are higher than in the 'easy' way. A different, still easy way, is take the average delta. So at 117 delta is -.28 at 114 delta is -.50. Average is -.39. So at 114 underlying, the put is worth 0.62 + .39*3 = 1.79 The correct way... is using an option model with the correct inputs of IV, interest rate, time-to-exp, dividend, possible short stock rate... skew...
The IV input is easy to extract by 'reverse engineering'. Give me the Expiry date and I will give you the correct one... Wait, it's tomorrow right? So IV will be around 25.5?
Oops, my bad... obviously not tomorrow, since you were talking about the 114 put and not the 117... so that should be next week... ATM vol of about 22 and strike vol about 25.2?