  In this work we initiate the study of buy-and-sell prophet inequalities. We
start by considering what is arguably the most fundamental setting. In this
setting the online algorithm observes a sequence of prices one after the other.
At each time step, the online algorithm can decide to buy and pay the current
price if it does not hold the item already; or it can decide to sell and
collect the current price as a reward if it holds the item.
  We show that for i.i.d. prices a single-threshold online algorithm achieves
at least $1/2$ of the expected profit of the optimal offline algorithm and we
prove that this is optimal. For non-i.i.d. prices in random order, where prices
are no longer independent, we give a single-threshold online algorithm that
achieves at least a $1/16$ fraction of the expected profit of the optimal
offline algorithm. We also show that for this setting no online algorithm can
yield a better than $1/3$ approximation, and thus establish a formal separation
from the i.i.d. case. On the other hand, we present a threshold-based online
algorithm for this setting that yields a $1/2-o(1)$ approximation. For
non-i.i.d. prices no approximation is possible.
  We use the results for these base cases to solve a variety of more complex
settings. For instance, we show a $1/2-o(1)$ approximation for settings where
prices are affiliated and the online algorithm has only access to a single
sample. We also extend our upper and lower bounds for the single item case to
$k$ items, and thus in particular show that it is impossible to achieve
$1-o(1)$ approximations. For the budgeted version, where fractions of an item
can be bought, and gains can be reinvested, we show a constant-factor
approximation to the optimal offline algorithm's growth rate. In a setting with
$k$ item types and price streams, we achieve a $\Omega(1/k)$ approximation for
the unit-capacity case, which is optimal.
