Consider the payoff function \begin{align*} f(x)=\begin{cases} 3 & \text{if }x\leq 30, \\ 33-x & \text{if }30<x<35, \\ -2 & \text{if } x\geq35. \end{cases} \end{align*}

How would I find todays price of a European-style derivative paying $f(S_T)$ in terms of European put and call options? I am unsure about how to include the payoff functions of call and put options.

  • $\begingroup$ You should draw the payoff graph and then see how you could combine puts and calls to match it $\endgroup$
    – Slade
    Commented Sep 26, 2019 at 11:59
  • $\begingroup$ When I draw the payoff graph, and I get a bearish graph, it resembles a bearish put actually. But I'm having trouble understanding how to use that to find the price. $\endgroup$
    – Anon
    Commented Sep 26, 2019 at 12:01
  • $\begingroup$ It’s a put spread: long a 35 strike put, short a 30 strike put. If you can value each of these, the value of the structure is the former minus the latter. $\endgroup$
    – demully
    Commented Sep 26, 2019 at 12:14

3 Answers 3


If you plot the function $f$, you see that you have a bear spread. You can build such vertical spreads either with call or put options. For example consider a portfolio selling one put option with strike price $K_1=30$ and purchasing one European-style put option with strike price $K_2=35$. Then, you obtain the payoff \begin{align*} \max\{35-S_T,0\}-\max\{30-S_T,0\} &=\begin{cases} 5 & \text{if }S_T\leq 30, \\ 35-S_T & \text{if }30<S_T<35, \\ 0 & \text{if } S_T\geq35, \end{cases} \\ &= f(S_T)+2. \end{align*} Thus, you can replicate $f(S_T)$ if you sell two zero-coupon bonds (paying $1$ at maturity) and invest in the portfolio described above. Then, by the no-arbitrage principle, the time $t$ price of the payoff $f(S_T)$ is given by $$V(t,S_t)=P(S_t,35,T)-P(S_t,30,T)-2e^{-r(T-t)}.$$

Using the model-free put-call parity $P(S_t,K,T)=Ke^{-r(T-t)}-S_te^{-q(T-t)}+C(S_t,K,T)$, you can equivalently build a portfolio of European-style call options.

  • $\begingroup$ what would happen if the inequalities changed, say $S_T<30$, $30 \leq S_T \leq 35$ and $S_T > 35$? @KeSchn. Also, how did you get $f(S_T)+2$? $\endgroup$
    – Anon
    Commented Sep 26, 2019 at 12:19
  • $\begingroup$ It does not matter whether you have $\leq$ and $\geq$ or $<$ and $>$ because at the points $x=30$ and $x=35$ your values match, so you don't have jumps. If you compare the three different cases in the answer above to the three cases in your question, you see that you only need to add $2$ to all cases to arrive at the same expression. $\endgroup$
    – Kevin
    Commented Sep 26, 2019 at 12:25
  • $\begingroup$ Oh i see, is that why you added the 2 zero coupon bonds then? $\endgroup$
    – Anon
    Commented Sep 26, 2019 at 12:25
  • 1
    $\begingroup$ Thank you so much! $\endgroup$
    – Anon
    Commented Sep 26, 2019 at 12:36
  • 5
    $\begingroup$ @KeSchn they need to give you a medal for contributions to this site in such a short amount of time. Your knowledge base is also tremendous $\endgroup$
    – Slade
    Commented Sep 26, 2019 at 14:35

It would be much easier to start by writing the payoff using indicator functions. For example, \begin{align*} f(S_T) &= 3 \mathbb{I}_{S_T \le 30} + (33-S_T) \mathbb{I}_{30<S_T < 35} -2 \mathbb{I}_{S_T \ge 35}\\ &=3\big(1-\mathbb{I}_{S_T > 30}\big) + (33-S_T) \big(\mathbb{I}_{S_T > 30} - \mathbb{I}_{S_T \ge 35}\big) -2 \mathbb{I}_{S_T \ge 35}\\ &=3 + (30-S_T)\mathbb{I}_{S_T > 30} + (S_T-35) \mathbb{I}_{S_T \ge 35}\\ &=3 - (S_T-30)\mathbb{I}_{S_T > 30} + (S_T-35) \mathbb{I}_{S_T \ge 35}\\ &=3 - \max(S_T-30, \,0) + \max(S_T-35, \, 0). \end{align*}

  • $\begingroup$ Amazing! One question, can most payoff questions be solved in this way, that is, write payoff function in terms of indicator functions? $\endgroup$
    – Idonknow
    Commented Oct 19, 2019 at 4:55
  • $\begingroup$ @Idonknow: For non-path dependent payoffs, this approach should be applicable. $\endgroup$
    – Gordon
    Commented Oct 19, 2019 at 13:40

Here's another way to do it, that I think is useful if you don't recognize/have knowledge of specific option spreads/techniques. This might help you on exams or other problems, although recognizing the different option plays is probably easier.

First you start from the left of the payoff graph, and split the graph into segments, just like how the payoff function itself is split into segments: So there's:

  1. a horizontal segment of value $3$ (slope $0$) until $S_T = 30$
  2. a segment of slope $-1$ from $30 \leq S_T \leq 35$
  3. a horizontal segment of value $-2$ (slope $0$) for $S_T >35$.

So you know that 'no matter what' you have $3 \text{USD}$ at maturity, until something happens at $S_T = 30$, so we just make a portfolio that gives us just that for now. That'd be a long zero coupon bond that pays $3 \text{USD}$ at time $T$, so it's present value in the portfolio is just $3e^{-r(T-t)}$. So the payoff so far that we have constructed is just a horizontal line for all $S_T$.

From there, we know that something occurs to make the slope become from $0$ to $-1$ and that this happens at $S_T = 30$. So we know we need to add to our portfolio a payoff that has slope $-1$ beginning at $S_T = 30$ and value $0$ for $S_T < 30$. If you visualize the type of payoff this is, it's just a call payoff for strike $30$ flipped across the x-axis, so it's a short call position of strike $30$. So now we have a portfolio, $3e^{-r(T-t)} - C(S_t, 30, T)$, and this fulfills the first two segments of the graph since the payoff is $3 + \min(30 - S_T,0)$, which is $3$ below $S_T = 30$ and $33 - S_T$ above $30$.

For the final segment, we know that 'something occurs' at $S_T = 35$ to make the slope $0$ again. This must be something of slope $1$ (since a slope of $1$ and $-1$ will lead to $0$ slope) beginning at $S_T = 35$. So this is just the payoff of a long call position. So we have the final portfolio of $3e^{-r(T-t)} - C(S_t, 30, T) + C(S_t,35,T)$, which has the payoff $3 + \min(30 - S_T,0) + \max(S_T - 35,0)$.

Just to check each case: \begin{align*} f(S_T)=\begin{cases} 3 + \min(30 - S_T,0) + \max(S_T - 35,0) = 3 + 0 + 0 = 3 & \text{if }S_T\leq 30, \\ 3 + \min(30 - S_T,0) + \max(S_T - 35,0) = 3 + (30 - S_T) + 0 = 33- S_T & \text{if }30<S_T<35, \\ 3 + \min(30 - S_T,0) + \max(S_T - 35,0) = 3 + (30 - S_T) + (S_T - 35) = -2 & \text{if } S_T\geq35. \end{cases} \end{align*}

I know @KeSchn already answered but hope this helps since this is how I usually do these. Of course, you can do this multiple ways but this gets to a correct answer relatively quickly.

Edit: Gordon's answer is definitely the way to go if you're comfortable with indicator functions. It does everything the graphical methods do without requiring any visualizing etc


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.