What Is Put-Call Parity?
Put-call parity is a fundamental no-arbitrage relationship in options pricing. For European options on a non-dividend-paying stock, the price of a call (C) and a put (P) with the same strike (K) and expiry (T) are linked by: \(C + K\cdot e^{-rT} = P + S\), where S is the current stock price and r is the continuously compounded risk-free rate. If this equality is violated, a riskless arbitrage profit exists.
How to Use This Calculator
Choose which variable you want to solve for — call price, put price, stock price, or strike price — then enter the other known values. Enter the risk-free rate as an annual percentage (e.g. 5 for 5%) and the time to expiry in years (0.5 = six months). The calculator rearranges the parity identity and returns the missing value, along with the present value of the strike (\(K\cdot e^{-rT}\)).
The Formula Explained
The term \(K\cdot e^{-rT}\) discounts the strike to its present value using continuous compounding. The identity says that holding a call plus enough cash to buy the strike at expiry (a "fiduciary call") gives the same payoff as holding a put plus the stock (a "protective put"). Rearranging gives the solving formulas: $$C = P + S - K\cdot e^{-rT}$$ $$P = C + K\cdot e^{-rT} - S$$ $$S = C + K\cdot e^{-rT} - P$$ and $$K = \frac{P + S - C}{e^{-rT}}$$
Worked Example
Suppose a put costs P = 7, the stock trades at S = 100, the strike is K = 100, the rate is r = 5%, and T = 1 year. Then $$K\cdot e^{-rT} = 100 \times e^{-0.05} \approx 95.1229$$ The fair call price is $$C = 7 + 100 - 95.1229 \approx \mathbf{11.8771}$$
FAQ
Does this work for American options? Strict parity holds only for European options. American options may carry early-exercise premium, giving an inequality rather than equality.
What about dividends? This calculator assumes no dividends. With known dividends, replace S with S minus the present value of dividends.
Why use \(e^{-rT}\) instead of \((1+r)\)? It assumes continuous compounding, the standard convention in option-pricing models like Black-Scholes. Use \(\frac{1}{(1+r)^{T}}\) if you prefer discrete compounding.