I recently retrieved a large amount of European option data, for call and put prices, from OptionMetrics. Doing so for the same time period I get a file consisting of
62558 rows of call prices & 62557 rows of put prices
Additionally, both files contain on each row some characteristics such as
- The option ID
- The date of the price
- The expiration data of the option
- Bid/Ask price
- Strike price
As the option ID's do not match between the call and put options, I am wondering what the best way is to synchronize these data sets? This is needed for instance to calculate the pull-call parity; in that case I need for every call price a corresponding put price.
My suggestion is to look at the strike price, date of option and expiration date and when those match to treat the put and call option as similar, i.e. they belong together. I tried this and immediately noticed that in some cases the corresponding strike price is different for the one or other, even when the dates and expiration dates match.
- What are other ways to match the put and call data?
- As the number of rows didn't match, some call options will not have a corresponding put price or vica versa, why is this?