Discrete-time pricing and optimal exercise of american perpetual warrants in the geometric random walk model

Robert J. Vanderbei, Mustafa Ç Pinar, Efe B. Bozkaya

Research output: Contribution to journalArticlepeer-review


An American option (or, warrant) is the right, but not the obligation, to purchase or sell an underlying equity at any time up to a predetermined expiration date for a predetermined amount. A perpetual American option differs from a plain American option in that it does not expire. In this study, we solve the optimal stopping problem of a perpetual American option (both call and put) in discrete time using linear programming duality. Under the assumption that the underlying stock price follows a discrete time and discrete state Markov process, namely a geometric random walk, we formulate the pricing problem as an infinite dimensional linear programming (LP) problem using the excessive-majorant property of the value function. This formulation allows us to solve complementary slackness conditions in closed-form, revealing an optimal stopping strategy which highlights the set of stock-prices where the option should be exercised. The analysis for the call option reveals that such a critical value exists only in some cases, depending on a combination of state-transition probabilities and the economic discount factor (i.e., the prevailing interest rate) whereas it ceases to be an issue for the put.

Original languageEnglish (US)
Pages (from-to)97-122
Number of pages26
JournalApplied Mathematics and Optimization
Issue number1
StatePublished - Feb 2013
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Control and Optimization
  • Applied Mathematics


  • American perpetual warrants
  • Duality
  • Linear programming
  • Optimal exercise
  • Optimal stopping
  • Pricing
  • Random walk


Dive into the research topics of 'Discrete-time pricing and optimal exercise of american perpetual warrants in the geometric random walk model'. Together they form a unique fingerprint.

Cite this