Choosing a Call Option to Maximize Return at a Target Price
Summary
The document frames option selection as a finite search over quoted calls: given a target stock price at expiration, calculate each contract’s profit relative to its premium and select the strike with the highest percentage return. For a discrete set of broker quotes, the stated objective is target-price payoff minus strike and premium, divided by premium.
It also derives a continuous-strike condition under Black–Scholes–Merton assumptions and constant implied volatility. At an interior optimum, a relationship between the stock’s current value, the target, and the model’s normal probabilities must hold; finding the strike then becomes a one-variable root-finding problem. This is a model-based formulation, not a software recommendation or empirical test. The result depends on the assumed target occurring at the relevant expiration, the quoted premiums, and model assumptions; it does not address transaction costs, bid-ask spreads, volatility changes, or other risks.
Key ideas
- For quoted calls, compare target-price percentage returns across available strikes.
- The discrete objective uses the target payoff net of strike and premium, divided by premium.
- Under constant implied volatility and Black–Scholes–Merton assumptions, a continuous optimum satisfies a root equation.
- The formulation omits trading frictions and depends on the assumed expiration price and model inputs.
Tags
Full text
# Finding optimal option to maximise gains under given price hypothesis
# Finding optimal option to maximise gains under given price hypothesis
Let's have Stock S at \$100 on January and my hypothesis is S will be trading at \$150 in July.
Is there any Python/R package that I can feed with option prices from my broker and it would return the optimal call option for my hypothesis? That is, the call option that would maximise return if my hypothesis becomes true (S gets to \$150 in July).
*New to options & programming here.
## Answer by Kermittfrog (score 2, accepted)
https://quant.stackexchange.com/a/70807
I do not know of any package that can solve your problem; but it seems to be a simple problem, in the end:
Given a 'future target price' $S^*$ (say 150 in your case) and a set of call options with quotes $C_1,\ldots, C_n$ with corresponding strikes $X_1,\ldots,X_n$, find $i\in [1,n]$ such that $(S^*-X_i-C_i)/C_i$ is maximized. Assuming constant implied volatility and a Black-Scholes-Merton world, you want to find $X$ such that
$$ \begin{align} \max_{X} \Pi(X)&\equiv \frac{S^*-X-C(X)}{C(X)} \\ &= \frac{S^*-X}{C(X)}-1 \\ \Rightarrow 0 &\stackrel{!}{=}\frac{\partial \Pi}{\partial X}=\frac{-C(X)+(S^*-X)e^{-r\tau}\mathrm{N}(d_2(X))}{C(X)^2}\\ \Rightarrow C(X)&=(S^*-X)e^{-r\tau}\mathrm{N}(d_2(X))\\ &\Rightarrow S\mathrm{N}(d_1(X))-Xe^{-r\tau}\mathrm{N}(d_2(X))=S^*e^{-r\tau}\mathrm{N}(d_2(X))-Xe^{-r\tau}\mathrm{N}(d_2(X))\\ &\Rightarrow S\mathrm{N}(d_1(X))=S^*e^{-r\tau}\mathrm{N}(d_2(X)) \end{align} $$
where $d_{1/2}=\frac{\ln S-\ln X +(r\pm\frac{1}{2}\sigma^2)\tau}{\sigma\sqrt{\tau}}$. The last equation represents a univariate root finding problem.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.