Comment on page
How trading works
This page describes how trading works at Charm.
By applying a prediction market scoring rule to the options world, Charm has invented a new model for options creation, pricing, trading, and settlement. This model powers a new type of AMM that can offer cheap options and high profits for traders.
This page describes how options are created, priced, traded, and settled.
Charm offers European-style call options, put options and covered call options — they can be traded and settled, and behave in the same way as options you see elsewhere. Options are created from spreads, and spreads have the following mathematical properties*:
* From a probabilistic perspective, this mathematical property means that events resulting in each spread being profitable (or in-the-money) are analogous to the outcomes of events in a prediction market, where the sum of the probability of each outcome is equal to 1. For example, for a given strike price and maturity, the total probability of spread 1 being in-the-money, and the other 3 spreads being in-the-money, is always equal to 1.
The spreads above are then combined in different ways to create the different type of options on offer. For example, spread 4 (which is itself a call options) can be combined with spread 3 to form a call option with a new strike price, which can then be combined with spread 3 to form another call option, and so on... This is illustrated below:
To prepare the markets for trading, LPs will deposit a certain amount of liquidity (as described in the next section) to ensure the AMM's can fulfil its payout obligations regardless of the trading condition.
Charm Treasury will then deposit these funds into the options markets smart contract to create the initial batch of spreads and therefore, the first options for the markets to trade.
To price options, Charm uses a scoring rule frequently found in prediction markets. This rule is not a static formula (eg Black Scholes), an approximation (eg Black’s approximation), or a model (eg Binomial Trees); It is instead a price function that aggregates the collective wisdom of all traders, based on the total supply and demand of an option.
To apply prediction markets to options, Charm uses a price function (described in Hanson et al) derived from the LMSR cost function. The inputs to this function are the quantities of options traded at Charm, and our litepaper provides an illustrative example of how the quantities are translated into prices using a price function*.
*The Litepaper describes the LS-LMSR price function instead of the LMSR, but the principle of how the price is calculated is the same. These nuances are explained further in our mainnet update article.
This price function was chosen because:
- 1.The sum of the prices calculated by the price function for each option pair (eg the price of call with strike price 640, and a Sell Call with strike price of 640), is always equal to 1. This means there will always be enough ETH or USDC held by the AMM to return to sellers after a sale, or to meet settlement payouts.
- 2.The above also means there are more certainty over their gains and/or yields. For example, if a user buys covered calls priced at 0.9 ETH, there will be a guaranteed yield of 11.1% in ETH if the settlement price is less than the strike price. This certainty allows more intuitive ways to manage risk (see next section); easier ways to arbitrage (to be discussed in a later article); and more scope to create efficient markets, so that options can be even cheaper and/or more profitable.
- 3.Prices respond to absolute changes in the quantity of options purchased. This means changes in slippage will remain constant throughout the life of an options market, regardless of the trading activity. This additional certainty will be more conducive of an efficient/competitive market, which means trading options on Charm can be even cheaper and/or more profitable.
- 4.A small amount of funding from LPs is required to bootstrap a fully functioning options market that uses the LMSR price function, and this provides a more more capital efficient way to contribute seed liquidity. As a result, more option markets can be created for any given amount of seed liquidity.
- 5.The cost function that can be derived from the price function can calculate the exact amount of seed liquidity required to operate at a desired level of slippage — this means a single pool of funds can bootstrap multiple markets at the same time, and these markets can function immediately at a desired level as soon as it opens for trading.
The key drawback of the LMSR price function is that the liquidity parameter (aka ‘b’) is a constant, and option markets with a small ‘b’ will require less seed liquidity, but will operate at a higher slippage if the trade volume is low. The opposite will apply for large b.
The innovations we have described in our article overcome the drawback described above. This is because all the option markets belong to a single pool, and as a result, each market will have access to the LP liquidity provided for the whole pool. This means the LP have essentially used the same amount of liquidity to seed all the options markets and as a result, the slippage will be much lower than if the markets cannot be merged into a single pool.
After the price of options are determined by Charm, all subsequent price movements will depend entirely on the quantity of each options bought or sold by the market.
Unlike other DEXs with similar functionalities, Charm works in a completely different way. The key differences and their benefits for traders are summarised below:
- The price of an option is always between 0 and 1 for the calls market, or between 0 and the strike price for the puts market. The higher the price, the higher the probability that option will be profitable on expiry date. For example, as more calls are being bought, the call price will increase, which indicates the market’s belief that calls are more likely to be profitable on expiry date.
- The price of calls and covered calls with the same strike price and expiry date, will move in opposite directions due to the equations in section 1. This means a higher price for calls will imply a lower price for covered calls, and vice versa. Puts and covered calls (or Sell Puts) follow a similar reasoning.
The properties above are what allows price discovery to take place using only supply and demand, which means Charm can offer cheap options without adversely affecting the options’ fair value.
The second property also means Charm can support a simple and efficient front end, that allow users to trade quickly and easily. A walkthrough of a trade that cannot be placed using this front-end is provided in our Trading Tutorials.
In addition, users can realise their profits at any time by selling their options so that they can profit from both the intrinsic and time value of options. There is no need to wait until settlement date to receive the payoffs.
As described in section 2, the Charm price function ensures there will always be sufficient ETH or USDC held by the AMM for settlement purposes. On settlement date, the payoffs are calculated by the AMM, and collected by the user in the following manner:
- To exercise an option, the settle() method can be called by anyone to fetch the settlement price, and the profits will be calculated for everyone using the relevant option’s payoff profile, as illustrated below:
- Each option holder can call a redeem() method at any time to collect their payoff, which will also trigger the smart contract to burn their options. There is no need to worry about forgetting to exercise on expiry date, as in-the-money options are automatically exercised and the payoff can be collected at any time.
Charm is a breakthrough AMM that can create liquid options on the blockchain. It works in a completely different way and offers a range of unique benefits for both liquidity providers, and for traders. This page discussed how trading works at Charm. Liquidity Provision will be discussed in the next page.