# 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. |

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.

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.

- 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 modified 3mo ago