diff --git a/hydradx/model/amm/omnipool_amm.py b/hydradx/model/amm/omnipool_amm.py index f635e884..6efeea4a 100644 --- a/hydradx/model/amm/omnipool_amm.py +++ b/hydradx/model/amm/omnipool_amm.py @@ -30,6 +30,7 @@ def __init__(self, remove_liquidity_volatility_threshold: float = 0, withdrawal_fee: bool = True, min_withdrawal_fee: float = 0.0001, + lrna_mint_pct: float = 0.0, ): """ tokens should be a dict in the form of [str: dict] @@ -72,6 +73,7 @@ def __init__(self, self.max_withdrawal_per_block = max_withdrawal_per_block self.max_lp_per_block = max_lp_per_block self.remove_liquidity_volatility_threshold = remove_liquidity_volatility_threshold + self.lrna_mint_pct = lrna_mint_pct self.withdrawal_fee = withdrawal_fee if withdrawal_fee: self.min_withdrawal_fee = min_withdrawal_fee @@ -422,8 +424,10 @@ def execute_swap( ) # lrna_fee = state.last_lrna_fee[tkn_buy] - delta_Qj = -delta_Qi * (1 - lrna_fee) - delta_Rj = state.liquidity[tkn_buy] * -delta_Qj / (state.lrna[tkn_buy] + delta_Qj) * (1 - asset_fee) + delta_Qt = -delta_Qi * (1 - lrna_fee) + delta_Qm = (state.lrna[tkn_buy] + delta_Qt) * delta_Qt * asset_fee / state.lrna[tkn_buy] * state.lrna_mint_pct + delta_Qj = delta_Qt + delta_Qm + delta_Rj = state.liquidity[tkn_buy] * -delta_Qt / (state.lrna[tkn_buy] + delta_Qt) * (1 - asset_fee) delta_L = min(-delta_Qi * lrna_fee, -state.lrna_imbalance) delta_QH = -lrna_fee * delta_Qi - delta_L @@ -491,11 +495,14 @@ def execute_lrna_swap( return state.fail_transaction('insufficient lrna in pool', agent) delta_ra = -state.liquidity[tkn] * delta_qa / (-delta_qa + state.lrna[tkn]) * (1 - asset_fee) + delta_qm = asset_fee * (-delta_qa) / state.lrna[tkn] * (state.lrna[tkn] - delta_qa) * state.lrna_mint_pct + delta_q = delta_qm - delta_qa + if modify_imbalance: q = state.lrna_total - state.lrna_imbalance += delta_qa * (q + state.lrna_imbalance) / (q - delta_qa) + delta_qa + state.lrna_imbalance += -delta_q * (q + state.lrna_imbalance) / (q + delta_q) - delta_q - state.lrna[tkn] += -delta_qa + state.lrna[tkn] += delta_q state.liquidity[tkn] += -delta_ra elif delta_ra > 0: @@ -504,13 +511,16 @@ def execute_lrna_swap( return state.fail_transaction('insufficient assets in pool', agent) elif delta_ra > agent.holdings[tkn]: return state.fail_transaction('agent has insufficient assets', agent) - delta_qa = -state.lrna[tkn] * delta_ra / (state.liquidity[tkn] * (1 - asset_fee) - delta_ra) + denom = (state.liquidity[tkn] * (1 - asset_fee) - delta_ra) + delta_qa = -state.lrna[tkn] * delta_ra / denom + delta_qm = - asset_fee * (1 - asset_fee) * (state.liquidity[tkn] / denom) * delta_qa * state.lrna_mint_pct + delta_q = -delta_qa + delta_qm if modify_imbalance: q = state.lrna_total - state.lrna_imbalance += delta_qa * (q + state.lrna_imbalance) / (q - delta_qa) + delta_qa + state.lrna_imbalance -= delta_q * (q + state.lrna_imbalance) / (q + delta_q) + delta_q - state.lrna[tkn] += -delta_qa + state.lrna[tkn] += delta_q state.liquidity[tkn] += -delta_ra # buying LRNA diff --git a/hydradx/notebooks/Omnipool/LP_fees_analysis.ipynb b/hydradx/notebooks/Omnipool/LP_fees_analysis.ipynb new file mode 100644 index 00000000..4188ebc9 --- /dev/null +++ b/hydradx/notebooks/Omnipool/LP_fees_analysis.ipynb @@ -0,0 +1,328 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a8c17e29-b019-4664-846e-3e6c337b9312", + "metadata": { + "tags": [] + }, + "source": [ + "

10,000 USD worth of TKN invested in the Omnipool for one year

" + ] + }, + { + "cell_type": "markdown", + "id": "724e184d-3157-482c-8a3f-12d0b77a8cc9", + "metadata": { + "ExecuteTime": { + "end_time": "2023-05-24T15:14:34.207704241Z", + "start_time": "2023-05-24T15:01:10.779629649Z" + }, + "tags": [] + }, + "source": [ + "

Effects of trade volume.

\n", + "Trade volume generates fees, which are the primary way of offsetting IL. We'll assume prices do no change, so there is no impermanent loss. Trade volume goes from 1% to 5% of TVL per day (consistent with our observations so far). We also assume 0.3% total fees. We fully simulate one month and then extrapolate the results to one year. This should still be fairly accurate, because of the linear nature of the correlation between time and profit." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "deb2bd1c-f250-40ea-a5da-1c0e8d54ab7d", + "metadata": { + "ExecuteTime": { + "end_time": "2023-05-24T15:01:05.284668003Z", + "start_time": "2023-05-24T15:00:51.325657113Z" + }, + "jupyter": { + "source_hidden": true + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import random\n", + "import sys\n", + "sys.path.append('../..')\n", + "\n", + "from model import processing\n", + "from matplotlib import pyplot as plt\n", + "\n", + "from model import run, plot_utils as pu\n", + "from model.amm.omnipool_amm import OmnipoolState, cash_out_omnipool, usd_price, lrna_price, value_assets, execute_remove_liquidity\n", + "from model.amm.agents import Agent\n", + "from model.amm.trade_strategies import invest_all, back_and_forth\n", + "from model.amm.global_state import GlobalState\n", + "\n", + "# same seed, same parameters = same simulation result\n", + "random.seed(42)\n", + "\n", + "assets = {\n", + " 'HDX': {'usd price': 0.05, 'weight': 0.05},\n", + " 'USD': {'usd price': 1, 'weight': 0.20},\n", + " 'BTC': {'usd price': 16541.77, 'weight': 0.10},\n", + " 'ETH': {'usd price': 1196.13, 'weight': 0.50},\n", + " 'DOT': {'usd price': 1, 'weight': 0.17},\n", + " 'TKN': {'usd price': 1, 'weight': 0.03}\n", + "}\n", + "\n", + "lrna_price_usd = 1\n", + "initial_omnipool_tvl = 10000000\n", + "liquidity = {}\n", + "lrna = {}\n", + "asset_fee = 0.0025\n", + "lrna_fee = 0.0005\n", + "\n", + "for tkn, info in assets.items():\n", + " liquidity[tkn] = initial_omnipool_tvl * info['weight'] / info['usd price']\n", + " lrna[tkn] = initial_omnipool_tvl * info['weight'] / lrna_price_usd\n", + "\n", + "initial_state = GlobalState(\n", + " pools={\n", + " 'omnipool': OmnipoolState(\n", + " tokens={\n", + " tkn: {'liquidity': liquidity[tkn], 'LRNA': lrna[tkn]} for tkn in assets\n", + " },\n", + " asset_fee=0.0025,\n", + " lrna_fee=0.0005,\n", + " withdrawal_fee=False\n", + " )\n", + " },\n", + " agents = {\n", + " 'Trader': Agent(\n", + " holdings={tkn: 10000000 for tkn in list(assets.keys()) + ['LRNA']}\n", + " ),\n", + " 'LP': Agent(\n", + " holdings={'TKN': 10000},\n", + " trade_strategy=invest_all('omnipool')\n", + " ),\n", + " },\n", + " external_market={tkn: assets[tkn]['usd price'] for tkn in assets},\n", + " archive_all=False\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "b3f08712-922b-465f-b04b-5f3057a78ab5", + "metadata": { + "ExecuteTime": { + "end_time": "2023-05-24T15:14:34.207704241Z", + "start_time": "2023-05-24T15:01:10.779629649Z" + }, + "collapsed": true, + "jupyter": { + "outputs_hidden": true, + "source_hidden": true + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Trade volume per day as a fraction of TVL: {'HDX': 0.0, 'USD': 0.0, 'BTC': 0.0, 'ETH': 0.0, 'DOT': 0.0, 'TKN': 0.0}\n", + "Starting simulation...\n", + "Execution time: 80.807 seconds.\n", + "Trade volume per day as a fraction of TVL: {'HDX': 0.010000012495840132, 'USD': 0.010000012502803262, 'BTC': 0.010000012502803355, 'ETH': 0.010000012502802722, 'DOT': 0.010000012502803362, 'TKN': 0.010000011029834038}\n", + "Starting simulation...\n", + "Execution time: 79.858 seconds.\n", + "Trade volume per day as a fraction of TVL: {'HDX': 0.020000024908135065, 'USD': 0.02000002493598734, 'BTC': 0.02000002493598931, 'ETH': 0.020000024935987574, 'DOT': 0.020000024935989045, 'TKN': 0.020000021990042104}\n", + "Starting simulation...\n", + "Execution time: 79.535 seconds.\n", + "Trade volume per day as a fraction of TVL: {'HDX': 0.03000003723686493, 'USD': 0.030000037299553438, 'BTC': 0.030000037299554354, 'ETH': 0.03000003729955458, 'DOT': 0.030000037299555186, 'TKN': 0.030000032880643755}\n", + "Starting simulation...\n", + "Execution time: 83.079 seconds.\n", + "Trade volume per day as a fraction of TVL: {'HDX': 0.040000049482053796, 'USD': 0.040000049593503596, 'BTC': 0.040000049593505595, 'ETH': 0.0400000495935045, 'DOT': 0.040000049593502444, 'TKN': 0.04000004370160887}\n", + "Starting simulation...\n", + "Execution time: 80.962 seconds.\n", + "Trade volume per day as a fraction of TVL: {'HDX': 0.05000006164370618, 'USD': 0.05000006181782769, 'BTC': 0.050000061817830586, 'ETH': 0.05000006181783127, 'DOT': 0.05000006181782925, 'TKN': 0.05000005445297287}\n" + ] + } + ], + "source": [ + "time_steps = 219000 # int(7200 * 365 / 12)\n", + "volume_events = []\n", + "trade_volume = []\n", + "semi_final_state = []\n", + "final_state = []\n", + "graph_step = 200\n", + "for i in range(6):\n", + " initial_state.agents['Trader'].trade_strategy=back_and_forth(\n", + " pool_id='omnipool',\n", + " percentage=i / 360000 / (1 - asset_fee - lrna_fee)\n", + " ) if i > 0 else None\n", + " events = run.run(initial_state, time_steps) if i > 0 else [initial_state.archive()] * time_steps\n", + " \n", + " trade_volume.append({tkn: (sum([event.pools['omnipool'].volume_out[tkn] \n", + " / event.pools['omnipool'].liquidity[tkn] for event in events])\n", + " / time_steps * 7200) for tkn in assets}\n", + " )\n", + " print('Trade volume per day as a fraction of TVL:', trade_volume[i])\n", + "\n", + " volume_events.append(events[::graph_step])\n", + " volume_events[-1].append(events[-1])\n", + " \n", + " del events" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "b5d6dadf-f4e3-4498-b99c-93b726fca2c1", + "metadata": { + "ExecuteTime": { + "end_time": "2023-05-24T15:14:34.207704241Z", + "start_time": "2023-05-24T15:01:10.779629649Z" + }, + "jupyter": { + "source_hidden": true + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(20, 5))\n", + "plt.title('LP fees earned after one month, assuming different trade volumes:')\n", + "graph_length = len(volume_events[1])\n", + "plt.xticks(\n", + " [0, graph_length / 3, graph_length / 1.5, graph_length],\n", + " ['start', '10 days', '20 days', '30 days']\n", + ")\n", + "colors = pu.color_gradient(length=5, color1=(255, 0, 0), color2=(0, 255, 0))\n", + "baseline = [value_assets(initial_state.external_market, initial_state.agents['LP'].holdings)] * time_steps\n", + "\n", + "volume_returns = [\n", + " [\n", + " (cash_out_omnipool(event.pools['omnipool'], event.agents['LP'], event.external_market)\n", + " - baseline[i]) # extend to one year\n", + " for i, event in enumerate(events)\n", + " ]\n", + " for events in volume_events\n", + "]\n", + "\n", + "for i, scenario in enumerate(volume_returns[1:]):\n", + " plt.plot(range(len(scenario)), scenario, color=colors[i])\n", + " plt.annotate(\n", + " f'${round(scenario[-1], 2)} ({round(scenario[-1] / 100, 2)}%)', \n", + " xy=(len(scenario), scenario[-1]), xytext=(-40, -20), textcoords='offset points'\n", + " )\n", + "\n", + "plt.legend([\n", + " f'{round(volume[\"TKN\"] * 100, 1)}% {(\"trade volume per day\") if volume[\"TKN\"] == 0 else \"\"}' \n", + " for volume in trade_volume[1:]\n", + "])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "40b300ed-24b1-410e-be52-d64477ab2e2d", + "metadata": { + "jupyter": { + "source_hidden": true + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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tbW0dnYDMHJoEidPymZGkZPphU6y0xPCXK0cymJjY5k7d264ywgrBUkiIiIiIiJySGlu72LpulpKK/3B0fL1dXR0+zAGDhuRytnT83C7/MHR0JS4cJcrA8gll1wS7hLCTkGSiIiIiIiIRLT61k7Kq/2h0ftVXio21tPts0Q5DBOyU7noyELchU5KCjNIT4wNd7kiA5qCJBEREREREYkoO5raWRx8opqXj7Y0YC3ERjmYnJfGN48pwuPKZGpBBslx+rNWpD85wl2AiIiIiBy6qqurefjhh3db9tZbbzF16lSio6N55plngsvXrl3L1KlTmTJlCuPHj+cPf/gDAI2NjUyZMiX4MWTIEL73ve/tda6amhpmz55NcnIy8+fP77GeU045ZZ+ToN5777088sgjADz99NNcdNFFOBwOysvLe9y+ra0Nt9vN5MmTGT9+PDfddFNw3cyZM4M1Z2dnc9pppwHwj3/8g/HjxzNz5kxqamoA+Oyzzzj77LOD+3Z0dHD00UfT1dXVa60ig8mW+jZeWL6Rnzy3kuPufpOSW1/jW48vZcHidWQkxfC9OWNYcMUMVtz8ZZ7+5hH86PjDOHrMUIVIImGgIElEREREPpcHHniAE044gRtuuIFZs2axZcsWAPLz83n44Yf5+te/vtv2WVlZvPfeeyxfvpzS0lJuv/12Nm3aREpKCsuXLw9+FBQU8NWvfnWv88XHx/OLX/yCO++8s8d6nn32WZKTk3utt6uri4ceeihY14QJE7jllls4+uije90nLi6ON954gw8++IDly5fz8ssv8/777wPw9ttvB2v+0pe+FKz5//2//8fixYu58sor+fvf/w7Az372M2699dbgcWNjY5kzZw5PPvlkr+cWGaistayraeGp8vX88OkPOPo3/2HGba/z3QXLeWn5JvIyErhu3mH841tHsOKm43n8shl897jRzCjKJD4mKtzlSx/q6ebE3Xffzbhx45g0aRJz5sxh7dq1AMH/e8ePH8+kSZN2+//09ddfD964OOqoo1izZk2v51y3bh3Jycm7/W657777mDBhAuPHj+fee+/tdd9db0786Ec/4oILLmDSpEmcfvrp1NXV7bX9+vXrmT17NuPGjWP8+PHcd999wXXLly9nxowZTJkyhZKSEsrKyoDIvDmh+FZEREREDlhjYyM33XQTL7/8MitWrGDWrFkkJSUBUFhYCIDDsfs9y9jY/81b0t7ejs/n2+u4q1evZtu2bcycOXOvdUlJSb3+QdDU1MTdd9/Nn/70J84666wea37jjTeCPaUAxo4dy9atW/d5ncaYYDjV2dlJZ2fnXo8Jb2ho4I033uCvf/0r4L/u9vZ2WlpaiImJ4e2332bEiBGMHj16t/1OO+00rr/+es4777x91iByqLPW8tn2JkqrvMHJsbc0tAGQkRiD2+XkwiMK8bicjM1KJcph9nNEGYgeeOABfvvb39LU1MTDDz/MggULGDFiBIcffjjl5eUkJibywAMPcO211/Lkk0+SmJjII488wujRo9m0aRPTpk3j+OOPJz09nW9961u88MILjB07lt///vfceuutewVUO11zzTWccMIJwa8rKip48MEHKSsrIzY2lnnz5nHyySczatSo3fbbeXNi6dKlAMydO5d58+YxZ84crrvuOm677TZ+/etf77ZPdHQ0d911F1OnTqWxsZFp06Yxd+5cxo0bx7XXXstNN93ECSecwMKFC7n22mtZtGhR8ObEs88+y9///neuuuqqfd6c6I/fKQqSREREROSAORwOjDF4vV7gf+HR/qxfv56TTjqJNWvWcMcdd5Cdnb3b+gULFnD22WfvFdbszw033MAPfvADEhMTe93m3XffZdq0aQd0XIDu7m6mTZvGmjVr+M53voPH49lt/fPPP8+cOXNITU0F4Prrr+e4444jOzubxx57jK997WssWLBgr+NOmDCBxYsXH3A9IpGu22f5eEsDZYH5jcqqvNQ0dwAwLCUOt8uJpygTj8vJqKHJOBQcDXr7ujkxe/bs4HYzZszgscceA2DMmDHB5dnZ2QwbNozt27eTnp6OMYaGhgYA6uvr9/pds9Pzzz+Py+UKngvgo48+wuPxBH+fHHPMMTz77LNce+21u+27582JL3/5yyxatChY565Du3fKysoiKysLgJSUFMaOHcvGjRsZN25crzVH4s0JBUkiIiIicsCSkpJ48MEHuf7669myZQsVFRXccsst+wxyAPLy8lixYgWbNm3itNNO48wzz2T48OHB9QsWLODRRx89oFqWL1/OZ599xj333EN1dXWv223evJmxY8ce0LEBoqKiWL58OXV1dZx++ulUVFTsNg/TE088wWWXXRb8eu7cucydOxeARx55hBNPPJHVq1dz5513kpGRwX333UdiYiJRUVHExsbS2NhISkrKAdclEik6u31UbKwPhkaLq700tPmH2ORmJHBM8VBmuDJxu5wUZCYecFAsA1+oNyf+8pe/7NZ7aKeysjI6OjoYOXIkAH/+85858cQTSUhIIDU1NTgkeVdNTU38+te/5tVXX91tWNuECRP46U9/Sk1NDQkJCSxcuJCSkpK99t/XzYmHHnpot6FnPamurmbZsmXBmxP33nsvxx9/PD/84Q/x+Xz897//BSLz5oSCJBERERH5XE455RQmTZrESy+9RHl5OXfddRc33HBDSPtmZ2czYcIE3n77bc4880wAPvjgA7q6ug6419B7771HeXk5hYWFdHV1sW3bNmbNmhW8M7xTQkICbW1tB3TsXaWnpzN79mxefvnlYJC0Y8cOysrKeO655/bavqWlhYcffphXXnmFk08+mWeffZZnnnmGxx9/nMsvvxzwD/GLj4//3DWJhENbZzcrNtRTWllDWbWXJWtraenoBqBoaBInTcrC7XLidmWSk54Q5mrlUBDKzYnHHnuM8vJy3nzzzd323bx5M+effz5/+9vfgkOq77nnHhYuXIjH4+GOO+7gmmuu4c9//vNu+9188818//vf32tuvbFjx3Ldddfx5S9/maSkJKZMmUJU1N5zc/V2c+KXv/wl0dHR++wZ1NTUxBlnnMG9994b7M36wAMPcM8993DGGWfw1FNPcemll/Laa69F5M0JBUkiIiIicsCampqCk37u7J6/805ybzZs2EBmZiYJCQnU1tbyzjvv8P3vfz+4/oknnuDcc8894Fq+9a1v8a1vfQvw3+E9+eST9wqRwP/Hwb4mXO3J9u3biYmJIT09ndbWVl599VWuu+664PpnnnmGk08+uccw6I477uDqq68mJiaG1tZWjDE4HA5aWloA/1PohgwZQkxMzAHVJNLfWjq6WLWjm6X//oT3q7wsX19HR5d/jrPDRqTwtWm5uF2ZTHdlMCxFwah8Pvu6OfHaa6/xy1/+kjfffJO4uLjgPg0NDZx00kn88pe/ZMaMGYD//+0PPvgg2NPn7LPPZt68eXudr7S0lGeeeYZrr72Wuro6HA4H8fHxzJ8/n0svvZRLL70UgJ/85Cfk5ubutX9PNydefvll3nzzTV5//fVee951dnZyxhlncN555+32YIm//e1vwcm3v/a1r+3W0xUi6+aEgiQRERER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cCFvvvnmQZ8Xpqvbx4oNdfz57Uouf6Scqbe+yrx73+bGF1axdF0tR43K5LavTuT1HxzD4p8ex+/Om8qFRxQyNisVh0Nz1AxUPd2geOutt5g6dSrR0dE888wzu6279tprGT9+PGPHjuXqq6/GWktLSwsnnXQShx12GOPHj+fHP/5xj+fq7OzkwgsvZOLEiYwdO5bbbrsNgPXr1zN79mzGjRvH+PHjue+++3qt99577+WRRx4B4Omnn+aiiy7C4XDsdRNkV/fccw/jx49nwoQJnHvuubS1tQFw6aWXMnnyZCZNmsSZZ55JU5N/zq//9//+HxMmTODEE0+ko6MDgHfeeYfvf//7wWNu376defPm9XpOEel/CpJERER20djYyE033cTjjz/OL37xCx5++GGSkpIA+PDDDzn22GMBmD17Ni+88EJwvzlz5pCSkrLf499www1cd911xMfH77b8+eefx+VyMX78+F73ffzxxzn11FMBKCsrY9SoURQVFREbG8s555yzWz07HWjNMTExtLa24vP56OzsJCoqihtvvJGf//znu21njGHWrFn885//3O81i0SSn//851x++eUUFBTwxBNPMHPmzC8cJHV0+Viy1svv/rOGCx8qY8otr3LK/e9y6/99xKdbG/nyuOHc+bXJvH3tbP7742O595zDOdedz8ihyZrceJDo7QZFfn4+Dz/8MF//+td32/6///0v7777LitWrKCiooLFixfz5ptvAv4bBB9//DHLli3j3Xff5V//+tde53v66adpb29n5cqVLFmyhD/+8Y9UV1cTHR3NXXfdxYcffsj777/P7373ux5vQnR1dfHQQw8F65owYQK33HILRx99dK/XuHHjRn77299SXl5ORUUF3d3dLFiwAPAHTB988AErVqwgPz+f+++/H/D/XluxYgVHHHEEr7zyCtZafvGLX3DDDTcEjzt06FCysrJ49913D+QlF5E+pDmSREREduFwODDG4PV6ASgsLAyumzx5Ms8++yzf/e53ee6552hsbKSmpobMzMyQjr106VLWr1/PSSedxB133BFc3tTUxK9//WteffXVXoe1Abz77rv88Y9/BPxv2PPy8oLrcnNzKS0t3WufA6157NixDB06lKlTp3L++eezZs0afD4fU6dO3WvbkpIS3n77bc4666yQrl8kEhxzzDFceOGFLFiwgFWrVnHTTTcd8DFaO7pZtr6WsiovpZVelq2vpa3TPzxuzPBkTjs8G7crE4/LyfDU+P0cTQa6nTcoXn75ZVasWMGsWbOCNyh2/o5xOHa/v2+Moa2tjY6ODqy1dHZ2Mnz4cBITE5k9ezYAsbGxTJ06dbchy7vu39zcTFdXF62trcTGxpKamorT6SQrKwuAlJQUxo4dy8aNGxk3btxu+7/xxhvBnlLg/92wdevW/V7rzvPFxMTQ0tJCdnY2AKmpqYB/iHZra2swQN15bS0tLcTExPDYY49xwgkn4HQ6dzvuaaedxuOPP86RRx653xpEpO+FFCQZYwqA0dba14wxCUC0tbaxb0sTERHpf0lJSTz44INcf/31bNmyhYqKCm655RYSExO58847mT9/Pg8//DBHH300OTk5REWF9vQkn8/HNddc0+OTom6++Wa+//3vk5ycvM9jeL3ekHo97erz1HzvvfcGP//KV77CH//4R375y1/ywQcfMHfuXC6//HIAhg0bxqZNmw6oHpFI8POf/5zHH3+c5uZmDjvssP1u39TeRXm1f1Ls0iovKzbU0dltMQbGZaXydXcBbpeT6YUZZCbH9cMVyKFkXzcoevOlL32J2bNnk5WVhbWW+fPnM3bs2N22qaur46WXXuK73/3uXvufeeaZvPDCC2RlZdHS0sI999yzVzhTXV3NsmXLehxq/e677zJt2rQDuErIycnhhz/8Ifn5+SQkJPDlL3+ZL3/5y8H1F198MQsXLmTcuHHcddddAMyfP58ZM2Ywfvx4jjzySE499VReeeWVvY5dUlLCz372swOqR0T6zn6DJGPM5cAVgBMYCeQCfwDm9G1pIiIi4XHKKacwadIkXnrpJcrLy7nrrru44YYbyM7O5tlnnwX8vYj+8Y9/hPy45MbGRioqKpg1axYAW7Zs4ZRTTuHFF1+ktLSUZ555hmuvvZa6ujocDgfx8fHMnz9/t2NER0fj8/lwOBzk5OSwfv364LoNGzaQk5Oz13m/SM0vvPAC06ZNo6mpic8++4ynnnqK448/nvPOO4/ExETa2tpISEgI6VgikSQ2NpYFCxbw2muv7dUTBKCupSP4NLWyai8VG+vxWYh2GCbmpnHJUS5muDKZWpBBWkJMGK5ADiX7ukHRmzVr1vDRRx8FexvNnTuXt99+m5kzZwL+nj/nnnsuV199NUVFRXvtX1ZWRlRUFJs2baK2tpaZM2dy3HHHBbdtamrijDPO4N577w32FtrV5s2b9wqu9qe2tpYXXniBqqoq0tPT+drXvsZjjz3GN77xDQD++te/0t3dzVVXXcWTTz7JxRdfzPnnn8/5558PwC233MLVV1/Nv/71Lx555BHy8vK46667cDgcunEhEmFC6ZH0HcANlAJYaz81xgzr06pERETCpKmpiZqaGuB/3f533kXesWMHTqcTh8PBbbfdxiWXXBLycdPS0tixY0fw61mzZnHnnXcGh4ftdPPNN5OcnLxXiAT+R5ZXVlYyatQopk+fzqeffkpVVRU5OTksWLCAv//973vt83lr7uzs5N577+X//u//+PTTT4PDELq7u+no6CAxMZHVq1czYcKEkF8DkUhyxBFHcMQRR7Bo0SK2NbaxuKqW0qoayqq8fLzF3/E+NtrB4XnpzJ89Crcrk6kF6STGamYIOXC93aDozXPPPceMGTOCPVVPOOEE3nvvvWCQdMUVVzB69Gi+973v9bj/3//+d+bNm0dMTAzDhg3jyCOPpLy8nKKiIjo7OznjjDM477zz+OpXv9rj/gkJCcGJskP12muv4XK5GDp0KABf/epX+e9//xsMkgCioqI455xz+M1vfsPFF18cXL5p0ybKysq48cYbOeaYY3jjjTe49dZbef3115k7d65uXIhEmFB+E7Zbazt2voE0xkQDtk+rEhERCZPOzk6uvPJKampq2LFjB/n5+cGAZtGiRVx//fUYYzj66KP53e9+F9xv5syZfPzxxzQ1NZGbm8tf/vIXjj/+eG688UZKSko45ZRTvnBtJ510EosWLWLUqFFER0dz//33c/zxx9Pd3c0ll1wSnKj7xhtvJC4ujlmzZn2umgF+97vfceGFF5KYmMikSZNoaWlh4sSJnHjiicEeTf/5z3+CTwISOZRsrGulLBAa/WdVC1tefh2AxNgophVkcPKkLNyuTCblphEfE9rwVZHe7OsGRW/y8/ODvZistbz55pvB0OhnP/sZ9fX1/PnPf97n/m+88Qbnn38+zc3NvP/++3zve9/DWsull17K2LFjueaaa3rdf+zYsaxZs+aArjM/P5/333+flpYWEhISeP311ykpKcFay2effcaoUaOw1vLiiy/uNaT0hhtu4JZbbgEIzqHkcDiCTwbVjQuRyGKs3XcmZIz5DVAHXABcBXwb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WVsb6HHkZfn6Ojq6fRgDh41I5ezpebhdTtwuJ0OS48JdroiIiIiIiIiEiYKkQai+tZMla/2hUWmVl4qN9XT5LFEOw4TsVC48ogCPK5OSwgzSE2PDXa6IiIiIiIiIRAgFSYOAt7mDsqr/PVHtw80NWAsxUYbJuelceUwRblcm0woySI7Tj4SIiIiIiIiI9EypwQC0taEt+ES10kovn25rAiA+xsHU/Ay+O2c0Hlcmh+enEx8TFeZqRURERERERORQoSDpEGetZUNtazA4KqvyUl3TAkByXDTTCjI4fWoOHpeTiTnpxEY7wlyxiIiIiIiIiByqFCQdYqy1VO1oDg5TK62sYVN9GwBpCTG4XU6+MaMAt8vJuKxUoqMUHImIiIiIiIjIwRFxQZIxZh5wHxAF/Nlae3uYSworn8+yeltj8IlqpVVedjS1AzAkOQ6Py8k3i/xPVBszLAWHw4S5YhEREREREREZqCIqSDLGRAG/A+YCG4DFxpgXrbUfhrey/tPV7eOjzY2UBibHXlztpa6lE4DstHhmjh6C2+UPjoqGJGGMgiMRERERERER6R8RFSQBbmCNtbYSwBizADgVGNBB0pK1tfyzsoO/VpaxZG0tTe1dABRmJvLlccNxuzLxuJzkZiQoOBIRERERERGRsDHW2nDXEGSMOROYZ629LPD1+YDHWjt/l22uAK4AGD58+LQFCxaEpdaD6Sdvt7Cp2ZKdbCjOiKLYGUVxhoOMeM1vJLKnpqYmkpOTw12GSMRTWxEJjdqKSGjUVkT2byC1k9mzZy+x1pb0tC7SeiTtl7X2T8CfAEpKSuysWbPCW9BB8OCYej6rWMopX54d7lJEIt6iRYsYCO1epK+prYiERm1FJDRqKyL7N1jaSaR1edkI5O3ydW5g2YA2PjuN1FgNWRMRERERERGRyBZpQdJiYLQxxmWMiQXOAV4Mc00iIiIiIiIiIkKEDW2z1nYZY+YDrwBRwEPW2lVhLktERERERERERIiwIAnAWrsQWBjuOkREREREREREZHeRNrRNREREREREREQilIIkEREREREREREJiYIkEREREREREREJiYIkEREREREREREJiYIkEREREREREREJiYIkEREREREREREJiYIkEREREREREREJibHWhruGz80Ysx1YG+46DpIhwI5wFyFyCFBbEQmN2opIaNRWREKjtiKy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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(20, 5))\n", + "plt.title('extrapolated results for one year')\n", + "plt.xticks(\n", + " [volume[\"TKN\"] for volume in trade_volume],\n", + " [f'{round(volume[\"TKN\"] * 100, 2)} %' for volume in trade_volume]\n", + ")\n", + "points = [(trade_volume[i]['TKN'], volume_returns[i][-1] * 12) for i in range(len(trade_volume))]\n", + "for i, coors in enumerate(points[1:]):\n", + " plt.annotate(\n", + " text=f'${round(coors[1], 2)} ({round(coors[1] / 100, 2)}%)',\n", + " xy=coors,\n", + " xytext=(-50, 50) if i < len(points) / 2 else (-50, -50),\n", + " textcoords='offset points',\n", + " arrowprops={'arrowstyle': '->'}\n", + " )\n", + "plt.xlabel('trade volume')\n", + "plt.ylabel('fee revenue')\n", + "plt.grid()\n", + "plt.plot([volume[\"TKN\"] for volume in trade_volume], [scenario[-1] * 12 for scenario in volume_returns])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a23a264-33f1-4b26-91d1-486a4e653106", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/hydradx/tests/test_omnipool_agents.py b/hydradx/tests/test_omnipool_agents.py index 4a5f677b..d2528a23 100644 --- a/hydradx/tests/test_omnipool_agents.py +++ b/hydradx/tests/test_omnipool_agents.py @@ -93,7 +93,7 @@ def test_omnipool_arbitrager_feeless(omnipool: oamm.OmnipoolState, market: list, # Trading should be profitable if old_value > new_value: - if new_value != pytest.approx(old_value, rel=1e-15): + if new_value != pytest.approx(old_value, rel=1e-12): raise diff --git a/hydradx/tests/test_omnipool_amm.py b/hydradx/tests/test_omnipool_amm.py index 47f2ab72..8318f425 100644 --- a/hydradx/tests/test_omnipool_amm.py +++ b/hydradx/tests/test_omnipool_amm.py @@ -377,10 +377,10 @@ def test_swap_lrna(initial_state: oamm.OmnipoolState): ): raise AssertionError(f'LRNA imbalance is wrong.') - if (new_state.liquidity[i] + new_agent.holdings[i] != pytest.approx(old_state.liquidity[i] + old_agent.holdings[i]) - or new_state.lrna[i] + new_agent.holdings['LRNA'] - != pytest.approx(old_state.lrna[i] + old_agent.holdings['LRNA'])): + if new_state.liquidity[i] + new_agent.holdings[i] != pytest.approx(old_state.liquidity[i] + old_agent.holdings[i]): raise AssertionError('System-wide asset total is wrong.') + if new_state.lrna[i] + new_agent.holdings['LRNA'] < old_state.lrna[i] + old_agent.holdings['LRNA']: + raise AssertionError('System-wide LRNA decreased.') # try swapping into LRNA and back to see if that's equivalent reverse_state, reverse_agent = oamm.swap_lrna( @@ -400,6 +400,302 @@ def test_swap_lrna(initial_state: oamm.OmnipoolState): raise AssertionError('Agent holdings are wrong.') +@given(st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=0.0001, max_value=0.01), + st.floats(min_value=0.0001, max_value=0.01)) +def test_lrna_swap_buy_with_lrna_mint( + hdx_liquidity: float, + dot_liquidity: float, + usd_liquidity: float, + hdx_lrna: float, + dot_lrna: float, + usd_lrna: float, + asset_fee: float, + lrna_fee: float +): + asset_dict = { + 'HDX': {'liquidity': hdx_liquidity, 'LRNA': hdx_lrna}, + 'DOT': {'liquidity': dot_liquidity, 'LRNA': dot_lrna}, + 'USD': {'liquidity': usd_liquidity, 'LRNA': usd_lrna}, + } + + initial_state = oamm.OmnipoolState( + tokens=asset_dict, + tvl_cap=float('inf'), + asset_fee=asset_fee, + lrna_fee=lrna_fee, + lrna_mint_pct=1.0 + ) + + + old_agent = Agent( + holdings={token: 10000 for token in initial_state.asset_list + ['LRNA']} + ) + + i = 'DOT' + + delta_ra = 1000 + delta_ra_feeless = delta_ra / (1 - asset_fee) + + feeless_state = initial_state.copy() + feeless_state.asset_fee = 0 + for asset in feeless_state.asset_list: + feeless_state.last_fee[asset] = 0 + + # Test with trader buying asset i + swap_state, swap_agent = oamm.swap_lrna(initial_state, old_agent, delta_ra, 0, i) + feeless_swap_state, feeless_swap_agent = oamm.swap_lrna(feeless_state, old_agent, delta_ra_feeless, 0, i) + feeless_spot_price = feeless_swap_state.price(feeless_swap_state, i) + spot_price = swap_state.price(swap_state, i) + if feeless_swap_state.fail == '' and swap_state.fail == '': + if feeless_spot_price != pytest.approx(spot_price, rel=1e-16): + raise AssertionError('Spot price is wrong.') + + +@given(st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=0.0001, max_value=0.01), + st.floats(min_value=0.0001, max_value=0.01)) +def test_lrna_swap_sell_with_lrna_mint( + hdx_liquidity: float, + dot_liquidity: float, + usd_liquidity: float, + hdx_lrna: float, + dot_lrna: float, + usd_lrna: float, + asset_fee: float, + lrna_fee: float +): + asset_dict = { + 'HDX': {'liquidity': hdx_liquidity, 'LRNA': hdx_lrna}, + 'DOT': {'liquidity': dot_liquidity, 'LRNA': dot_lrna}, + 'USD': {'liquidity': usd_liquidity, 'LRNA': usd_lrna}, + } + + initial_state = oamm.OmnipoolState( + tokens=asset_dict, + tvl_cap=float('inf'), + asset_fee=asset_fee, + lrna_fee=lrna_fee, + lrna_mint_pct=1.0 + ) + + old_agent = Agent( + holdings={token: 10000 for token in initial_state.asset_list + ['LRNA']} + ) + + i = 'DOT' + + delta_qa = -1000 + + feeless_state = initial_state.copy() + feeless_state.asset_fee = 0 + for asset in feeless_state.asset_list: + feeless_state.last_fee[asset] = 0 + + # Test with trader buying asset i + swap_state, swap_agent = oamm.swap_lrna(initial_state, old_agent, 0, delta_qa, i) + feeless_swap_state, feeless_swap_agent = oamm.swap_lrna(feeless_state, old_agent, 0, delta_qa, i) + feeless_spot_price = feeless_swap_state.price(feeless_swap_state, i) + spot_price = swap_state.price(swap_state, i) + if feeless_swap_state.fail == '' and swap_state.fail == '': + if feeless_spot_price != pytest.approx(spot_price, rel=1e-16): + raise AssertionError('Spot price is wrong.') + + +@given(st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=0.0001, max_value=0.01), + st.floats(min_value=0.0001, max_value=0.01), ) +def test_sell_with_lrna_mint( + hdx_liquidity: float, + dot_liquidity: float, + usd_liquidity: float, + hdx_lrna: float, + dot_lrna: float, + usd_lrna: float, + asset_fee: float, + lrna_fee: float, +): + asset_dict = { + 'HDX': {'liquidity': hdx_liquidity, 'LRNA': hdx_lrna}, + 'DOT': {'liquidity': dot_liquidity, 'LRNA': dot_lrna}, + 'USD': {'liquidity': usd_liquidity, 'LRNA': usd_lrna}, + } + + initial_state = oamm.OmnipoolState( + tokens=asset_dict, + tvl_cap=float('inf'), + asset_fee=asset_fee, + lrna_fee=lrna_fee, + lrna_mint_pct=1.0 + ) + + old_agent = Agent( + holdings={token: 10000 for token in initial_state.asset_list + ['LRNA']} + ) + + i = 'DOT' + j = 'USD' + + delta_ri = 1000 + + feeless_state = initial_state.copy() + feeless_state.asset_fee = 0 + for asset in feeless_state.asset_list: + feeless_state.last_fee[asset] = 0 + + # Test with trader buying asset i + swap_state, swap_agent = oamm.swap(initial_state, old_agent, j, i, 0, delta_ri) + feeless_swap_state, feeless_swap_agent = oamm.swap(feeless_state, old_agent, j, i, 0, delta_ri) + feeless_spot_price = feeless_swap_state.price(feeless_swap_state, j) + spot_price = swap_state.price(swap_state, j) + if feeless_swap_state.fail == '' and swap_state.fail == '': + if feeless_spot_price != pytest.approx(spot_price, rel=1e-16): + raise AssertionError('Spot price is wrong.') + + +@given(st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=0.0001, max_value=0.01), ) +def test_buy_with_lrna_mint( + hdx_liquidity: float, + dot_liquidity: float, + usd_liquidity: float, + hdx_lrna: float, + dot_lrna: float, + usd_lrna: float, + asset_fee: float +): + asset_dict = { + 'HDX': {'liquidity': hdx_liquidity, 'LRNA': hdx_lrna}, + 'DOT': {'liquidity': dot_liquidity, 'LRNA': dot_lrna}, + 'USD': {'liquidity': usd_liquidity, 'LRNA': usd_lrna}, + } + + initial_state = oamm.OmnipoolState( + tokens=asset_dict, + tvl_cap=float('inf'), + asset_fee=asset_fee, + lrna_fee=0.0, + lrna_mint_pct=1.0 + ) + + old_agent = Agent( + holdings={token: 10000 for token in initial_state.asset_list + ['LRNA']} + ) + + i = 'DOT' + j = 'USD' + + delta_rj = 1000 + delta_rj_feeless = delta_rj / (1 - asset_fee) + + feeless_state = initial_state.copy() + feeless_state.asset_fee = 0 + for asset in feeless_state.asset_list: + feeless_state.last_fee[asset] = 0 + + # Test with trader buying asset i + swap_state, swap_agent = oamm.swap(initial_state, old_agent, j, i, delta_rj, 0) + feeless_swap_state, feeless_swap_agent = oamm.swap(feeless_state, old_agent, j, i, delta_rj_feeless, 0) + feeless_spot_price = feeless_swap_state.price(feeless_swap_state, j) + spot_price = swap_state.price(swap_state, j) + if feeless_swap_state.fail == '' and swap_state.fail == '': + if feeless_spot_price != pytest.approx(spot_price, rel=1e-16): + raise AssertionError('Spot price is wrong.') + + +@given(st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=10000, max_value=10000000), + st.floats(min_value=0.0001, max_value=0.01), + st.floats(min_value=0.0001, max_value=0.01), ) +def test_sell_with_partial_lrna_mint( + hdx_liquidity: float, + dot_liquidity: float, + usd_liquidity: float, + hdx_lrna: float, + dot_lrna: float, + usd_lrna: float, + asset_fee: float, + lrna_fee: float, +): + asset_dict = { + 'HDX': {'liquidity': hdx_liquidity, 'LRNA': hdx_lrna}, + 'DOT': {'liquidity': dot_liquidity, 'LRNA': dot_lrna}, + 'USD': {'liquidity': usd_liquidity, 'LRNA': usd_lrna}, + } + + initial_state_0 = oamm.OmnipoolState( + tokens=asset_dict, + tvl_cap=float('inf'), + asset_fee=asset_fee, + lrna_fee=lrna_fee, + lrna_mint_pct=0.0 + ) + + initial_state_50 = oamm.OmnipoolState( + tokens=asset_dict, + tvl_cap=float('inf'), + asset_fee=asset_fee, + lrna_fee=lrna_fee, + lrna_mint_pct=0.5 + ) + + initial_state_100 = oamm.OmnipoolState( + tokens=asset_dict, + tvl_cap=float('inf'), + asset_fee=asset_fee, + lrna_fee=lrna_fee, + lrna_mint_pct=1.0 + ) + + old_agent = Agent( + holdings={token: 10000 for token in initial_state_0.asset_list + ['LRNA']} + ) + + i = 'DOT' + j = 'USD' + + delta_ri = 1000 + + # Test with trader buying asset i + swap_state_100, swap_agent_100 = oamm.swap(initial_state_100, copy.deepcopy(old_agent), j, i, 0, delta_ri) + swap_state_50, swap_agent_50 = oamm.swap(initial_state_50, copy.deepcopy(old_agent), j, i, 0, delta_ri) + swap_state_0, swap_agent_0 = oamm.swap(initial_state_0, copy.deepcopy(old_agent), j, i, 0, delta_ri) + + spot_price_100 = swap_state_100.price(swap_state_100, j) + spot_price_50 = swap_state_50.price(swap_state_50, j) + spot_price_0 = swap_state_0.price(swap_state_0, j) + + if swap_state_100.fail == '' and swap_state_50.fail == '' and swap_state_0.fail == '': + if spot_price_100 <= spot_price_50: + raise AssertionError('Spot price is wrong.') + if spot_price_50 <= spot_price_0: + raise AssertionError('Spot price is wrong.') + + @given(omnipool_reasonable_config(token_count=3, lrna_fee=0.0005, asset_fee=0.0025, imbalance=-1000)) def test_lrna_buy_nonzero_fee_nonzero_imbalance(initial_state: oamm.OmnipoolState): old_state = initial_state