๐Ÿ’งMaker Points

Definitions

TermDefinition

Maker Score

Dynamic score for each Maker based on quality of quotes and recent maker volume (as measured by Quote Quality and Maker Volume Score)

Maker Point Share

Determines the share of the Maker from the total points allocated to the instrument within a small timeframe. It is calculated as the share of a Maker score from the total score of all Makers

Quote Quality

Dynamic USD value calculated for each Maker to assess the quality of provided liquidity. It is calculated as the exponential moving average of Sample Quote Quality

Maker Volume Score

Dynamic score that takes into account recent maker volume of the wallet and decays exponentially over time

Volume weight

Power weight assigned to the maker volume in the Maker score formula. The remaining weight is assigned to the quote quality

For each instrument, each wallet is assigned a dynamic Maker Score which is calculated as the (power) weighted product of the Quote Quality and the Maker Volume Score :

Makerย Score=(Quoteย Quality)1โˆ’Volumeย Weightย โˆ—ย (Makerย Volumeย Score)Volumeย Weight\text{Maker Score}=\text{(Quote Quality})^{1-\text{Volume Weight}}~*~\text{(Maker Volume Score)}^{\text{Volume Weight}}

where Volumeย Weight\text{Volume Weight} is a pre-defined weight parameter. It is equal to :

  • 80% for Tier 1

  • 70% for Tier 2

Calculating the Quote Quality

TermDefinition

Quote Quality

Dynamic USD value calculated for each Maker to assess the quality of provided liquidity. It is calculated as the exponential moving average of Sample Quote Quality

Sample Quote Quality

Minimum of Sample Bid and Ask Quality

Sample Bid/Ask Quality

USD value that assesses the equality of quotes on the bid and ask side depending on the quote sizes and their distance from mid-price (order depth)

Scaling factor

Factor used to scale the order size down exponentially depending on its depth

For a wallet with a number of open buy and sell orders on a given instrument, Sample Quote Quality is calculated as

Sampleย Quoteย Qualityย =Weightย onย Minโˆ—minโก(Sampleย Bidย Qualityย ,ย Sampleย Askย Quality)+(1โˆ’Weightย onย Min)โˆ—maxโก(Sampleย Bidย Qualityย ,ย Sampleย Askย Quality)\small\text{Sample Quote Quality }=\text{Weight on Min}*\\\min( \text{Sample Bid Quality}~,~\text{Sample Ask Quality})+(1-\text{Weight on Min})*\\\max( \text{Sample Bid Quality}~,~\text{Sample Ask Quality})

i.e. Sampleย Quoteย Quality\small\text{Sample Quote Quality} is a weighted average between the min and the max of the Sampleย Bidย Quoteย Quality\small\text{Sample Bid Quote Quality} and Sampleย Askย Quoteย Quality\small\text{Sample Ask Quote Quality}

where : Weightย onย Minโ€‹=70%\small\text{Weight on Min}โ€‹=70\% which incentivizes two-sided quoting

{Sampleย Bidย Quality=โˆ‘Buyย ordersย biย Size(bi)โˆ—expโก(โˆ’scalingย factorโˆ—Quoteย Depthย ofย bi)Sampleย Askย Quality=โˆ‘Sellย ordersย siย Size(si)โˆ—expโก(โˆ’scalingย factorโˆ—Quoteย Depthย ofย si)\begin{equation*} \small \begin{cases} \text{Sample Bid Quality}=\sum\limits_{\text{Buy orders }b_i} \text{ \text{Size}}(b_i)*\exp\Big(-\text{scaling factor}*\text{Quote Depth of }b_i\Big)\\\\ \text{Sample Ask Quality}=\sum\limits_{\text{Sell orders }s_i} \text{ \text{Size}}(s_i)*\exp\Big(-\text{scaling factor}*\text{Quote Depth of }s_i\Big) \end{cases} \end{equation*}

where the Order Depth is calculated as the distance from mid-price (average between the best bid and best ask on the market) expressed in bps :

Quoteย Depth=โˆฃQuoteย Priceย -ย Orderbookย Mid-PriceโˆฃOrderbookย Mid-Priceโˆ—10,000\text{Quote Depth}=\frac{|\text{Quote Price - Orderbook Mid-Price}|}{\text{Orderbook Mid-Price}}*10,000

i.e. each order is weighted with an exponential term that penalises distance from mid-price.

Example

The following example is based on an assumed scalingย factor=0.3\text{scaling factor}=0.3

Order Depth (bps)Scaling

0.5

86%

1

74%

5

22%

10

5%

The first chart below shows an example snapshot of a walletโ€™s open orders as well as the scaling function for different price levels. In line with the definitions above, the scaling function is : expโก(โˆ’scalingย factorโˆ—Quoteย Depth)\small\exp\Big(-\text{scaling factor}*\text{Quote Depth}\Big)

After applying the scaling to each of the orders, the chart below shows the Adjusted Order Sizes, i.e. : Adjustedย Quoteย Size=Quoteย Sizeexpโก(โˆ’scalingย factorQuoteย Depth)\small\text{Adjusted Quote Size}=\text{Quote Size}\exp\Big(-\text{scaling factor}\text{Quote Depth}\Big)

Summing up Adjusted Order Size by side gives the Sample Bid and Ask Quote Quality illustrated in the chart below :

Assuming Weightย onย Min=70%\small\text{Weight on Min}=70\%, a Sample Quote Quality is then determined at this sample timestamp :

โŸนย ย Sampleย Quoteย Qualityย =Weightย onย Minโˆ—minโก(Sampleย Bidย Qualityย ,ย Sampleย Askย Quality)+(1โˆ’Weightย onย Min)โˆ—maxโก(Sampleย Bidย Qualityย ,ย Sampleย Askย Quality)โ‰ˆ42,894ย USD\small\Longrightarrow~~\text{Sample Quote Quality }=\text{Weight on Min}*\\\min( \text{Sample Bid Quality}~,~\text{Sample Ask Quality})+(1-\text{Weight on Min})*\\\max( \text{Sample Bid Quality}~,~\text{Sample Ask Quality})\approx42,894~\text{USD}

The Quote Quality is a moving average of Sample Quote Quality. This chart shows an example of the variations in the Quote Quality from a illustrative data set of Sample Bid/Ask Quality (assuming here a 20% weight on the latest measurement)

i.e. for consecutive update timestamps tit_i and ti+1t_{i+1} (where ti+1=ti+10ย secondst_{i+1}=t_i+10\text{ seconds} ) :

Quoteย Quality(ti+1)=20%โˆ—Sampleย Quoteย Quality(ti+1)+80%โˆ—Quoteย Quality(ti)\text{Quote Quality}(t_{i+1})=20\%*\text{Sample Quote Quality}(t_{i+1})+80\%*\text{Quote Quality}(t_{i})

Orders will be subject to a Maximum spread (e.g. 20bps) : Orders with a higher depth than the maximum spread will be discounted from the Quote Quality calculation

Calculating the Maker Volume Score

TermDefinition

Maker Volume Score

Dynamic score that takes into account recent maker volume of the wallet and decays exponentially over time

Decay factor

The factor by which the maker volume score decays exponentially over time

The scoring mechanism defines a dynamic score that increases by recent maker volume and decays exponentially over time.

For a given market, the maker volume score is calculated as follows :

Makerย Volumeย Score=Previousย Makerย Volumeย Scoreโˆ—expโก(โˆ’decayย factorย โˆ—ย timeย sinceย lastย update)+Makerย Volumeย sinceย lastย update\small\text{Maker Volume Score}=\text{Previous Maker Volume Score}*\\\exp(-\text{decay factor}~*~\text{time since last update})+\text{Maker Volume since last update}

where time is expressed in days.

A common way to think about exponential decay is in terms of half-life, which quantifies how fast the decay is occurring. The half-life is the time required for the decaying quantity to be reduced to half its initial value :

Half-life=logโก(2)decayย factor\text{Half-life}=\frac{\log(2)}{\text{decay factor}}

Example

In Tier 1 pool, the maker volume score has a half-life of 30 minutes i.e. a daily decay factor of 33.27 (expโก(โˆ’33.27โˆ—3024โˆ—60)โ‰ˆ50%\exp(-33.27*\frac{30}{24*60})\approx50\%)

  • Decay Factor = 33.27 : i.e. In the absence of maker volume from wallets, the score decays by expโก(โˆ’33.27โˆ—numberย ofย hours/24)\small\exp(-33.27*\text{number of hours} / 24) over time. This means that :

    • The score drops by 1โˆ’expโก(โˆ’33.27/(24โˆ—60))โ‰ˆ2.28%\small1-\exp(-33.27/(24*60))\approx2.28\% over 1 minute and

    • The score drops by 1โˆ’expโก(โˆ’33.27/24)โ‰ˆ25\small1-\exp(-33.27/24)\approx25% over 1 hour

TimeMakerVolume (USD)

00:00:00

Alice

10,000

00:20:00

Bob

20,000

00:40:00

Alice

5,000

01:00:00

Charlie

15,000

02:00:00

Alice

5,000

03:00:00

Bob

8,000

Calculating the Maker Score and Point Shares

TermDefinition

Maker Score

Dynamic score for each Maker based on quality of quotes and recent maker volume (as measured by Quote Quality and Maker Volume Score)

MakerPoint Share

Determines the share of the Maker from the total points allocated to the instrument within a small timeframe. It is calculated as the share of a Maker score from the total score of all Makers

The Maker Score and Maker Point Share for a given Maker are calculated as follows :

Makerย Score=(Quoteย Quality)1โˆ’Volumeย Weightย โˆ—ย (Makerย Volumeย Score)Volumeย Weight\text{Maker Score}=\\\text{(Quote Quality})^{1-\text{Volume Weight}}~*~\text{(Maker Volume Score)}^{\text{Volume Weight}}

where Volume Weight is equal to :

  • 80% for Tier 1

  • 70% for Tier 2

Makerย Pointย Share=Makerย ScoreTotalย Scoreย ofย allย Makers\small\text{Maker Point Share}=\frac{\text{Maker Score}}{\text{Total Score of all Makers}}

Using the example of Maker Volume Scores above, and an assumption that the Quote Quality for each of the 3 wallets has been constant over the whole timeframe and has been equal to 10,000, the Maker Score is obtained as the weighted product of the Quote Quality and Maker Volume Score :

Using the above Maker Scores, the following chart shows the Point Share of each liquidity provider over time:

Taking a further assumption that the Maker share for ETH-USD-PERP from the Tier 1 pool is a constant 50%, the total hourly number of points allocated to this market for the Maker program is :

  • Total weekly allocation is 1โ€™000โ€™000 points. This is equivalent to an hourly allocation of 1โ€™000โ€™000 / (7 x 24) ~ 5โ€™952.4 points

  • 80% of this hourly allocation is available to Tier 1 pool, i.e. ~4โ€™761.9 points

  • 30% of the hourly Tier 1 allocation is available to the Tier 1 Maker program, i.e. ~1โ€™428.6 points

  • 50% of this hourly Tier 1 Maker allocation goes to ETH-USD-PERP, i.e. ~714.29 points

Therefore, 714.29 points is the total hourly number of points available to ETH-USD-PERP Makers.

From the Point Share which corresponds to the rate of accruing points, the cumulative points for each wallet (accumulated points since time 0) have been derived.

Note that Alice earns 238 points between 0:00:00 and 0:20:00 (i.e. a the rate of 714.29 points per hour) since the point share of this wallet was 100%. After Bobโ€™s trade and score increase, Alice points share dropped to ~36% which decrease the rate of earning points of Alice to 0.36 * 714.29 ~ 257.1 point per hour.

Below the total points distributed across wallets. Points are distributed at the rate of ~714.28 points per hour :

Last updated