We have skimmed through the drawbacks of AASTRA V1 on our previous blog.
This research and implementation is in continuation with our strategies; utilising concentrated liquidity to earn non speculative yield. Strategists, here's a walk-through of our current backtester for community assessment and testing.
The following repository contains python scripts that are used by Brahma Finance to simulate and backtest strategies on concentrated amm's like uniswap v3. The repo is structured as follows:
data/ folder contains the csv files related to swap data of
ETH-USDC 0.3% pool and average gas cost per block.
notebooks/ folder contains the jupyter notebook files used for simulation and backtesting the put selling strategy.
Coming to python files:
- strategy_state.py base code for
strategy, conducting either back-testing for put selling or range selection strategies (
run_put_strategyfunction and passing in historical swap data)
- big_query.py contains all functions for downloading the swap data from block chain etl
- transformers.py contains all the transformation functions used calculating metrics on swap data.
- univ3_funcs.py a modified python implementation of Uniswap v3's liquidity math built by JNP.
The new back tester has its main parts forked from active-strategy-framework by GammaStrategies. The main difference is that the data is downloaded in programmatic way from block chain etl and back testing is done on block by block basis.
In order to run the backtest for sample strategy provided :
- backtest.ipynb runs the rolling strategy with two lp positions.
- rolling_strategy.py contains the main code for rolling put selling strategy.
The current backtester doesn't incorporate the following features, we are currently working to optimise this in the next version. Updates will include developments on:
- Swap Costs
- Gas Costs
- Improving the running time of the backtest
- Metrics Integration
- HODL factor based on Prof.Lambert's work
- Cleaning up the previous backtest code base.
Currently upgrading the backtester for V2 and buidling upon future strategies for AASTRA.
Join the Brahma community: discord.gg/brahma
Tweet at us: https://twitter.com/BrahmaFi
The aforementioned contents in this blog are based on numerous assumptions and uncertainties which are subject to change periodically. The effect of such changes may result in alterations in premise, risks and uncertainties and may cause actual results or developments to differ from the results and progressions anticipated by brahma.fi
Even if our anticipated results and progressions are materialised, such results and developments may yet still fail to achieve any or all of the anticipated benefits anticipated by this statement. Brahma reserves the right to alter the plans, and intentions recorded any time and for any reason or no reason, in sole discretion. Brahma undertakes no obligation to update the decision publicly or revise any forward-looking statement as future developments or otherwise.
All contents and graphics used in the material intend no religious impairment and do not superintend its interpretation. This blog is not aiming to provide legal, financial or investment or other advice. We recommend users to stack their information sources basis their own personal research and not draw tangents from the materials or contents mentioned.