# Trading Reward Programme

Consider the following notation:

Term | Definition |
---|---|

$R(h)$ | Reward for a specific trader h. |

$R$ | Total Trading Reward for the epoch for the respective product. This reward will be split amongst all traders, with allocation dictated by a formula. |

$f$ | Fees paid by the trader on this product over the epoch. |

$w(h)$ | The score of the particular trader h over the epoch. |

$d(h)$ | A trader’s average open interest measured as every minute (at random) across all markets for a given product over this epoch. |

$k$ | Total number of traders in this epoch. |

$alpha$ | A constant which balances the geometric weight between fees versus open interest. The value is set at 0.7. |

**Futures/Perpetuals**

**Futures/Perpetuals**

The formulas for calculating rewards for trading are as follows. Each trader $h$:

$w_h= f_h^{\alpha} \times d_h^{1-\alpha}$

$R_h= R \times \frac{w_h}{\sum_n w_n}$ with $n = 1, 2, ..., k$

The total reward '$R$' is in PB tokens.

The formula for '$R_h$' specifies how the reward for that period is split amongst all participants. This is like game theory: if you are the only player in town, you get all the bounty, so long as you have at least a bit of an open interest over the period and at least done some trading.

For more participants, it splits the bounty proportionally to their

**level of participation,**measured as a function of fees and open interest as described by the formula.

**Options**

**Options**

Notice that for Options, the open interest is measured as follows every minute by:

$d_h,_{min} = \sum_{i=1}^n \sum_{j=1}^m \{O(C,K_i,T_j)+ O(P,K_i,T_j)\}$

$d_h=\sum_{j=1}^J d_{min}(j)$

The time of snapshotting the open interest is **random** over the minute, so to avoid any systematic bias.

Net the Open Interest by strikes and expiries, for each call and put: $O(C,K_i,T_j) = abs(netPosition(C,K_i,T_j))$ $O(C,K_i,T_j) = abs(netPosition(P,K_i,T_j))$ Where Open Interest refers to the net Notional Value of the particular option.

So for each strike, expiry and call/put category, net the positions and take absolute value (assuming we are indifferent to net long/short).

Client Total Open Interest:

Open interest, sampled every minute: $d_h,{min} = \sum{i=1}^n \sum_{j=1}^m {O(C,K_i,T_j)+ O(P,K_i,T_j)}$ measured as an average over every minute across the month/14 days (sampled randomly in every minute).

$d_h=\sum_{j=1}^J d_{h,min}(j)$ where J is the total number of minutes over the period (14 days ).

$f_h$ = total fees$ paid over the month/14 days, but fees taken in absolute value.

$\alpha= 0.7$

Trader score $w = f^{\alpha} \times d^{(1-\alpha)}$

Portion of reward per trader:

$R_h= R \times \frac{w_h}{\sum_n w_n}$ with $n = 1, 2, ..., k$

Rationale for the way to account for options: a long call/short put same strike results in a synthetic forward, so Put/Call cannot be accounted for in same bucket.

Likewise for calls with same expiry and different strikes: they represent a "spread" which means they are valid trades, not netting out. Similar for calendar spreads.

By taking into account all products, we are incentivising traders to have positions across all strikes/expires.

**Spot**

**Spot**

Notice that traders would be rewarded for trades executed, hence AMMs would only be compensated if their range is relevant and takers trade over that period.

Even though fees for Market Makers are zero, a "virtual fee" to reward makers is used for the reward calculation when their trades are executed. This is for now set at:

$f^{virtual}_{maker}=0.07\%$

The system keeps track of which trades are from maker / taker.

For spot, $\alpha$ = $1$.

Trader score $w = f^{\alpha}$ , where $f$ is different for trades which are market orders (taker) or limit orders (maker).

Portion of reward per trader: $R_h = R \times \frac{w_h}{\sum_{i=n}^N w_n}$ with $n= 1, 2,..., k$

Last updated