There are many situations where call and put implieds do not match up. Usually this has to do with a poor assumption in the inputs to the options pricing model, like which dividends or interest rates to use.
Take this case study presented by Robert Morse on EliteTraders site. "BYND is very hard to borrow. The Sept ATM calls are 38.11 and the puts are 82.95. There is still put-call parity but the default rate of 1.68% (10 year T-bill). That is not accurate for this symbol. I'd have to put in my cost to short it. Then add extra because you can't get a locate."
Here's how we handle this situation. We create a residual yield rate to line up the calls and puts. For BYND the residual rate is the market's implied borrow rate.
For Robert's example, the Sep implied borrow is 63%. This lines up the call and put IVs to about a 55%.
When you have a systematic way to calculate borrow, you can compare (as Robert says) the implied borrow to your borrow rate.
You can also graph the borrow.
We graph the constant maturity borrow at 30 days and 2 years to expiration interpolated. Above is the borrow at 30 days.
Notice how borrow spikes when the stock runs up.
The residual rates data are available in our Data API that you can trial here.
The graph is a new feature in Wheel that you can trial here.