Discussion in 'Round Table Presentations' started by status1, Mar 18, 2017.
Please forgive my lack of experience. How do you know if the forward prices "make sense"?
There are three independent methods I know of that give useful information about the interest rates used in the chains. None of them work for short DTEs ... somewhere between 1.5 and 3 months is where they begin to give information ... but this is ok because the reason they don't give information is because for shorter DTEs the rates are having less significant impact on option pricing and risk management ... that is, by the time we can't get much information, we don't care much any more.
None of the methods has high precision.
In brief, the methods are:
Chart the chain's implied forwards by strike and tweak the rate until the line is flat. This is the easiest and most direct method. The resolution of the method is something like 10 bps for 3-4 month DTEs and 5 bps for 5+ month DTEs.
Calculate the chain's average implied rate from the matrix of parity diffs (j, k) = [F-X(j)] - [F-X(k)]. This is also easy for any particular chain, but the results are so twitchy that you need to chart the results as a time series to extract the central tendencies, which is a hassle.
If you have a handle on the PVDivs and you have a way of roughly feeling out the index arbitrage fair value diff for a particular chain's time stamp (for example, this is easy if you look at the chains for a bunch of DTEs side by side), then you can just tweak the rate until the chain's implied index price is roughly correct. This is a good method for casual tweaking if you have the numbers in front of you - then use method #1 for checking when desired.
So, what is going on with my API request from TD?
Not much. I sent request, few days later they replayed with back to fill, I filled it and that's it for now, I'm waiting.
I don't push this too hard as I'm working on something else, also additional research confirmed what was said here: no or limited access to historical data. Too bad. I would have to go with higher resolution so it limits my options.
And requirements for td API didn't change:
A TD Ameritrade account with either an account value of $500,000 or more OR 30 trades per quarter
Steve, were you able to verify that TOS is using a dividend yield of 0% and a fixed interest rate of 0.75% during market hours? Also were you looking at individually implied volatility or volatility smile approximation?
Yes, I verified during market hours. To do the initial reverse engineering you need to use vol smile so the parity relationship is there ... this can probably be used to bootstrap the IIV reverse engineering, but I have not tried that yet.
My current questions to any TOS user who cares to contribute are:
Can yield be changed/set by the user anywhere in TOS?
There is a place where interest rate can be changed, but this does not seem to flow through to the RTD data ... can anyone confirm or refute this?
With vol smile, do the RTD greeks match the screen greeks for real and/or simulated positions, or are they different?
Same question as #3, for IIV.
I have verified that The RTD "IMPL_VOL" follows the TOS setting of IIV and Vol Smile.
Good information Gary but I need the package of all Black Scholes inputs U,X,T,R,Y,V together and simultaneously ... the way to verify is to put on a position (both real position and simulated position, both vol smile and IIV are interesting separately), get the position greeks going with RTD on a spreadsheet, and confirm or refute that they are "exactly" the same as the Tos screen greeks (to within the accuracy possible) ... any way you could check that?
Maybe you can click the gear icon and then change the 'yield'?
Do I understand correctly you are trying to solve for 4 unknowns "likely" used by TOS? U,R,Y, & V? (kinda assuming they get T correct, X is not in dispute) My eyes glaze over with more than one unknown! -- I can fairly easily extract whatever set of RTD is desired (across a span of strikes/expiry's) -- If you think I can help; provide more details.
I should preface by saying that I am completely, 100% ignorant of TOS ... I just use the RTD, not the GUI ...
So this looks like the area where I changed the interest rate and it did NOT flow through to the RTD greeks ... but I would like to try the yield also ... but I'm not seeing how this would work for an index underlying. Can you give a wider screen shot of doing this for SPX, or if I can't do that then how do I get an option in there so I can change it for 1 option and see if it flows through to RTD?
No Gary, I can already solve for all the unknowns used by TOS RTD to within 0.001% ... that's the reverse engineering part ... what I'm trying to find out is if the RTD greeks are the same as the screen greeks.
P.S. Should have added to the previous post: If you are checking this then use your longest DTE position, or if a simulated position then use something like Sep or Dec ... that's where the yield/PVDiv thing will show up most obviously.
If you fill this out, I can run it now, and capture.
Below is entry in my script for identifying RTD to extract. This is applied to the complete request. Can do it for any/and/or all expirys.
The values separated by commas. are the codes supported by TOS for RTD. Or just type in the order and name you want, & I'll correct the spelling to match the RTD rqmt.
RTD.Fields:="BID, ASK, LAST, VOLUME, OPEN_INT, IMPL_VOL,.,";
I'm only interested in DELTA, GAMMA, VEGA, THETA, RHO ...
But it won't help for you to post numbers ... what I need is some hands-on expertise with TOS, for you to be looking at these RTD greeks on a spreadsheet calculated for a net position and comparing to the position screen greeks simultaneously ... my experience indicates that this can be done precisely after the close, and only imprecisely during market hours ... both captures are separately interesting and useful.
This may not be of interest, but I'm still guessing:
I pulled out the following for RTD on SPX just now:
RTD.Fields:="BID, ASK, LAST, VOLUME, OPEN_INT, THETA, GAMMA, DELTA, VEGA, IMMP_VOL, EXTRINSIC, INTRINSIC,RHO,STRIKE, EXPIRATION, DIV ";
The spreadsheet generated is attached. I copied the sheet and pasted the values as well, incase you don't see the RTD working.
Let me know if there is anyway I can help.
A typo in my entry for IV in above.
I have no indication that the greeks used for the analyze tab should differ from those fed to RTD, unless they are manually tweaked on the Analyze tab. The RTD greeks match the Trade tab greeks.
I analyze my positions externally (using RTD for Price only), and they do slightly differ from TOS, but I suspect it primarily due to the TOS derivation of IV, which I do not use. (I'm using one of your methods, which I prefer). - I'm still likely missing something!
I'm not at my computer right now to take a screen shot, but you can access the yield box on the Analyze tab by clicking the gear icon just above the simulated trades box near the bottom right hand of the screen.
I'm pretty sure this only changes the greeks on that screen and it will not flow through to RTD. This is all pointless if the TOS IVs are wrong anyways.
Did somebody say that you published a paper on this subject? I'd love to read it if you're willing to share.
It's not pointless because the whole project is just an egghead thing ... everything about TOS is pure junk to me except their raw chain bid/asks delivered via RTD, but I got involved in this reverse engineering project against my will. I'm going to try and catch up a little with the GUI so I can stop bothering you folks.
If you mean the subject of TOS greeks, "no", and that would be pretty funny as I'm the King of Ignorant on the subject ... but I did work out the reverse engineering and would be happy to share that with anyone who cares.
Do you have a paper you'd recommend for fixing up a chain and computing IV?
Yes, that would be www.dtsconsulting.net/white_papers/chain_bootstrap.pdf ... just be careful, if you get into it, not to get too immersed in all the interest rate stuff, as you can waste a lot of time there on something that is not too important for the DTEs that we mostly trade.
Ok Ryan and Gary, I got off my butt and figured out how to set up a simulated position in TOS. My observations are:
Changing the interest rate in TOS never flows through to RTD greeks.
Changing the yield in TOS never flows through to RTD greeks.
The RTD greeks are always vol smile greeks ... changing to IIV in TOS never flows through to RTD greeks.
If anyone reading this can get different results then please post ...
Assuming my conclusions are accurate, TOS RTD greeks are even more useless than I thought ... and separately, I hope all you TOS users are using a better rate than 0.75% and a MUCH better yield than 0% for your screen analytics.
In my opinion and from my observations your conclusions are correct.
Separate names with a comma.