CVIX - Cryptocurrency Volatility Index

Cryptocurrencies as an asset class are highly unstable relative to modern financial markets such as the SP500 and liquid commodity markets such as oil given that fluctuations in cryptocurrencies such as Ethereum may exceed 20% over the course of a day.

A volatility index can act as powerful predictor of the range of an asset fluctuation going into the future.

The usefulness of the VIX to the market itself is that it can predict with great accuracy the range of the distribution over the course of the next month. If we take the VIX introduced at the CBOE in 1993, then divide by the number of months in a year sqrt(12). We can see that in the next month there is a 92.2% chance it will not move below the VIX range for the US SP500 market. Exceptions to this rule are financial crashes and black swans.

We can see that on a day-to-day basis the VIX gives us a good idea of what range the market is going to trade in over the course of the next month.

Accuracy of VIX Value is derived from Option Prices

The reason for the accuracy of the VIX stems from the option market wherein millions of option writers/sellers price their options. When option writers are very concerned about the range of the market, they demand higher prices for their options because if the market fluctuates too much, it can cause an option to be exercised, resulting in a loss to the option writer/seller. The VIX index, carrying inputs from put and call option prices on the market, tends to increase as a result of this uncertainty, usually in the opposite direction of the market.

VIX is a function of option prices.
The CBOE provides the VIX derivation here

Tom Arnold and John Earl provide an approach for calculating the VIX for any asset here . This same methodology, shown here, can be used to construct a VIX for cryptocurrencies. If one ignores the risk free rate, which is close to zero anyways, then the VIX for a cryptocurrency can be derived within a smart contract and live on the blockchain itself without the need for any oracles.

1"cvix_dependencies": {
2  "call_option_prices": "10@1000 40@900 80@800 90@700",
3  "put_option_prices": "50@600 40@500 20@400 10@300 5@200"
4}

The CVIX would depend on the prices of the option contracts @ certain strike prices living on the blockchain itself. To price the options without price feeds or oracles one can use stablecoins since this allows one to circumvent the need to settle anything in fiat.

Decentralised Options on Blockchain

Dennis Peterson has demonstrated that options for cryptocurrencies can be created on the blockchain by settling in other crypto tokens. If the other crypto token is a stablecoin, then one gets paid the price equivalent in fiat. For a call option exchanging two tokens:

contract EthCall { 
    address optionSeller;
    address optionPurchaser;
    token public asset;
    uint tokenAmount;
    uint OptionPrice;
    bool exercised;
    uint deadline;

    function EthCall (address owner, token asset, uint tokenAmount, uint optionPrice, uint numDays) {
        optionSeller = msg.sender;
        asset = asset;
        tokenAmount = tokenAmount;
        OptionPrice = optionPrice;
        deadline = block.timestamp + numDays days; //using block.number probably better
    }

    function buy() {
        if (optionPurchaser != nil) throw;
        if (msg.value < OptionPrice) throw;
        optionPurchaser = msg.sender;
        if (!optionSeller.call.value(msg.value)()) throw;
    }

    //to exercise the put, purchaser sends the tokens and gets the ether
    function exercise() noeth {
        if (exercised) return;
        if (msg.sender != optionPurchaser) return;
        if (block.timestamp > deadline) return;
        exercised = true;
        if (!asset.transferFrom(optionPurchaser, optionSeller, tokenAmount)) throw;
    }

    function buyerGetEther() noeth {
        if (!exercised) return;
        if (msg.sender != optionPurchaser) return;
        optionPurchaser.call.value(this.balance)();
    }

    function sellerReclaimEther() noeth {
        if (exercised) return;
        if (msg.sender != optionSeller) return;
        if (block.timestamp <= deadline) return;
        optionSeller.call.value(this.balance);
    }

    function () { throw; }  // Prevents accidental sending of ether
}    

This call option can be priced and settled in stablecoin such as Dai, which can allow for the calculation of CVIX which uses option prices as inputs.

Trading the CVIX - Going a Layer Deeper

As the CVIX is created, it can act as a tradeable instrument by itself. In fact, people can create contracts betting on the rise and fall of the CVIX in Gnosis similar to the financially popular CBOE futures and options markets for the VIX today. Cryptocurrency holders can purchase insurance against rapid declines in their cryptocurrencies by buying call options on the CVIX and participants believing in reduced volatility in the future of cryptocurrencies can write such call options.

The Benefits of building the CVIX include:

The ultimate goal of this project is to be able to have a CVIX index visible to all market participants on sites like coinmarketcap at the very top of the tab similar to how the VIX today is being gauged by market participants as the "fear" index in the US financial markets.