A lot of people have questions about Bitcoins (fewer since the most recent bubble) and whether they’re a worthwhile investment. The answer should be obvious as the ludicrous amount of volatility in their price should be enough to disqualify it based on any sane notion of a Sharpe ratio; it’s become a game of calling tops and bottoms and that’s not a good environment to step into.
A lot of volatility, though — so what to do with that? You can buy it via vanilla options (there are some exchange solutions for this, but probably OTC) . That can get expensive though; if you don’t want to actively manage your position (which, for a long term investment, you probably don’t), you’re probably just going to end up buying pricey at-the-money calls and hoping that the price and vol cooperate with you. If you can buy a vanilla call, you still have to worry about timing though — with vol like this, an in-the-money option can become out-of-the-money very quickly. That means that you need to either exit (European call) or exercise (American call) your contract when you think the price is the best you’ll get — again, calling a top. Otherwise, the price can fall and make your option worthless again. Not great.
Let’s take a step back:
How do we protect ourselves from a bubble? In a bubble scenario, the price increases at an increasing pace over a wide swath of time before “popping” — crashing suddenly and without warning. We want to capture this positive movement across many days but shield ourselves from a sudden downward move on a single day. If we’re feeling really picky, we can even say that we want to capture all of these positive returns but never receive a negative return — that is, on any given day, only own Bitcoins if their price goes up that day. Then we would never experience losing days — at worst we gain $0. If this sounds too good to be true, it is if you’re getting it for free.
Cliquets (or ratchet options) offer solutions that vanilla puts and calls do not. A cliquet is a series of consecutive options, each beginning after the previous one ends e.g. a 100 day cliquet may consist of 100 consecutive daily options. They’re called ratchets because the daily strike price “ratchets” to the previous close.
This is the basic framework for one of these — you can add all sorts of conditions. The subtype I’ve been looking at is one of the more common ones: global cap local floor (GCLF) cliquets. I like to think of them as quasi-reverse swaptions — I don’t know if this is useful to anyone else. Deltaquants has a great writeup here.
How do these work? You start by specifying the strikes (the global cap and the local floor). Suppose I buy a 30 day BTC cliquet today (Mt. Gox rate is USD. Then our total payoff at the end of the period is capped at $100 (100% of $100). In addition, the day’s BTC percentage return is added to/subtracted from the cumulative payoff only if it is greater than the local floor: 0%. So if the price goes up, the price increase is added to the payoff. If the price decreases, no change is made for that day.
That should sound very useful but also very expensive. After all, you’re paying somebody to let you enjoy only the upside in BTC prices. This cost to the seller is mitigated by the global cap — in this scenario, he/she knows that he/she will only have to pay at most 100% on the $100. On the other side, the buyer knows that he/she will lost at most whatever he/she pays for the option. And so a price can be worked out.
(Side note: As Deltaquants points out at the above link, this payoff structure only makes sense when the global cap is less than the sum of all the possible local floor payments.)
The ability to price this is crucial; it determines whether this is a viable instrument or a purely academic exercise.
For now, let’s use a very basic Monte Carlo model. Let’s start with a simple (but useful) case: pricing a 30 day GCLF cliquet struck at GC=1 and LF = 0.
To do this, we need a model to simulate daily BTC returns. I was able to fit the return distribution over the last few years pretty well to a t location scale function in MATLAB (I’m assuming that the reader’s comfortable enough with vanilla option pricing).
Using the same distribution, we generate 30 random values representing 30 days of BTC returns. From these simulated returns, we get a simulated payoff: how much the cliquet would have profited for the buyer. By averaging this process over 10,000 iterations, we can determine an expected value for the payoff. The value I get from this is 0.703 .
So I would pay at most the BTC value of $70.30 for the right to make at most the BTC value of $100 USD on the settlement date. My maximum loss is the $91 I paid for the option.
You can change numeraire to avoid dealing in dollars — be careful not to add any currency risk you don’t want.
In the next post, I’ll talk about the Monte Carlo simulation in more detail, as well as price sensitivity to choice of the global cap, the local floor, and the timeframe of the cliquet.
Just a quick preview: using the same method, I arrive at a price of .82 when the global cap is raised to 200% and the other parameters are held constant — seller risks twice as much, but the buyer only pays marginally more; obviously, a much better deal for the buyer and a worse deal for the seller.
edit: typo and notional currency switch