├── .github ├── CODEOWNERS ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── notebooks.yml ├── .gitignore ├── LICENSE ├── README.md ├── available-sample-data.png ├── contest-entry-ideas.md ├── exploratory_analysis ├── Crypto_Microstructure_BTC_USDT_Exploratory_Analysis.ipynb ├── Crypto_Microstructure_L1_&_Trades_Exploratory_Analysis.ipynb └── requirements.txt ├── fake_volume_detection.ipynb ├── friend_tech_top_1000.csv ├── hftbacktest.ipynb ├── hummingbot_backtest.ipynb ├── lake_to_hftbacktest.py ├── momentum_indicator.ipynb ├── requirements.txt ├── runtime.txt ├── twap_detection.ipynb └── twitter_analysis.ipynb /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @leftys 2 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | *Description of your contribution goes here* 2 | 3 | 4 | Checklist: 5 | 6 | - [ ] CI passed -- the notebooks are runable 7 | - [ ] I added markdown intro description in the notebook header 8 | - [ ] ... and conclusions in the footer 9 | -------------------------------------------------------------------------------- /.github/workflows/notebooks.yml: -------------------------------------------------------------------------------- 1 | name: Execute notebooks 2 | 3 | on: [push] 4 | 5 | jobs: 6 | run: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v3 10 | with: 11 | fetch-depth: 0 # OR "2" -> To retrieve the preceding commit. 12 | - uses: actions/setup-python@v4 13 | with: 14 | python-version: '3.10' 15 | # cache: 'pip' # This cache is redundant with restore-virtualenv 16 | - uses: syphar/restore-virtualenv@v1 17 | id: cache-virtualenv 18 | with: 19 | requirement_files: requirements.txt 20 | - run: pip install -r requirements.txt 21 | - name: Cache Lake data 22 | id: cache-lake-data 23 | uses: actions/cache@v3 24 | with: 25 | path: .lake_cache 26 | key: cache-lake-data 27 | - name: Notebook changed 28 | id: changed-files 29 | uses: tj-actions/changed-files@v34 30 | with: 31 | files: | 32 | *.ipynb 33 | - name: Run all notebooks 34 | run: 'pytest --nbmake *.ipynb' 35 | if: steps.changed-files.outputs.any_changed == 'true' 36 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | 131 | .lake_cache 132 | session.tw_session 133 | *_tweets.csv 134 | *.npz 135 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Crypto Lake 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Analysis sharing 2 | 3 | Sharing crypto-related quantitative analyses on our [historical market data](https://crypto-lake.com/?utm_source=github&utm_medium=organic&utm_campaign=analysis-sharing&utm_term=historical-market-data), which are distinctive by including also the [order book data](https://crypto-lake.com/order-book-data/?utm_source=github&utm_medium=organic&utm_campaign=analysis-sharing&utm_term=order-book-data). This repository is curated and reviewed by *Jan Skoda*, an experienced quant and former *Head of Research* of an equity prop-trading company, who is also running a [Market Maker's blog](https://quant.xme.cz/?utm_source=github&utm_medium=organic&utm_campaign=analysis-sharing). 4 | 5 | ## 1. Hummingbot analysis 6 | 7 | In the first notebook, we analyze [Hummingbot](https://hummingbot.org/) market-making strategy on a combination of trade and level_1 order book data. In a very simple simulation, we can experiment with the profitability of variants of this strategy on historical data. This is intended as a basis for your own analysis, not as a direct basis for trading. 8 | 9 | We estimate that with this data-driven backtesting approach, you can **prevent a trading loss of >=10% of your open order nominal monthly** even with a pretty simple analysis compared to the usual '*run the bot, check results after some time, tune parameters, repeat*' approach. And you save a lot of time. Note that this effect can be much bigger on volatile low-volume coins. 10 | 11 | [**-> Open the notebook in nbviewer**](https://nbviewer.org/github/crypto-lake/analysis-sharing/blob/main/hummingbot_backtest.ipynb) 12 | 13 | ## 2. Exploratory analysis 14 | 15 | This notebook is looking on MM profitability, spread characteristics, order-book imbalance and a few autocorrelations on [crypto order book data](https://crypto-lake.com/?utm_source=github&utm_medium=organic&utm_campaign=analysis-sharing&utm_term=crypto-order-book-data). There are some interesting results on extreme order-book imbalances and short-term returns autocorrelations. 16 | 17 | [**-> Open first of the two notebooks in nbviewer**](https://nbviewer.org/github/crypto-lake/analysis-sharing/blob/main/exploratory_analysis/Crypto_Microstructure_BTC_USDT_Exploratory_Analysis.ipynb) 18 | 19 | ## 3. TWAP detection 20 | 21 | We detect simple every-minute TWAP orders/executions in tick data and analyze their impact on price. 22 | 23 | [**-> Open the notebook in nbviewer**](https://nbviewer.org/github/crypto-lake/analysis-sharing/blob/main/twap_detection.ipynb) 24 | 25 | ## 4. Fake volume detection 26 | 27 | We detect fake volume in tick data by comparing trade prices to order book bests. 28 | 29 | [**-> Open the notebook in nbviewer**](https://nbviewer.org/github/crypto-lake/analysis-sharing/blob/main/fake_volume_detection.ipynb) 30 | 31 | ## 5. Twitter influencer analysis 32 | 33 | Backtest of a simple twitter influencer counter-trade strategy. Inspired by the well known Inverse-Cramer strategy. 34 | 35 | [**-> Open the notebook in nbviewer**](https://nbviewer.org/github/crypto-lake/analysis-sharing/blob/main/twitter_analysis.ipynb) 36 | 37 | --- 38 | 39 | ## Contributing 40 | 41 | By contributing into this repository, you can earn a few free weeks of subscription time on crypto-lake.com market data. If you have an idea of what to contribute or want suggestions, [email us](https://crypto-lake.com/contact/). Then just fork this repo and open a pull request once you're ready. 42 | 43 | There are a few contribution rules: 44 | 45 | - quant research rule #1: keep things simple (*KISS*) 46 | - keep the code clean, extract repeated code into functions or modules (DRY) 47 | - each notebook should have markdown intro description in its header and conclusions in the footer 48 | - prefer realistic simulation to smart trading logic/model 49 | 50 | See the list of freely available [sample data](available-sample-data.png) or the [data schemata](https://crypto-lake.com/data/). 51 | 52 | --- 53 | 54 | ## Usage 55 | 56 | Run locally with python3.8 or later. Install requirements.txt and run using `jupyter notebook` shell command. 57 | 58 | Or run online via *Binder* using the link to *nbviewer* above and then click the three rings icon to the top-right. 59 | 60 | ## FAQ 61 | 62 | - Q: Can you share your alpha? / Should we share our alpha? 63 | - A: No. The point of quant research is that everyone should come up with his own 'alpha'. This repository and *Lake* project just aim to make this easier by sharing the basics. 64 | - Q: Can I also use other data than *Lake*? 65 | - A: Sure, but don't mix data sources unless necessary. 66 | - Q: Where can I follow *Lake* and sharing analyses? 67 | - A: Follow us on Twitter 68 | -------------------------------------------------------------------------------- /available-sample-data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crypto-lake/analysis-sharing/2abb3a3c320e71a5d89defeaf6e0289b895ac511/available-sample-data.png -------------------------------------------------------------------------------- /contest-entry-ideas.md: -------------------------------------------------------------------------------- 1 | # Contest entry ideas 2 | 3 | ## Hummingbot backtest 4 | 5 | Extend the Hummingbot [Pure Market Making](https://docs.hummingbot.org/strategies/pure-market-making/) strategy [backtest notebook](https://nbviewer.org/github/crypto-lake/analysis-sharing/blob/main/hummingbot_backtest.ipynb). 6 | 7 | | compexity | description | corresponding Hummingbot parameters | 8 | | -- | -- | -- | 9 | | medium | Properly simulate **order refresh**, the mechanics of when orders are cancelled and re-created. | add order_refresh_time, order_refresh_tolarance_pct, minimum_spread. Maybe even filled_order_delay | 10 | | medium | Properly simulate **inventory balancing**. eg. if you trade BTC-USDT, the strategy should alter bid/ask quote quantities to try to reach 50%-50% balance between your BTC and USDT position value. if you have $900 of BTC and $100 USDT, it should sell BTC aggressively by setting bigger ask and smaller bid quote quantities. | add inventory_skew_enabled and inventory_range_multiplier | 11 | | easy | Add some useful **metrics** for backtest results: annualized sharpe ratio, 99-percentile daily drawdown, mean daily turnover, percentage of hours with at least one fill. the metrics should be computed by some function accepting a dataframe with fills (`df` in the code). | | 12 | | hard | Add **liquidity mining rewards** to the total profit. That would require introducing some function computing eg. daily/weekly reward based on: our spread, our order size, average spread of others, average open order size of others, max spread for the campaign (usually 2%) and total weekly reward.
Some code and explanation of Hummingbot rewards is here: (currently used spread_factor is 8). | | 13 | 14 | 15 | ## Other topics 16 | 17 | | compexity | description | 18 | | -- | -- | 19 | | easy | **Analyze arbitrage** (= price differences) on FTRB-USDT between ASCENDEX and GATEIO exchanges. You can compare mid-to-mid distance for start. Print out statistics how big the price differences are and for how long they last. | 20 | | hard | **Backtest arbitrage** strategy for the above. | 21 | 22 | -------------------------------------------------------------------------------- /exploratory_analysis/requirements.txt: -------------------------------------------------------------------------------- 1 | numpy 2 | pandas 3 | matplotlib 4 | statsmodels 5 | -------------------------------------------------------------------------------- /friend_tech_top_1000.csv: -------------------------------------------------------------------------------- 1 | index,Rank,Twitter,Followers,Market Cap (ETH),MCap/Follower (ETH),Volume (ETH),Share Price (ETH),Share/Follower (ETH),Supply,Buys,Sells,Traders,Trades 2 | 0,1,0xRacerAlt,15285,705.6,0.046163,1141.41,3.14,0.000205,225,583,358.0,352,929 3 | 1,2,cobie,737870,470.6,0.000638,1631.75,2.4,3e-06,196,613,417.0,389,987 4 | 2,3,HsakaTrades,451606,346.58,0.000767,1135.24,1.96,4e-06,177,541,364.0,283,849 5 | 3,4,blknoiz06,121917,303.46,0.002489,612.25,1.79,1.5e-05,170,385,215.0,265,524 6 | 4,5,0xSisyphus,86004,301.68,0.003508,656.06,1.79,2.1e-05,169,465,296.0,313,741 7 | 5,6,Banks,2778053,256.0,9.2e-05,875.18,1.6,1e-06,160,410,250.0,225,590 8 | 6,7,iam4x,5151,248.08,0.048161,549.57,1.56,0.000303,159,479,320.0,349,785 9 | 7,8,zhusu,563539,241.87,0.000429,662.91,1.54,3e-06,157,465,308.0,284,725 10 | 8,9,xcurveth,13936,234.24,0.016809,303.68,1.5,0.000108,156,332,176.0,243,507 11 | 9,10,RookieXBT,383704,216.61,0.000565,473.67,1.43,4e-06,152,288,136.0,142,361 12 | 10,11,friendtechindex,980,165.44,0.168821,294.82,1.19,0.001215,139,318,179.0,230,492 13 | 11,12,Christianeth,25336,151.5,0.00598,90.31,1.12,4.4e-05,135,201,66.0,32,140 14 | 12,13,8892OS,4262,135.21,0.031724,56.96,1.04,0.000244,130,178,48.0,56,144 15 | 13,14,0xLawliette,10688,128.02,0.011978,184.55,1.01,9.4e-05,127,284,157.0,215,418 16 | 14,15,shrimppepe,3775,117.25,0.03106,195.79,0.95,0.00025,124,313,189.0,208,496 17 | 15,16,lBattleRhino,20883,92.6,0.004434,190.38,0.81,3.9e-05,114,234,120.0,162,304 18 | 17,18,CharlotteFang77,700828,83.94,0.00012,263.23,0.76,1e-06,111,299,188.0,150,384 19 | 18,19,Pentosh1,45799,76.57,0.001672,289.31,0.72,1.6e-05,107,273,166.0,150,360 20 | 19,19,Defi_Maestro,6449,76.57,0.011872,134.61,0.72,0.000111,107,222,115.0,149,295 21 | 20,21,saliencexbt,88994,74.44,0.000836,155.73,0.7,8e-06,106,259,153.0,159,397 22 | 21,22,graciehartie,108522,70.3,0.000648,167.52,0.68,6e-06,104,238,134.0,164,348 23 | 22,22,eth_ben,364268,70.3,0.000193,212.29,0.68,2e-06,104,314,210.0,131,476 24 | 23,24,bull_bnb,8721,65.03,0.007457,76.63,0.64,7.3e-05,102,190,88.0,86,231 25 | 24,25,0xCaptainLevi,216308,64.39,0.000298,97.62,0.64,3e-06,101,173,72.0,109,240 26 | 25,26,gainzy222,8307,62.5,0.007524,307.16,0.63,7.5e-05,100,409,309.0,268,678 27 | 26,27,degendevv,18211,60.64,0.00333,79.0,0.61,3.4e-05,99,200,101.0,165,301 28 | 27,28,timothyronald22,167117,59.42,0.000356,38.1,0.6,4e-06,99,146,47.0,91,171 29 | 28,29,KeyboardMonkey3,46796,57.63,0.001232,126.12,0.59,1.3e-05,98,248,150.0,163,361 30 | 29,30,NorthRockLP,209528,55.87,0.000267,174.77,0.58,3e-06,97,246,149.0,139,351 31 | 30,31,adamscochran,182986,53.59,0.000293,115.23,0.56,3e-06,95,245,150.0,137,370 32 | 31,32,TrustlessState,915129,50.81,5.6e-05,98.28,0.54,1e-06,94,232,138.0,151,324 33 | 32,33,MarioNawfal,138898,50.27,0.000362,165.23,0.54,4e-06,93,226,133.0,128,283 34 | 33,33,zeydcarey,7712,50.27,0.006519,71.71,0.54,7e-05,93,179,86.0,125,222 35 | 34,35,cryptojamie7,595811,45.56,7.6e-05,46.62,0.51,1e-06,90,138,48.0,90,182 36 | 35,35,CryptoKaleo,720696,45.56,6.3e-05,147.05,0.51,1e-06,90,277,187.0,213,459 37 | 36,37,cryptomanran,353394,44.56,0.000126,106.72,0.5,1e-06,90,202,112.0,108,259 38 | 38,38,garrytan,433581,43.08,9.9e-05,172.05,0.48,1e-06,89,222,133.0,107,272 39 | 39,40,Pancakesbrah,3166720,42.59,1.3e-05,86.97,0.48,0.0,88,224,136.0,172,360 40 | 40,41,zachxbt,251858,41.63,0.000165,174.52,0.47,2e-06,88,221,133.0,109,254 41 | 41,42,FaZe_Rain,290659,38.38,0.000132,231.39,0.45,2e-06,85,262,177.0,124,321 42 | 42,42,inversebrah,106547,38.38,0.00036,234.13,0.45,4e-06,85,238,153.0,132,311 43 | 43,42,CozomoMedici,257611,38.38,0.000149,151.8,0.45,2e-06,85,236,151.0,135,297 44 | 44,45,jebus911,128644,37.49,0.000291,69.42,0.44,3e-06,85,225,140.0,170,365 45 | 45,46,Melt_Dem,225048,36.17,0.000161,46.12,0.43,2e-06,84,174,90.0,101,219 46 | 46,46,icebergy_,238166,36.17,0.000152,149.75,0.43,2e-06,84,307,223.0,233,525 47 | 47,48,ColdBloodShill,375563,35.74,9.5e-05,142.19,0.43,1e-06,83,212,129.0,131,290 48 | 48,49,marenaltman,136709,34.46,0.000252,87.18,0.42,3e-06,82,278,196.0,189,409 49 | 49,49,Tradermayne,99019,34.46,0.000348,141.19,0.42,4e-06,82,232,150.0,129,306 50 | 50,49,0xfoobar,56886,34.46,0.000606,151.31,0.42,7e-06,82,306,224.0,211,502 51 | 51,49,Cryptoyieldinfo,503223,34.46,6.8e-05,55.48,0.42,1e-06,82,178,96.0,111,224 52 | 52,53,basedkarbon,210944,33.22,0.000157,74.03,0.41,2e-06,81,209,128.0,165,320 53 | 53,53,CryptoDonAlt,294636,33.22,0.000113,126.43,0.41,1e-06,81,285,204.0,193,459 54 | 54,53,frankdegods,72537,33.22,0.000458,171.33,0.41,6e-06,81,221,140.0,118,281 55 | 55,56,loomdart,436024,32.0,7.3e-05,153.18,0.4,1e-06,80,298,218.0,181,435 56 | 56,56,hoss_crypto,2942319,32.0,1.1e-05,27.41,0.4,0.0,80,144,64.0,79,163 57 | 57,56,pranksy,14026,32.0,0.002281,138.89,0.4,2.9e-05,80,235,155.0,131,303 58 | 58,59,Nadeshot,1985,31.21,0.01572,325.67,0.39,0.000197,80,273,193.0,170,402 59 | 59,59,Pool2Paulie,153108,31.21,0.000204,71.77,0.39,3e-06,80,189,109.0,154,296 60 | 60,61,Youcoinorg,5635,30.81,0.005468,12.32,0.39,6.9e-05,79,89,10.0,7,17 61 | 62,63,dingalingts,310719,29.66,9.5e-05,169.66,0.38,1e-06,78,333,255.0,213,574 62 | 63,64,BasedShillBH,244393,28.53,0.000117,54.52,0.37,2e-06,77,162,85.0,126,247 63 | 64,64,disclosure,242172,28.53,0.000118,107.41,0.37,2e-06,77,213,136.0,129,294 64 | 65,66,tier10k,28309,27.8,0.000982,136.04,0.36,1.3e-05,77,213,136.0,91,261 65 | 66,66,nikitabier,7430,27.8,0.003741,122.68,0.36,4.9e-05,77,210,133.0,135,304 66 | 67,66,sassal0x,22218,27.8,0.001251,44.35,0.36,1.6e-05,77,210,133.0,161,330 67 | 68,66,QuantMeta,250971,27.8,0.000111,25.04,0.36,1e-06,77,115,38.0,85,153 68 | 69,70,izebel_eth,10581,27.44,0.002593,154.5,0.36,3.4e-05,76,273,197.0,153,460 69 | 70,70,Teeznutz11,1400,27.44,0.019597,34.98,0.36,0.000258,76,131,55.0,116,184 70 | 71,70,GraysonJAllen,84336,27.44,0.000325,149.89,0.36,4e-06,76,245,169.0,167,358 71 | 72,73,SolvingFrank,65206,26.72,0.00041,40.83,0.35,5e-06,76,173,97.0,111,239 72 | 73,73,therealdinoshi,68188,26.72,0.000392,14.92,0.35,5e-06,76,117,41.0,38,154 73 | 74,75,CryptoKaduna,257563,26.37,0.000102,49.42,0.35,1e-06,75,160,85.0,104,218 74 | 75,75,Crypto_McKenna,19896,26.37,0.001325,49.99,0.35,1.8e-05,75,196,121.0,109,290 75 | 76,75,SmallCapScience,75908,26.37,0.000347,52.08,0.35,5e-06,75,152,77.0,107,229 76 | 77,78,3LAU,283482,25.67,9.1e-05,45.61,0.34,1e-06,75,173,98.0,96,226 77 | 78,79,BigDickBull69,27845,25.33,0.00091,171.93,0.34,1.2e-05,74,283,209.0,209,466 78 | 79,79,AviFelman,9801,25.33,0.002584,45.58,0.34,3.5e-05,74,200,126.0,135,292 79 | 80,79,LomahCrypto,1403356,25.33,1.8e-05,145.37,0.34,0.0,74,223,149.0,121,287 80 | 81,79,thiccythot_,14388,25.33,0.00176,32.88,0.34,2.4e-05,74,163,89.0,83,186 81 | 82,83,DextMoon,137,24.65,0.179902,55.86,0.33,0.002431,74,188,114.0,144,302 82 | 83,84,AltcoinDailyio,28748,24.31,0.000846,61.89,0.33,1.2e-05,73,168,95.0,88,230 83 | 84,84,Evan_ss6,395786,24.31,6.1e-05,52.45,0.33,1e-06,73,197,124.0,140,288 84 | 85,84,XSRoracle,119706,24.31,0.000203,17.65,0.33,3e-06,73,98,25.0,37,119 85 | 86,84,ChicoCrypto,39402,24.31,0.000617,40.95,0.33,8e-06,73,147,74.0,69,178 86 | 87,84,sincerelyjuju,282425,24.31,8.6e-05,49.75,0.33,1e-06,73,179,106.0,113,242 87 | 88,89,matthuang,585535,23.65,4e-05,58.86,0.32,1e-06,73,158,85.0,70,159 88 | 89,90,screentimes,71964,23.33,0.000324,66.04,0.32,5e-06,72,218,146.0,159,340 89 | 90,90,AngeloBTC,306776,23.33,7.6e-05,49.7,0.32,1e-06,72,158,86.0,73,182 90 | 91,90,saorikiyomi,30319,23.33,0.000769,39.3,0.32,1.1e-05,72,189,117.0,125,290 91 | 92,93,Awawat_Trades,5184,22.68,0.004376,59.01,0.32,6.1e-05,72,191,119.0,123,253 92 | 93,93,eliz883,18253,22.68,0.001243,66.96,0.32,1.7e-05,72,192,120.0,105,249 93 | 94,95,jessepollak,6774,22.37,0.003302,61.3,0.32,4.7e-05,71,205,134.0,127,280 94 | 95,95,glebble,245880,22.37,9.1e-05,23.65,0.32,1e-06,71,154,83.0,118,233 95 | 96,97,owen1v9,353728,20.83,5.9e-05,64.69,0.3,1e-06,70,155,85.0,105,222 96 | 98,98,chiefingza,16870,20.53,0.001217,55.06,0.3,1.8e-05,69,190,121.0,119,291 97 | 99,98,pussyrrriot,13089,20.53,0.001569,62.35,0.3,2.3e-05,69,231,162.0,137,366 98 | 100,101,milesdeutscher,30414,19.65,0.000646,81.3,0.29,1e-05,68,207,139.0,123,286 99 | 102,101,pedrigavifrenki,167259,19.65,0.000117,40.48,0.29,2e-06,68,177,109.0,99,276 100 | 103,104,yugoviking,592,19.08,0.032227,35.92,0.28,0.000474,68,138,70.0,61,132 101 | 104,105,0xari420,19183,18.8,0.00098,52.19,0.28,1.5e-05,67,175,108.0,127,273 102 | 105,106,_charlienoyes,21390,18.24,0.000853,36.74,0.27,1.3e-05,67,131,64.0,83,182 103 | 107,108,SCHIZO_FREQ,428169,17.97,4.2e-05,84.96,0.27,1e-06,66,230,164.0,143,367 104 | 108,108,alexislustt,156725,17.97,0.000115,38.54,0.27,2e-06,66,182,116.0,113,260 105 | 109,110,lilsmores_,18088,17.16,0.000949,17.61,0.26,1.5e-05,65,123,58.0,73,179 106 | 110,110,alenaxbt,565738,17.16,3e-05,60.76,0.26,0.0,65,159,94.0,101,216 107 | 111,110,yourfriendSOMMI,189137,17.16,9.1e-05,14.83,0.26,1e-06,65,115,50.0,71,147 108 | 112,110,coinmamba,23225,17.16,0.000739,66.87,0.26,1.1e-05,65,248,183.0,151,400 109 | 113,110,mrJackLevin,132379,17.16,0.00013,49.27,0.26,2e-06,65,163,98.0,105,223 110 | 114,110,Cooopahtroopa,1183,17.16,0.014509,22.52,0.26,0.000223,65,147,82.0,96,214 111 | 115,116,ZoomerOracle,8055,16.64,0.002066,69.03,0.26,3.2e-05,65,188,123.0,133,304 112 | 116,116,CryptoCred,121038,16.64,0.000137,129.7,0.26,2e-06,65,205,140.0,134,288 113 | 117,118,AlgodTrading,248904,16.38,6.6e-05,82.12,0.26,1e-06,64,194,130.0,87,231 114 | 118,118,drboblax,60383,16.38,0.000271,57.14,0.26,4e-06,64,156,92.0,69,185 115 | 119,118,jerallaire,14660,16.38,0.001118,38.06,0.26,1.7e-05,64,180,116.0,100,221 116 | 120,118,holycryptoroni,220341,16.38,7.4e-05,7.35,0.26,1e-06,64,72,8.0,10,76 117 | 121,118,lilclearpill,10032,16.38,0.001633,25.05,0.26,2.6e-05,64,146,82.0,81,207 118 | 122,123,cousincrypt0,9,15.88,1.764,59.54,0.25,0.027563,64,143,79.0,58,137 119 | 124,124,DeeZe,132365,15.63,0.000118,70.35,0.25,2e-06,63,223,160.0,163,368 120 | 126,127,thevickiejay,59093,14.9,0.000252,28.99,0.24,4e-06,62,151,89.0,106,214 121 | 127,127,doomsdart,11812,14.9,0.001261,43.66,0.24,2e-05,62,188,126.0,133,314 122 | 128,127,MoonOverlord,35972,14.9,0.000414,51.88,0.24,7e-06,62,208,146.0,141,344 123 | 129,127,DynamoxEth,195883,14.9,7.6e-05,25.44,0.24,1e-06,62,120,58.0,77,174 124 | 130,127,NFTHero2,177512,14.9,8.4e-05,25.41,0.24,1e-06,62,127,65.0,78,192 125 | 131,132,RodionBezukhov,3837,14.42,0.003758,18.4,0.23,6.1e-05,62,117,55.0,69,172 126 | 132,132,EricCryptoman,11515,14.42,0.001252,60.14,0.23,2e-05,62,151,89.0,86,173 127 | 133,134,fejau_inc,2096,13.73,0.006548,23.03,0.23,0.000107,61,142,81.0,109,218 128 | 134,134,ZKasino_io,96708,13.73,0.000142,43.22,0.23,2e-06,61,151,90.0,77,239 129 | 135,134,toptickcrypto,21150,13.73,0.000649,23.98,0.23,1.1e-05,61,120,59.0,84,179 130 | 136,134,naniXBT,12659,13.73,0.001084,48.75,0.23,1.8e-05,61,206,145.0,169,341 131 | 137,138,Irenezhao_,227188,13.5,5.9e-05,60.39,0.23,1e-06,60,199,139.0,133,317 132 | 138,138,udiWertheimer,196787,13.5,6.9e-05,54.2,0.23,1e-06,60,236,176.0,156,378 133 | 139,138,NoMoreLiquidity,2155153,13.5,6e-06,34.36,0.23,0.0,60,170,110.0,127,280 134 | 140,138,bryptokenneth3,136968,13.5,9.9e-05,48.56,0.23,2e-06,60,177,117.0,140,294 135 | 141,138,0xElyy,45070,13.5,0.0003,12.52,0.23,5e-06,60,102,42.0,56,138 136 | 142,143,cryptoWZRD_,52,13.05,0.251034,6.91,0.22,0.004184,60,93,33.0,60,107 137 | 143,143,ethersole,301393,13.05,4.3e-05,24.19,0.22,1e-06,60,130,70.0,59,179 138 | 144,145,bendoverxbt,34030,12.84,0.000377,33.04,0.22,6e-06,59,114,55.0,65,126 139 | 145,145,ledgerstatus,63557,12.84,0.000202,82.78,0.22,3e-06,59,244,185.0,157,410 140 | 146,145,CryptoFinally,7819,12.84,0.001642,28.49,0.22,2.8e-05,59,171,112.0,114,245 141 | 147,145,BillyM2k,33967,12.84,0.000378,53.38,0.22,6e-06,59,184,125.0,94,281 142 | 148,145,notthreadguy,13145,12.84,0.000977,35.04,0.22,1.7e-05,59,138,79.0,93,193 143 | 150,151,CoinGurruu,225652,12.19,5.4e-05,37.07,0.21,1e-06,58,140,82.0,98,205 144 | 151,151,friendtechetf,74798,12.19,0.000163,10.41,0.21,3e-06,58,83,25.0,35,100 145 | 152,151,MuroCrypto,128278,12.19,9.5e-05,43.47,0.21,2e-06,58,148,90.0,86,188 146 | 153,151,passytee,244,12.19,0.049977,17.26,0.21,0.000862,58,126,68.0,73,170 147 | 154,151,LucaNetz,84605,12.19,0.000144,69.73,0.21,2e-06,58,241,183.0,167,387 148 | 155,151,0xBreadguy,1653689,12.19,7e-06,16.5,0.21,0.0,58,100,42.0,73,142 149 | 156,151,RaccoonHKG,23183,12.19,0.000526,16.86,0.21,9e-06,58,126,68.0,50,194 150 | 157,151,cryptoalle,2013,12.19,0.006058,28.44,0.21,0.000104,58,130,72.0,71,188 151 | 158,159,WSBChairman,21003,11.78,0.000561,93.32,0.2,1e-05,58,210,152.0,100,310 152 | 159,159,Bluntz_Capital,26043,11.78,0.000452,63.92,0.2,8e-06,58,169,111.0,90,224 153 | 160,159,cubantobacco,2739,11.78,0.0043,17.7,0.2,7.4e-05,58,118,60.0,63,149 154 | 161,162,satsdart,689806,11.57,1.7e-05,53.68,0.2,0.0,57,247,190.0,189,421 155 | 162,162,FriendTechAlpha,51217,11.57,0.000226,17.4,0.2,4e-06,57,127,70.0,80,192 156 | 164,165,andy8052,114999,11.17,9.7e-05,20.17,0.2,2e-06,57,161,104.0,114,251 157 | 165,165,kevinrose,61707,11.17,0.000181,50.7,0.2,3e-06,57,193,136.0,119,288 158 | 166,165,dotta,11412,11.17,0.000979,10.43,0.2,1.7e-05,57,109,52.0,76,148 159 | 167,165,StarryNightDAO,22029,11.17,0.000507,38.28,0.2,9e-06,57,135,78.0,86,208 160 | 168,169,smileycapital,348139,10.98,3.2e-05,29.53,0.2,1e-06,56,145,89.0,83,229 161 | 169,169,pimpcapital,102181,10.98,0.000107,42.07,0.2,2e-06,56,148,92.0,73,201 162 | 170,169,mbaril010,25082,10.98,0.000438,22.29,0.2,8e-06,56,112,56.0,62,162 163 | 171,172,elliotrades,122803,10.59,8.6e-05,71.03,0.19,2e-06,56,196,140.0,106,272 164 | 172,172,tarunchitra,10022,10.59,0.001056,10.39,0.19,1.9e-05,56,104,48.0,71,128 165 | 173,172,ercwl,152579,10.59,6.9e-05,21.47,0.19,1e-06,56,139,83.0,83,179 166 | 174,175,MacroCRG,181805,10.4,5.7e-05,40.18,0.19,1e-06,55,119,64.0,75,152 167 | 175,175,tradinglord,9963,10.4,0.001044,27.0,0.19,1.9e-05,55,157,102.0,103,259 168 | 176,175,d0unbug,371667,10.4,2.8e-05,36.27,0.19,1e-06,55,172,117.0,108,289 169 | 177,175,KaminoCrypto,174736,10.4,6e-05,31.48,0.19,1e-06,55,123,68.0,73,147 170 | 178,175,DaanCrypto,1470,10.4,0.007074,20.85,0.19,0.000129,55,128,73.0,72,170 171 | 179,175,Sicarious_,161825,10.4,6.4e-05,15.11,0.19,1e-06,55,125,70.0,71,173 172 | 180,181,jconorgrogan,8588,10.02,0.001167,12.21,0.18,2.1e-05,55,114,59.0,69,155 173 | 181,181,BTCdayu,425490,10.02,2.4e-05,18.8,0.18,0.0,55,106,51.0,54,133 174 | 182,181,will__price,7672,10.02,0.001307,14.77,0.18,2.4e-05,55,93,38.0,55,131 175 | 184,181,econoar,76243,10.02,0.000131,42.25,0.18,2e-06,55,146,91.0,88,172 176 | 185,181,hailey_grice,13673,10.02,0.000733,25.28,0.18,1.3e-05,55,114,59.0,61,144 177 | 186,187,tomkysar,126472,9.84,7.8e-05,6.12,0.18,1e-06,54,91,37.0,44,125 178 | 187,187,Zeneca,2268,9.84,0.004339,35.36,0.18,8e-05,54,199,145.0,128,284 179 | 188,187,osf_rekt,32217,9.84,0.000305,31.13,0.18,6e-06,54,155,101.0,97,228 180 | 189,187,0xsubmerged,15338,9.84,0.000642,50.44,0.18,1.2e-05,54,225,171.0,174,386 181 | 190,187,ByzGeneral,2930,9.84,0.003359,27.15,0.18,6.2e-05,54,174,120.0,111,239 182 | 191,187,d_gilz,181384,9.84,5.4e-05,29.02,0.18,1e-06,54,137,83.0,117,220 183 | 192,193,MacnBTC,108971,9.48,8.7e-05,50.78,0.18,2e-06,54,153,99.0,57,148 184 | 193,193,GwartyGwart,16187,9.48,0.000586,25.0,0.18,1.1e-05,54,157,103.0,116,244 185 | 194,193,friendtech_bot,127718,9.48,7.4e-05,16.57,0.18,1e-06,54,103,49.0,61,129 186 | 195,193,TiffanyFong_,5414,9.48,0.001751,16.07,0.18,3.2e-05,54,132,78.0,73,194 187 | 196,193,sandraaleow,117690,9.48,8.1e-05,10.53,0.18,1e-06,54,102,48.0,46,102 188 | 197,193,aubreystrobel,5863,9.48,0.001617,19.67,0.18,3e-05,54,121,67.0,68,144 189 | 198,199,ScizRtrading,60346,9.3,0.000154,11.76,0.18,3e-06,53,91,38.0,73,114 190 | 199,199,cole0x,450,9.3,0.020677,30.13,0.18,0.00039,53,152,99.0,77,217 191 | 200,199,zerobeta,149342,9.3,6.2e-05,18.04,0.18,1e-06,53,123,70.0,104,193 192 | 201,199,KANECOIN_ETH,150046,9.3,6.2e-05,6.24,0.18,1e-06,53,66,13.0,44,79 193 | 202,199,Cryptopathic,228160,9.3,4.1e-05,66.79,0.18,1e-06,53,219,166.0,137,345 194 | 203,199,notEezzy,103149,9.3,9e-05,35.26,0.18,2e-06,53,207,154.0,159,361 195 | 204,199,Brentsketit,14827,9.3,0.000628,29.27,0.18,1.2e-05,53,164,111.0,123,275 196 | 206,199,Cutiepii33Quinn,136958,9.3,6.8e-05,29.83,0.18,1e-06,53,173,120.0,98,259 197 | 207,199,sungjae_han,41150,9.3,0.000226,13.43,0.18,4e-06,53,116,63.0,88,179 198 | 208,199,kaiynne,37366,9.3,0.000249,31.0,0.18,5e-06,53,175,122.0,116,271 199 | 209,199,UniswapVillain,350,9.3,0.026585,33.67,0.18,0.000502,53,138,85.0,52,151 200 | 210,211,0xCygaar,33496,8.96,0.000267,17.51,0.17,5e-06,53,150,97.0,128,244 201 | 211,211,ManifestorDAO,2701,8.96,0.003316,6.96,0.17,6.3e-05,53,68,15.0,31,83 202 | 212,211,NFT_GOD,1372,8.96,0.006528,31.21,0.17,0.000123,53,142,89.0,65,207 203 | 213,211,Arthur_0x,38846,8.96,0.000231,41.48,0.17,4e-06,53,148,95.0,81,177 204 | 214,215,RyanSAdams,1523,8.79,0.00577,31.8,0.17,0.000111,52,182,130.0,122,263 205 | 215,215,BitCloutCat,903,8.79,0.009732,64.99,0.17,0.000187,52,231,179.0,151,409 206 | 216,217,jtradestar,6796,8.45,0.001244,21.37,0.16,2.4e-05,52,110,58.0,74,158 207 | 217,217,mooncat2878,92906,8.45,9.1e-05,21.25,0.16,2e-06,52,143,91.0,100,197 208 | 218,217,mdudas,99008,8.45,8.5e-05,15.55,0.16,2e-06,52,151,99.0,107,243 209 | 219,217,superphiz,6643,8.45,0.001273,7.66,0.16,2.4e-05,52,88,36.0,62,111 210 | 220,221,Cheguevoblin,70230,8.29,0.000118,87.12,0.16,2e-06,51,165,114.0,96,242 211 | 221,221,swm,115211,8.29,7.2e-05,3.01,0.16,1e-06,51,53,2.0,3,55 212 | 222,221,poordart,115968,8.29,7.1e-05,24.29,0.16,1e-06,51,154,103.0,120,234 213 | 223,221,0xleonidas__,12218,8.29,0.000679,6.47,0.16,1.3e-05,51,88,37.0,54,121 214 | 224,221,0xWives,368650,8.29,2.2e-05,7.12,0.16,0.0,51,72,21.0,51,87 215 | 226,221,KookCapitalLLC,17508,8.29,0.000474,15.1,0.16,9e-06,51,152,101.0,107,240 216 | 227,221,chumbawamba22,206282,8.29,4e-05,16.68,0.16,1e-06,51,97,46.0,58,143 217 | 228,221,BussyFiller69,42658,8.29,0.000194,8.68,0.16,4e-06,51,78,27.0,55,105 218 | 229,221,mugentrader,53725,8.29,0.000154,6.59,0.16,3e-06,51,82,31.0,44,101 219 | 230,231,scupytrooples,60056,7.97,0.000133,9.65,0.16,3e-06,51,105,54.0,65,124 220 | 231,231,mayakendrickxo,10122,7.97,0.000787,22.0,0.16,1.5e-05,51,155,104.0,103,258 221 | 233,231,0xdasha,301160,7.97,2.6e-05,30.43,0.16,1e-06,51,188,137.0,143,319 222 | 235,231,alpha_pls,4906,7.97,0.001624,6.96,0.16,3.2e-05,51,115,64.0,81,170 223 | 236,231,rektmando,18333,7.97,0.000435,30.9,0.16,9e-06,51,139,88.0,99,193 224 | 237,238,TraderKoz,30605,7.81,0.000255,24.12,0.16,5e-06,50,117,67.0,69,145 225 | 238,238,yugacohler,42986,7.81,0.000182,20.33,0.16,4e-06,50,130,80.0,95,209 226 | 239,238,WhaleChart,5561,7.81,0.001405,19.33,0.16,2.8e-05,50,161,111.0,73,207 227 | 240,238,TaikiMaeda2,36033,7.81,0.000217,19.37,0.16,4e-06,50,138,88.0,100,226 228 | 241,238,diamondhandjs,40723,7.81,0.000192,13.82,0.16,4e-06,50,102,52.0,58,135 229 | 242,238,Loopifyyy,7851,7.81,0.000995,63.27,0.16,2e-05,50,190,140.0,90,223 230 | 243,238,crypto_linn,28156,7.81,0.000277,33.2,0.16,6e-06,50,133,83.0,91,184 231 | 244,238,bertcmiller,12634,7.81,0.000618,13.17,0.16,1.2e-05,50,111,61.0,74,144 232 | 245,246,98sThoughts,179744,7.5,4.2e-05,7.62,0.15,1e-06,49,87,38.0,34,85 233 | 247,247,unbanksyETH,13695,7.5,0.000548,11.11,0.15,1.1e-05,50,102,52.0,74,134 234 | 248,247,StaniKulechov,271448,7.5,2.8e-05,31.99,0.15,1e-06,50,181,131.0,113,254 235 | 249,247,gmoneyNFT,176807,7.5,4.2e-05,68.94,0.15,1e-06,50,178,128.0,100,225 236 | 250,247,art_xbt,3065,7.5,0.002448,20.41,0.15,4.9e-05,50,109,59.0,46,116 237 | 251,252,0x_Prototype,186410,7.35,3.9e-05,20.22,0.15,1e-06,49,131,82.0,100,212 238 | 252,252,ReetikaTrades,1080,7.35,0.006808,12.99,0.15,0.000139,49,138,89.0,89,206 239 | 253,252,resdegen,31307,7.35,0.000235,21.76,0.15,5e-06,49,94,45.0,52,124 240 | 254,252,0xUnihax0r,411,7.35,0.017891,26.7,0.15,0.000365,49,112,63.0,42,117 241 | 255,252,Kryptk33p3r666,51286,7.35,0.000143,11.92,0.15,3e-06,49,96,47.0,59,134 242 | 256,252,samkazemian,11283,7.35,0.000652,22.17,0.15,1.3e-05,49,105,56.0,60,128 243 | 257,252,CC2Ventures,14092,7.35,0.000522,16.31,0.15,1.1e-05,49,111,62.0,83,170 244 | 258,252,maybectrlfreak,53287,7.35,0.000138,18.91,0.15,3e-06,49,131,82.0,88,212 245 | 259,260,PopcornKirby,333154,7.06,2.1e-05,28.91,0.14,0.0,49,138,89.0,88,193 246 | 260,260,TheHunterCR,0,7.06,0.0,3.89,0.14,0.0,49,67,18.0,29,75 247 | 262,263,packyM,2764,6.91,0.002501,13.92,0.14,5.2e-05,48,130,82.0,94,196 248 | 263,263,jonitzler,63094,6.91,0.00011,18.1,0.14,2e-06,48,121,73.0,77,194 249 | 264,263,dennis_qian,40489,6.91,0.000171,17.81,0.14,4e-06,48,102,54.0,67,141 250 | 265,263,Route2FI,347592,6.91,2e-05,17.34,0.14,0.0,48,159,111.0,115,270 251 | 266,263,beaniemaxi,24933,6.91,0.000277,66.3,0.14,6e-06,48,184,136.0,116,284 252 | 267,263,thesminemverse,30973,6.91,0.000223,11.94,0.14,5e-06,48,88,40.0,25,112 253 | 268,263,notsofast,174757,6.91,4e-05,15.51,0.14,1e-06,48,135,87.0,100,222 254 | 269,263,metatron_0x,25069,6.91,0.000276,6.74,0.14,6e-06,48,96,48.0,64,143 255 | 270,271,pet3rpan_,53777,6.63,0.000123,5.21,0.14,3e-06,48,74,26.0,62,100 256 | 271,271,ThisMalaka,80947,6.63,8.2e-05,3.23,0.14,2e-06,48,60,12.0,42,67 257 | 272,271,LouisCooper_,198528,6.63,3.3e-05,15.86,0.14,1e-06,48,121,73.0,76,167 258 | 273,271,jon_charb,126631,6.63,5.2e-05,7.58,0.14,1e-06,48,82,34.0,62,100 259 | 274,271,derekedws,78827,6.63,8.4e-05,7.87,0.14,2e-06,48,89,41.0,63,126 260 | 275,271,CryptoTickers,4244,6.63,0.001561,22.88,0.14,3.3e-05,48,110,62.0,73,148 261 | 276,271,CryptoTony__,120827,6.63,5.5e-05,21.01,0.14,1e-06,48,132,84.0,80,176 262 | 277,271,crypt0detweiler,10774,6.63,0.000615,6.43,0.14,1.3e-05,48,97,49.0,69,146 263 | 278,271,therobotjames,14353,6.63,0.000462,19.01,0.14,1e-05,48,118,70.0,73,157 264 | 279,280,MissionGains,66181,6.49,9.8e-05,6.11,0.14,2e-06,47,91,44.0,53,135 265 | 280,280,Anonymoux2311,5485,6.49,0.001183,17.91,0.14,2.5e-05,47,109,62.0,72,153 266 | 281,280,anggaandinata,4469,6.49,0.001452,3.91,0.14,3.1e-05,47,80,33.0,45,90 267 | 282,280,farokh,62488,6.49,0.000104,55.09,0.14,2e-06,47,248,201.0,165,419 268 | 283,280,moon_guurl,84683,6.49,7.7e-05,32.32,0.14,2e-06,47,196,149.0,136,345 269 | 284,280,bitcoinPalmer,7308,6.49,0.000888,12.59,0.14,1.9e-05,47,115,68.0,79,168 270 | 285,280,coinfessions,3659,6.49,0.001773,35.26,0.14,3.8e-05,47,214,167.0,145,360 271 | 286,287,tamtaytion,46173,6.22,0.000135,12.58,0.13,3e-06,47,120,73.0,86,188 272 | 287,287,KashKysh,56382,6.22,0.00011,11.14,0.13,2e-06,47,111,64.0,76,153 273 | 288,287,lemiscate,5140,6.22,0.001209,10.5,0.13,2.6e-05,47,103,56.0,61,123 274 | 289,287,inmortalcrypto,1636,6.22,0.003799,27.98,0.13,8.1e-05,47,137,90.0,78,172 275 | 290,287,koreanjewcrypto,137130,6.22,4.5e-05,66.9,0.13,1e-06,47,171,124.0,73,211 276 | 291,287,HerroCrypto,16174,6.22,0.000384,8.87,0.13,8e-06,47,96,49.0,55,110 277 | 292,287,nick_emmons,179598,6.22,3.5e-05,3.4,0.13,1e-06,47,64,17.0,32,77 278 | 293,287,MariusCrypt0,19532,6.22,0.000318,22.53,0.13,7e-06,47,118,71.0,52,139 279 | 294,287,pleyuh,48272,6.22,0.000129,10.79,0.13,3e-06,47,109,62.0,56,149 280 | 295,287,lootbot_xyz,1733,6.22,0.003587,10.63,0.13,7.6e-05,47,99,52.0,61,133 281 | 296,297,PaikCapital,6744,6.08,0.000902,15.1,0.13,2e-05,46,134,88.0,98,222 282 | 297,297,ReoNuevo,114579,6.08,5.3e-05,6.43,0.13,1e-06,46,82,36.0,39,112 283 | 298,297,sumfattytuna,100648,6.08,6e-05,8.52,0.13,1e-06,46,90,44.0,70,134 284 | 299,297,ThorHartvigsen,0,6.08,0.0,6.89,0.13,0.0,46,85,39.0,54,112 285 | 300,297,SizeChad,9349,6.08,0.000651,51.91,0.13,1.4e-05,46,279,233.0,183,497 286 | 301,297,docXBT,18021,6.08,0.000338,5.9,0.13,7e-06,46,73,27.0,55,97 287 | 302,297,ameliabunny00,67813,6.08,9e-05,7.18,0.13,2e-06,46,85,39.0,49,112 288 | 304,297,knowerofmarkets,6503,6.08,0.000935,13.78,0.13,2e-05,46,137,91.0,90,203 289 | 305,297,THORmaximalist,31107,6.08,0.000196,8.72,0.13,4e-06,46,85,39.0,44,97 290 | 306,297,wronguser000,31745,6.08,0.000192,9.98,0.13,4e-06,46,106,60.0,74,166 291 | 307,297,billyoptionsii,61554,6.08,9.9e-05,11.84,0.13,2e-06,46,99,53.0,64,147 292 | 308,297,jimtalbot,6261,6.08,0.000972,34.04,0.13,2.1e-05,46,131,85.0,75,155 293 | 311,311,CJCJCJCJ_,197659,5.82,2.9e-05,9.46,0.13,1e-06,46,94,48.0,65,142 294 | 312,311,SalsaTekila,48484,5.82,0.00012,22.01,0.13,3e-06,46,153,107.0,97,204 295 | 313,311,321bigcat,29154,5.82,0.0002,4.75,0.13,4e-06,46,76,30.0,49,105 296 | 314,311,TrVon,98331,5.82,5.9e-05,12.17,0.13,1e-06,46,115,69.0,65,150 297 | 315,311,chinesefiat,175290,5.82,3.3e-05,10.57,0.13,1e-06,46,91,45.0,58,132 298 | 316,311,Ace_da_Book,28560,5.82,0.000204,3.88,0.13,4e-06,46,68,22.0,54,90 299 | 317,311,krybharat,82412,5.82,7.1e-05,13.52,0.13,2e-06,46,132,86.0,79,180 300 | 318,311,JasonYanowitz,2922,5.82,0.001992,19.93,0.13,4.3e-05,46,118,72.0,69,157 301 | 319,320,buyerofblood,6362,5.7,0.000895,27.68,0.13,2e-05,45,168,123.0,131,287 302 | 320,320,stoicsavage,142617,5.7,4e-05,29.99,0.13,1e-06,45,164,119.0,92,281 303 | 321,320,veH0rny,82809,5.7,6.9e-05,24.77,0.13,2e-06,45,166,121.0,101,253 304 | 322,320,intern,19062,5.7,0.000299,15.77,0.13,7e-06,45,149,104.0,103,216 305 | 323,320,NewsyJohnson,543028,5.7,1e-05,11.29,0.13,0.0,45,81,36.0,49,113 306 | 324,320,caitlinxyz,6583,5.7,0.000865,29.31,0.13,1.9e-05,45,134,89.0,68,165 307 | 325,320,cryptomagic2040,54336,5.7,0.000105,3.35,0.13,2e-06,45,65,20.0,40,75 308 | 326,327,TheNFTAsian,15231,5.45,0.000357,3.81,0.12,8e-06,45,66,21.0,38,87 309 | 327,328,defi_mochi,8300,5.32,0.000641,19.17,0.12,1.5e-05,44,106,62.0,60,123 310 | 328,328,tervoooo,8043,5.32,0.000662,11.14,0.12,1.5e-05,44,108,64.0,74,172 311 | 329,328,s4msies,61671,5.32,8.6e-05,3.55,0.12,2e-06,44,73,29.0,39,81 312 | 331,328,spreekaway,45941,5.32,0.000116,12.94,0.12,3e-06,44,109,65.0,83,174 313 | 332,328,msbreewc,5500,5.32,0.000968,18.5,0.12,2.2e-05,44,105,61.0,59,128 314 | 333,328,SplitCapital,64491,5.32,8.3e-05,20.45,0.12,2e-06,44,114,70.0,72,141 315 | 334,328,hyuktrades,59926,5.32,8.9e-05,18.71,0.12,2e-06,44,92,48.0,47,114 316 | 335,328,owocki,429785,5.32,1.2e-05,5.81,0.12,0.0,44,103,59.0,69,126 317 | 336,337,fintechfrank,45340,5.08,0.000112,27.7,0.12,3e-06,44,185,141.0,140,322 318 | 337,337,functi0nZer0,22031,5.08,0.000231,21.25,0.12,5e-06,44,158,114.0,118,254 319 | 338,337,HGEABC,516,5.08,0.009854,27.92,0.12,0.000224,44,182,138.0,88,301 320 | 339,337,0revenue,92182,5.08,5.5e-05,8.84,0.12,1e-06,44,86,42.0,51,110 321 | 341,337,V2Chenz,23644,5.08,0.000215,9.1,0.12,5e-06,44,87,43.0,55,118 322 | 342,337,3orovik,14631,5.08,0.000348,39.84,0.12,8e-06,44,179,135.0,94,246 323 | 343,337,btc_charlie,7736,5.08,0.000657,10.96,0.12,1.5e-05,44,119,75.0,88,193 324 | 344,337,traderpow,11961,5.08,0.000425,25.51,0.12,1e-05,44,179,135.0,130,314 325 | 345,346,IHayato,181522,4.97,2.7e-05,20.76,0.12,1e-06,43,146,103.0,85,203 326 | 346,346,ZoomerAnon,22857,4.97,0.000217,8.98,0.12,5e-06,43,87,44.0,61,119 327 | 347,346,Dynamo_Patrick,4570,4.97,0.001087,6.21,0.12,2.5e-05,43,83,40.0,66,122 328 | 348,346,pwnlord69,139460,4.97,3.6e-05,36.84,0.12,1e-06,43,148,105.0,98,231 329 | 349,346,_tolks,9477,4.97,0.000524,8.69,0.12,1.2e-05,43,103,60.0,72,163 330 | 350,346,boldleonidas,110364,4.97,4.5e-05,16.41,0.12,1e-06,43,135,92.0,81,227 331 | 351,346,crypto_condom,57249,4.97,8.7e-05,9.34,0.12,2e-06,43,96,53.0,65,140 332 | 352,346,0xMakesy,260357,4.97,1.9e-05,7.28,0.12,0.0,43,70,27.0,56,97 333 | 353,346,gabrielhaines,191373,4.97,2.6e-05,22.89,0.12,1e-06,43,149,106.0,114,255 334 | 354,346,keoneHD,21373,4.97,0.000232,9.3,0.12,5e-06,43,83,40.0,49,123 335 | 355,346,wizardofsoho,257679,4.97,1.9e-05,32.06,0.12,0.0,43,191,148.0,121,316 336 | 356,346,blocmatesdotcom,19280,4.97,0.000258,7.14,0.12,6e-06,43,86,43.0,70,127 337 | 358,346,Fwiz,140229,4.97,3.5e-05,29.11,0.12,1e-06,43,157,114.0,96,231 338 | 360,361,redphonecrypto,1996,4.74,0.002375,14.36,0.11,5.5e-05,43,126,83.0,91,202 339 | 363,361,intocryptoast,10915,4.74,0.000434,3.89,0.11,1e-05,43,87,44.0,63,131 340 | 364,365,TheRealOne_eth,58904,4.63,7.9e-05,2.01,0.11,2e-06,42,60,18.0,13,51 341 | 365,365,wabdoteth,13652,4.63,0.000339,21.3,0.11,8e-06,42,178,136.0,121,313 342 | 366,365,VirtualBacon0x,171019,4.63,2.7e-05,10.53,0.11,1e-06,42,84,42.0,22,114 343 | 367,365,PuggyTrades,3171,4.63,0.00146,9.68,0.11,3.5e-05,42,113,71.0,69,184 344 | 368,365,rootslashbin,15957,4.63,0.00029,11.36,0.11,7e-06,42,80,38.0,49,111 345 | 369,365,SillyPunts,161006,4.63,2.9e-05,3.41,0.11,1e-06,42,67,25.0,49,88 346 | 370,365,AvaxGems,153122,4.63,3e-05,3.44,0.11,1e-06,42,69,27.0,55,96 347 | 371,365,TheFlowHorse,41115,4.63,0.000113,43.41,0.11,3e-06,42,138,96.0,91,208 348 | 372,365,anildelphi,548,4.63,0.00845,8.06,0.11,0.000201,42,96,54.0,59,132 349 | 373,365,Rationalape1,13075,4.63,0.000354,3.15,0.11,8e-06,42,61,19.0,29,77 350 | 374,365,mrjasonchoi,110922,4.63,4.2e-05,17.29,0.11,1e-06,42,142,100.0,102,242 351 | 375,365,DigitsCapital,16972,4.63,0.000273,16.17,0.11,6e-06,42,108,66.0,71,151 352 | 376,365,sumitkapoor16,22118,4.63,0.000209,5.82,0.11,5e-06,42,90,48.0,55,99 353 | 377,365,allieeveknox,131126,4.63,3.5e-05,9.99,0.11,1e-06,42,91,49.0,61,127 354 | 378,365,IcedKnife,84717,4.63,5.5e-05,12.35,0.11,1e-06,42,99,57.0,40,122 355 | 379,380,brycent_,8600,4.41,0.000513,24.35,0.11,1.2e-05,42,153,111.0,96,202 356 | 380,380,cherry_linkie,1115,4.41,0.003958,5.66,0.11,9.4e-05,42,97,55.0,61,143 357 | 381,380,boysnoize,24446,4.41,0.000181,28.45,0.11,4e-06,42,156,114.0,96,220 358 | 383,380,DeFinalFantasy,120816,4.41,3.7e-05,8.44,0.11,1e-06,42,93,51.0,66,134 359 | 384,380,krugermacro,170,4.41,0.025957,14.08,0.11,0.000618,42,140,98.0,84,213 360 | 385,380,dabit3,12544,4.41,0.000352,10.42,0.11,8e-06,42,94,52.0,60,104 361 | 386,380,leap_xyz,5335,4.41,0.000827,11.78,0.11,2e-05,42,112,70.0,67,151 362 | 387,380,0xRamonos,138185,4.41,3.2e-05,4.58,0.11,1e-06,42,84,42.0,69,125 363 | 388,380,ThinkingBitmex,25013,4.41,0.000176,17.94,0.11,4e-06,42,103,61.0,60,124 364 | 389,380,Thatjpeg_,182643,4.41,2.4e-05,2.81,0.11,1e-06,42,59,17.0,27,72 365 | 390,380,crypto_seer,5831,4.41,0.000757,1.89,0.11,1.8e-05,42,49,7.0,25,41 366 | 391,392,0xSunNFT,7717,4.31,0.000558,53.19,0.11,1.4e-05,41,224,183.0,153,393 367 | 392,392,vydamo_,77839,4.31,5.5e-05,9.09,0.11,1e-06,41,108,67.0,80,169 368 | 393,392,OlimpioCrypto,173924,4.31,2.5e-05,28.6,0.11,1e-06,41,185,144.0,133,285 369 | 394,392,rarepangolin,2400,4.31,0.001795,5.73,0.11,4.4e-05,41,86,45.0,55,122 370 | 395,392,AdrianDittmann,38204,4.31,0.000113,6.23,0.11,3e-06,41,80,39.0,40,113 371 | 396,392,ChainLinkGod,21296,4.31,0.000202,14.64,0.11,5e-06,41,144,103.0,99,212 372 | 397,392,DeFi_Dad,991,4.31,0.004347,13.61,0.11,0.000106,41,101,60.0,59,126 373 | 398,392,MapleLeafCap,1757,4.31,0.002452,8.63,0.11,6e-05,41,93,52.0,60,134 374 | 399,392,MoonFriendsTech,4681,4.31,0.00092,11.76,0.11,2.2e-05,41,100,59.0,57,137 375 | 400,392,Imperator_0x,757915,4.31,6e-06,7.14,0.11,0.0,41,86,45.0,59,126 376 | 401,392,Captain_Kole1,168857,4.31,2.6e-05,18.94,0.11,1e-06,41,119,78.0,73,156 377 | 402,392,modestfrfr,4826,4.31,0.000893,25.72,0.11,2.2e-05,41,112,71.0,79,163 378 | 403,392,0xLTR,6226,4.31,0.000692,15.56,0.11,1.7e-05,41,99,58.0,71,142 379 | 404,392,crypto_iso,47080,4.31,9.1e-05,21.89,0.11,2e-06,41,125,84.0,74,143 380 | 405,392,0xtuba,51654,4.31,8.3e-05,23.11,0.11,2e-06,41,165,124.0,110,261 381 | 406,392,McDonaldsXBT,10303,4.31,0.000418,12.52,0.11,1e-05,41,105,64.0,80,162 382 | 407,392,FriendTechHBot,7115,4.31,0.000605,28.62,0.11,1.5e-05,41,140,99.0,84,234 383 | 408,392,Chad_Hominem_,7921,4.31,0.000544,12.99,0.11,1.3e-05,41,105,64.0,70,135 384 | 409,392,0xtate,88919,4.31,4.8e-05,2.82,0.11,1e-06,41,70,29.0,38,87 385 | 410,411,MaddSprings,11492,4.1,0.000357,8.0,0.1,9e-06,41,93,52.0,52,145 386 | 411,411,RebirthOwl,346046,4.1,1.2e-05,2.85,0.1,0.0,41,74,33.0,22,107 387 | 412,411,FroyoFren,1544,4.1,0.002655,7.35,0.1,6.5e-05,41,88,47.0,71,123 388 | 413,411,sigmaxavi,1122,4.1,0.003654,5.8,0.1,8.9e-05,41,72,31.0,45,90 389 | 414,411,Crypto_Chase,10492,4.1,0.000391,30.97,0.1,1e-05,41,147,106.0,100,228 390 | 415,411,joseline0x,3425,4.1,0.001197,12.11,0.1,2.9e-05,41,146,105.0,93,249 391 | 416,411,ljin18,131745,4.1,3.1e-05,7.84,0.1,1e-06,41,109,68.0,69,177 392 | 417,411,0xNBS,1831,4.1,0.002239,32.5,0.1,5.5e-05,41,197,156.0,155,353 393 | 419,411,bulltrapper0,170135,4.1,2.4e-05,20.66,0.1,1e-06,41,109,68.0,59,162 394 | 420,411,0xQuit,23781,4.1,0.000172,8.98,0.1,4e-06,41,94,53.0,61,110 395 | 421,411,fvckrender,861424,4.1,5e-06,28.57,0.1,0.0,41,115,74.0,54,125 396 | 422,411,_zkmike,9040,4.1,0.000454,3.99,0.1,1.1e-05,41,70,29.0,56,99 397 | 423,424,cyounessi1,201543,4.0,2e-05,4.18,0.1,0.0,40,75,35.0,46,94 398 | 424,424,knlae_,50143,4.0,8e-05,13.32,0.1,2e-06,40,113,73.0,74,153 399 | 425,424,0xSHARQ,29756,4.0,0.000134,5.48,0.1,3e-06,40,89,49.0,57,138 400 | 426,424,RowdyCrypto,11629,4.0,0.000344,1.87,0.1,9e-06,40,45,5.0,20,50 401 | 427,424,Pedr0_DC,66453,4.0,6e-05,3.25,0.1,2e-06,40,62,22.0,49,84 402 | 428,424,wsbmod,77227,4.0,5.2e-05,47.31,0.1,1e-06,40,214,174.0,123,340 403 | 429,424,franklinisbored,9032,4.0,0.000443,46.07,0.1,1.1e-05,40,220,180.0,129,375 404 | 430,424,fawoz_,106944,4.0,3.7e-05,11.62,0.1,1e-06,40,103,63.0,84,158 405 | 431,424,0x_Hammer,3579,4.0,0.001118,4.76,0.1,2.8e-05,40,73,33.0,63,106 406 | 433,424,cryptoaladeen,38024,4.0,0.000105,8.99,0.1,3e-06,40,105,65.0,60,154 407 | 434,424,jessewldn,115260,4.0,3.5e-05,9.14,0.1,1e-06,40,114,74.0,82,178 408 | 436,424,wassiecapital,62130,4.0,6.4e-05,3.59,0.1,2e-06,40,87,47.0,66,128 409 | 437,438,DaddyScarlettC,12126,3.8,0.000314,1.94,0.1,8e-06,40,63,23.0,35,65 410 | 438,438,stack__sats,5530,3.8,0.000688,5.48,0.1,1.7e-05,40,76,36.0,59,107 411 | 439,438,sarjana_crypto,38390,3.8,9.9e-05,4.34,0.1,2e-06,40,80,40.0,53,88 412 | 440,438,craigscoinpurse,31586,3.8,0.00012,3.47,0.1,3e-06,40,74,34.0,47,92 413 | 441,438,CredibleCrypto,64729,3.8,5.9e-05,31.89,0.1,1e-06,40,129,89.0,76,173 414 | 442,438,HiroKennelly,20213,3.8,0.000188,2.47,0.1,5e-06,40,56,16.0,41,70 415 | 443,438,0xBumps,658,3.8,0.005779,1.52,0.1,0.000144,40,49,9.0,12,51 416 | 444,438,0xSpot,4198,3.8,0.000906,4.72,0.1,2.3e-05,40,74,34.0,46,84 417 | 445,446,Blockchain_C,47262,3.71,7.8e-05,6.84,0.1,2e-06,39,109,70.0,74,170 418 | 446,446,EriVlc,73381,3.71,5.1e-05,18.11,0.1,1e-06,39,140,101.0,91,201 419 | 447,446,whale_hunter_,72655,3.71,5.1e-05,6.99,0.1,1e-06,39,91,52.0,61,143 420 | 448,446,Flowslikeosmo,111431,3.71,3.3e-05,3.68,0.1,1e-06,39,93,54.0,68,127 421 | 449,446,OttoSuwenNFT,6802,3.71,0.000545,17.02,0.1,1.4e-05,39,148,109.0,89,253 422 | 450,446,wasserpest,34782,3.71,0.000107,5.61,0.1,3e-06,39,83,44.0,49,117 423 | 451,446,ranzkyle,60418,3.71,6.1e-05,16.04,0.1,2e-06,39,103,64.0,56,147 424 | 452,446,HoneybadgerC,6236,3.71,0.000595,6.08,0.1,1.5e-05,39,74,35.0,45,100 425 | 453,446,Rager,9778,3.71,0.000379,9.54,0.1,1e-05,39,138,99.0,94,237 426 | 454,446,mikedemarais,14516,3.71,0.000255,12.45,0.1,7e-06,39,126,87.0,100,211 427 | 455,446,cheatcoiner,13976,3.71,0.000265,12.01,0.1,7e-06,39,129,90.0,90,205 428 | 456,446,Defi0xJeff,61709,3.71,6e-05,4.5,0.1,2e-06,39,74,35.0,52,95 429 | 457,446,waleswoosh,51,3.71,0.072695,18.93,0.1,0.001864,39,151,112.0,92,236 430 | 458,446,CirrusNFT,1672,3.71,0.002217,29.43,0.1,5.7e-05,39,175,136.0,109,279 431 | 459,460,XBT002,1095,3.52,0.003214,3.29,0.09,8.2e-05,39,67,28.0,49,95 432 | 460,460,i_am_jackis,10553,3.52,0.000334,13.58,0.09,9e-06,39,112,73.0,80,146 433 | 461,460,eslampy,121228,3.52,2.9e-05,3.57,0.09,1e-06,39,65,26.0,47,91 434 | 462,460,0xforestpsy,0,3.52,0.0,6.04,0.09,0.0,39,72,33.0,57,104 435 | 463,460,zmanian,2787,3.52,0.001263,5.31,0.09,3.2e-05,39,84,45.0,59,111 436 | 464,460,TimBeiko,47456,3.52,7.4e-05,18.98,0.09,2e-06,39,122,83.0,81,176 437 | 465,460,Tyler_Did_It,61500,3.52,5.7e-05,4.57,0.09,1e-06,39,81,42.0,66,111 438 | 466,460,nanexcool,221,3.52,0.015926,8.62,0.09,0.000408,39,101,62.0,64,125 439 | 467,460,DeFi_Warlord,18467,3.52,0.000191,3.86,0.09,5e-06,39,80,41.0,50,106 440 | 468,460,web3tokenomics,67623,3.52,5.2e-05,4.82,0.09,1e-06,39,72,33.0,45,105 441 | 469,460,jacksondahl,970,3.52,0.003629,6.54,0.09,9.3e-05,39,97,58.0,69,155 442 | 470,460,0xmons,115116,3.52,3.1e-05,7.62,0.09,1e-06,39,107,68.0,72,137 443 | 471,460,mikadontlouz,2821,3.52,0.001248,7.49,0.09,3.2e-05,39,112,73.0,91,183 444 | 472,460,trilldeceased,39798,3.52,8.8e-05,5.75,0.09,2e-06,39,95,56.0,66,151 445 | 473,474,outpxce,18027,3.43,0.00019,8.62,0.09,5e-06,38,68,30.0,32,94 446 | 474,474,YohanGGlobal,17954,3.43,0.000191,6.95,0.09,5e-06,38,81,43.0,56,117 447 | 475,474,FreddieRaynolds,24622,3.43,0.000139,13.43,0.09,4e-06,38,111,73.0,81,164 448 | 476,474,valueandtime,62960,3.43,5.4e-05,6.55,0.09,1e-06,38,78,40.0,33,96 449 | 477,474,gaby_goldberg,5906,3.43,0.000581,10.62,0.09,1.5e-05,38,103,65.0,72,151 450 | 478,474,_Urkann,51707,3.43,6.6e-05,10.36,0.09,2e-06,38,102,64.0,56,139 451 | 479,474,templecrash,127088,3.43,2.7e-05,6.55,0.09,1e-06,38,77,39.0,46,90 452 | 481,474,chatwithcharles,53080,3.43,6.5e-05,7.99,0.09,2e-06,38,98,60.0,53,133 453 | 482,474,mrblocktw,7618,3.43,0.00045,4.04,0.09,1.2e-05,38,68,30.0,38,96 454 | 483,474,avocado_toast2,2314,3.43,0.001482,6.66,0.09,3.9e-05,38,84,46.0,62,130 455 | 484,474,thinkingvol,26,3.43,0.131904,7.87,0.09,0.003471,38,114,76.0,85,189 456 | 485,474,CryptoSources,4128,3.43,0.000831,5.15,0.09,2.2e-05,38,88,50.0,70,138 457 | 486,474,spacepixel,8174,3.43,0.00042,4.94,0.09,1.1e-05,38,87,49.0,63,136 458 | 488,489,kyledoops,498175,3.25,7e-06,6.08,0.09,0.0,38,83,45.0,51,102 459 | 489,489,kairos_dao,229,3.25,0.014198,1.41,0.09,0.000374,38,44,6.0,18,50 460 | 490,489,xogcr,29741,3.25,0.000109,2.12,0.09,3e-06,38,53,15.0,27,63 461 | 491,489,vsnation_,562838,3.25,6e-06,8.31,0.09,0.0,38,74,36.0,41,103 462 | 492,489,YOJIMBO_KING,132977,3.25,2.4e-05,14.91,0.09,1e-06,38,105,67.0,68,151 463 | 493,489,BullyEsq,70139,3.25,4.6e-05,16.31,0.09,1e-06,38,135,97.0,97,223 464 | 494,489,yumipeixuan,28437,3.25,0.000114,1.67,0.09,3e-06,38,48,10.0,28,57 465 | 495,489,cryptoezu,44128,3.25,7.4e-05,7.99,0.09,2e-06,38,84,46.0,63,130 466 | 496,489,statelayer,6157,3.25,0.000528,12.9,0.09,1.4e-05,38,150,112.0,86,199 467 | 497,489,DefiIgnas,9071,3.25,0.000358,10.01,0.09,9e-06,38,107,69.0,83,170 468 | 498,489,0xTecton,228480,3.25,1.4e-05,2.64,0.09,0.0,38,54,16.0,32,66 469 | 499,489,0xAlan_,9980,3.25,0.000326,6.56,0.09,9e-06,38,78,40.0,58,100 470 | 500,489,astekz,38943,3.25,8.3e-05,10.29,0.09,2e-06,38,105,67.0,71,150 471 | 501,489,hero_truck,134607,3.25,2.4e-05,8.72,0.09,1e-06,38,118,80.0,75,198 472 | 502,489,0xgaut,22448,3.25,0.000145,19.61,0.09,4e-06,38,174,136.0,109,285 473 | 503,489,3eleth,89847,3.25,3.6e-05,5.16,0.09,1e-06,38,90,52.0,55,142 474 | 504,505,0xWangarian,71530,3.17,4.4e-05,16.39,0.09,1e-06,37,111,74.0,59,113 475 | 506,505,loldefi,56983,3.17,5.6e-05,7.45,0.09,2e-06,37,98,61.0,68,150 476 | 508,505,_FabianHD,13670,3.17,0.000232,4.84,0.09,6e-06,37,92,55.0,70,147 477 | 509,505,Rekt_Tekashi,32256,3.17,9.8e-05,8.36,0.09,3e-06,37,103,66.0,57,135 478 | 510,505,antiprosynth,124774,3.17,2.5e-05,8.51,0.09,1e-06,37,91,54.0,60,125 479 | 511,505,blockchaingod69,10531,3.17,0.000301,19.22,0.09,8e-06,37,109,72.0,65,165 480 | 512,505,funghibull,80545,3.17,3.9e-05,8.45,0.09,1e-06,37,120,83.0,93,192 481 | 513,505,ColeThereum,12545,3.17,0.000252,12.59,0.09,7e-06,37,135,98.0,77,188 482 | 514,515,ProTheDoge,1149,3.16,0.002754,16.34,0.08,7.2e-05,38,127,89.0,58,159 483 | 515,516,Pollo2x,1622,3.0,0.001848,17.47,0.08,5e-05,37,130,93.0,68,152 484 | 516,516,0xjaypeg,9122,3.0,0.000329,7.39,0.08,9e-06,37,84,47.0,54,116 485 | 517,516,rajivpoc,122830,3.0,2.4e-05,1.24,0.08,1e-06,37,43,6.0,20,49 486 | 518,516,OnlyFriend13208,13334,3.0,0.000225,2.97,0.08,6e-06,37,62,25.0,34,78 487 | 519,516,0xjune_,27256,3.0,0.00011,9.87,0.08,3e-06,37,112,75.0,82,187 488 | 520,516,setanimals,10229,3.0,0.000293,3.02,0.08,8e-06,37,69,32.0,63,101 489 | 521,516,TimshelXYZ,1027,3.0,0.002918,2.54,0.08,7.9e-05,37,78,41.0,54,119 490 | 522,516,orangebook_,76695,3.0,3.9e-05,7.16,0.08,1e-06,37,107,70.0,44,143 491 | 523,516,BitW0nka,1590,3.0,0.001885,5.83,0.08,5.1e-05,37,67,30.0,37,89 492 | 524,516,bigdsenpai,100706,3.0,3e-05,14.1,0.08,1e-06,37,98,61.0,55,133 493 | 525,516,wallstreetbets,91835,3.0,3.3e-05,23.74,0.08,1e-06,37,135,98.0,63,189 494 | 526,516,Bullrun_Gravano,58554,3.0,5.1e-05,10.56,0.08,1e-06,37,109,72.0,70,158 495 | 527,516,dwr,211069,3.0,1.4e-05,6.97,0.08,0.0,37,123,86.0,90,191 496 | 530,529,rainnen23,4712,2.92,0.000619,8.23,0.08,1.7e-05,36,85,49.0,61,119 497 | 531,529,barneytheboi,9916,2.92,0.000294,18.66,0.08,8e-06,36,115,79.0,86,176 498 | 532,529,TheCryptoData,8455,2.92,0.000345,2.51,0.08,1e-05,36,62,26.0,44,88 499 | 533,529,delucinator,15786,2.92,0.000185,6.52,0.08,5e-06,36,91,55.0,62,146 500 | 534,529,hebi555,34768,2.92,8.4e-05,13.73,0.08,2e-06,36,121,85.0,66,173 501 | 535,529,itszore,2980,2.92,0.000979,3.61,0.08,2.7e-05,36,65,29.0,41,85 502 | 536,529,vec0zy,4241,2.92,0.000688,18.07,0.08,1.9e-05,36,110,74.0,66,155 503 | 537,529,AshleyDCan,1657,2.92,0.00176,13.67,0.08,4.9e-05,36,160,124.0,105,232 504 | 538,529,calchulus,6650,2.92,0.000438,2.61,0.08,1.2e-05,36,63,27.0,40,76 505 | 539,529,iamlauwolff,102981,2.92,2.8e-05,11.58,0.08,1e-06,36,137,101.0,94,216 506 | 540,529,xbtGBH,269,2.92,0.01084,21.68,0.08,0.000301,36,125,89.0,74,196 507 | 541,529,sobylife,2574,2.92,0.001133,9.39,0.08,3.1e-05,36,114,78.0,90,192 508 | 542,529,honey_xbt,17153,2.92,0.00017,13.76,0.08,5e-06,36,138,102.0,88,210 509 | 543,529,0xsere,15546,2.92,0.000188,1.96,0.08,5e-06,36,48,12.0,24,60 510 | 544,529,mfigge,647611,2.92,5e-06,11.92,0.08,0.0,36,81,45.0,35,102 511 | 546,529,SHL0MS,72570,2.92,4e-05,15.65,0.08,1e-06,36,114,78.0,80,192 512 | 547,529,ElonTrades,21646,2.92,0.000135,16.38,0.08,4e-06,36,119,83.0,62,153 513 | 548,529,badquant1,1380122,2.92,2e-06,6.54,0.08,0.0,36,116,80.0,85,188 514 | 549,529,DeFi_Brian,16042,2.92,0.000182,15.99,0.08,5e-06,36,126,90.0,82,216 515 | 550,529,DegenCryptoInfo,38166,2.92,7.6e-05,16.21,0.08,2e-06,36,101,65.0,56,155 516 | 552,553,0x_Leo_,36245,2.76,7.6e-05,4.8,0.08,2e-06,35,76,41.0,52,116 517 | 553,553,0xMattyb,26349,2.76,0.000105,2.29,0.08,3e-06,35,56,21.0,32,70 518 | 554,555,CryptoNova_,11880,2.76,0.000232,4.49,0.08,6e-06,36,72,36.0,39,81 519 | 555,555,abetrade,25922,2.76,0.000106,25.98,0.08,3e-06,36,130,94.0,80,179 520 | 556,555,Riley_gmi,13078,2.76,0.000211,6.65,0.08,6e-06,36,88,52.0,69,134 521 | 557,555,TysonThe2nd,9686,2.76,0.000285,3.61,0.08,8e-06,36,85,49.0,66,126 522 | 558,555,onlynatrix,2580,2.76,0.001068,4.72,0.08,3e-05,36,80,44.0,47,110 523 | 559,555,GCRgpt,764618,2.76,4e-06,2.86,0.08,0.0,36,62,26.0,51,88 524 | 560,555,KrownCryptoCave,16688,2.76,0.000165,10.58,0.08,5e-06,36,116,80.0,85,168 525 | 561,555,Dennis_sll1,2322,2.76,0.001187,1.06,0.08,3.3e-05,36,41,5.0,17,42 526 | 562,555,0xBender,25465,2.76,0.000108,12.71,0.08,3e-06,36,110,74.0,44,149 527 | 563,555,ZAGABOND,18472,2.76,0.000149,34.71,0.08,4e-06,36,179,143.0,94,266 528 | 564,565,ANoNakamoto,26218,2.68,0.000102,8.95,0.08,3e-06,35,112,77.0,66,151 529 | 565,565,DackieSwap,51127,2.68,5.2e-05,4.54,0.08,1e-06,35,86,51.0,58,112 530 | 566,565,defi_darling,22355,2.68,0.00012,13.5,0.08,3e-06,35,107,72.0,63,148 531 | 567,565,McJAMES14014632,5625,2.68,0.000476,14.13,0.08,1.4e-05,35,138,103.0,91,240 532 | 568,565,aradtski,3860,2.68,0.000694,3.76,0.08,2e-05,35,69,34.0,58,103 533 | 569,565,benroy__,4956,2.68,0.000541,3.45,0.08,1.5e-05,35,70,35.0,57,103 534 | 570,565,REMILIONAIRE,31317,2.68,8.6e-05,19.52,0.08,2e-06,35,144,109.0,93,236 535 | 571,565,Zywiecrypto,8785,2.68,0.000305,3.96,0.08,9e-06,35,61,26.0,24,73 536 | 572,565,enjoyoor,127708,2.68,2.1e-05,9.18,0.08,1e-06,35,100,65.0,71,159 537 | 573,565,credit88888,130351,2.68,2.1e-05,3.18,0.08,1e-06,35,59,24.0,26,83 538 | 574,565,_ck007,124722,2.68,2.1e-05,2.74,0.08,1e-06,35,57,22.0,42,75 539 | 575,565,voltrongo,26159,2.68,0.000102,1.82,0.08,3e-06,35,51,16.0,40,67 540 | 576,565,edgarpavlovsky,19332,2.68,0.000139,4.89,0.08,4e-06,35,81,46.0,64,123 541 | 578,565,evan_van_ness,23207,2.68,0.000115,4.58,0.08,3e-06,35,82,47.0,45,93 542 | 579,565,FrensTech,94373,2.68,2.8e-05,69.47,0.08,1e-06,35,246,211.0,55,371 543 | 580,565,1derfuel,195055,2.68,1.4e-05,3.91,0.08,0.0,35,86,51.0,53,137 544 | 581,565,ExitLiqCapital,5753,2.68,0.000466,6.36,0.08,1.3e-05,35,87,52.0,64,125 545 | 582,565,melabeeofficial,27370,2.68,9.8e-05,3.04,0.08,3e-06,35,76,41.0,47,107 546 | 583,565,Eljaboom,5362,2.68,0.0005,6.59,0.08,1.4e-05,35,100,65.0,56,139 547 | 584,565,NFTwap,10495,2.68,0.000255,3.42,0.08,7e-06,35,61,26.0,38,87 548 | 585,565,whatdotcd,3412,2.68,0.000785,2.34,0.08,2.2e-05,35,54,19.0,36,73 549 | 586,565,0xMerp,4406,2.68,0.000608,13.52,0.08,1.7e-05,35,135,100.0,110,235 550 | 587,588,BrianDEvans,2267,2.53,0.001116,35.43,0.07,3.3e-05,34,131,97.0,76,175 551 | 588,589,wilburforce_,8818,2.53,0.000287,6.29,0.07,8e-06,35,92,57.0,67,149 552 | 589,589,HackermanAce,6223,2.53,0.000406,5.65,0.07,1.2e-05,35,80,45.0,46,125 553 | 590,589,CryptoTubylec,13010,2.53,0.000194,6.41,0.07,6e-06,35,82,47.0,36,109 554 | 591,589,pinkydollrealb,187605,2.53,1.3e-05,36.03,0.07,0.0,35,315,280.0,186,580 555 | 592,589,AlexisToria,1715,2.53,0.001474,7.83,0.07,4.2e-05,35,91,56.0,49,116 556 | 594,589,The_Bogfather,37021,2.53,6.8e-05,4.53,0.07,2e-06,35,77,42.0,58,106 557 | 595,589,0xKirara,1509,2.53,0.001676,6.31,0.07,4.8e-05,35,103,68.0,66,170 558 | 596,589,TantoNomini,4548,2.53,0.000556,2.24,0.07,1.6e-05,35,60,25.0,35,69 559 | 597,598,niraj,71247,2.46,3.4e-05,1.74,0.07,1e-06,34,52,18.0,22,56 560 | 598,598,0xSolarcurve,8104,2.46,0.000303,5.45,0.07,9e-06,34,75,41.0,34,92 561 | 599,598,krassenstein,139138,2.46,1.8e-05,10.21,0.07,1e-06,34,122,88.0,65,176 562 | 600,598,pokeepandaa,8611,2.46,0.000285,12.59,0.07,8e-06,34,101,67.0,55,146 563 | 601,598,eclecticcapital,6768,2.46,0.000363,9.18,0.07,1.1e-05,34,88,54.0,70,140 564 | 602,598,andrewsaunders,27829,2.46,8.8e-05,11.71,0.07,3e-06,34,94,60.0,60,111 565 | 603,598,cryptobulma,15160,2.46,0.000162,10.57,0.07,5e-06,34,121,87.0,92,197 566 | 604,598,0xmasiwei,21630,2.46,0.000114,3.04,0.07,3e-06,34,73,39.0,49,91 567 | 605,598,CryptoMocro_,3923,2.46,0.000626,12.22,0.07,1.8e-05,34,95,61.0,54,137 568 | 606,598,sebaudet26,22205,2.46,0.000111,2.84,0.07,3e-06,34,85,51.0,64,136 569 | 607,598,0xDamien,3970,2.46,0.000619,6.25,0.07,1.8e-05,34,77,43.0,56,112 570 | 608,598,supermariokartD,987,2.46,0.002489,2.33,0.07,7.3e-05,34,66,32.0,39,93 571 | 609,598,warren_muppets,497073,2.46,5e-06,7.43,0.07,0.0,34,104,70.0,91,174 572 | 610,598,GrindingPoet,7653,2.46,0.000321,10.47,0.07,9e-06,34,128,94.0,96,222 573 | 612,598,th_alchemist_,19082,2.46,0.000129,4.84,0.07,4e-06,34,59,25.0,34,72 574 | 613,598,DannyCrypt,79138,2.46,3.1e-05,8.99,0.07,1e-06,34,87,53.0,57,115 575 | 614,598,SolanaSensei,104929,2.46,2.3e-05,9.65,0.07,1e-06,34,107,73.0,56,152 576 | 616,617,fxnction,53593,2.31,4.3e-05,7.28,0.07,1e-06,34,108,74.0,74,147 577 | 617,617,MonetSupply,10545,2.31,0.000219,5.11,0.07,6e-06,34,86,52.0,54,113 578 | 618,617,vers_laLune,1334,2.31,0.001735,3.85,0.07,5.1e-05,34,76,42.0,49,112 579 | 619,617,Livercoin,60169,2.31,3.8e-05,11.65,0.07,1e-06,34,112,78.0,72,166 580 | 621,617,ashtoshii,228,2.31,0.01015,8.61,0.07,0.000299,34,102,68.0,70,170 581 | 622,617,GiancarloChaux,7665,2.31,0.000302,14.33,0.07,9e-06,34,146,112.0,99,224 582 | 623,617,LilMoonLambo,1538,2.31,0.001505,57.61,0.07,4.4e-05,34,352,318.0,279,663 583 | 624,617,cryptoian,19415,2.31,0.000119,3.65,0.07,4e-06,34,69,35.0,55,100 584 | 625,617,woody82343978,27706,2.31,8.4e-05,1.93,0.07,2e-06,34,53,19.0,36,72 585 | 626,617,kimyg002,80,2.31,0.028927,3.14,0.07,0.000851,34,68,34.0,49,99 586 | 627,617,___hounds,22006,2.31,0.000105,5.05,0.07,3e-06,34,65,31.0,50,90 587 | 629,617,fartconthird,67584,2.31,3.4e-05,3.61,0.07,1e-06,34,59,25.0,34,80 588 | 630,617,Dereek70,67823,2.31,3.4e-05,1.07,0.07,1e-06,34,44,10.0,23,53 589 | 631,617,JolieYang,39656,2.31,5.8e-05,2.71,0.07,2e-06,34,70,36.0,52,99 590 | 632,617,AraDG11,164,2.31,0.014111,3.28,0.07,0.000415,34,66,32.0,41,88 591 | 633,617,_samspike_,19000,2.31,0.000122,5.52,0.07,4e-06,34,94,60.0,68,154 592 | 634,617,level941,8068,2.31,0.000287,10.01,0.07,8e-06,34,105,71.0,51,160 593 | 635,617,andr3w,22090,2.31,0.000105,15.92,0.07,3e-06,34,173,139.0,124,306 594 | 636,617,Mulan0x,3331,2.31,0.000695,1.41,0.07,2e-05,34,43,9.0,28,52 595 | 637,617,easonwu_,91666,2.31,2.5e-05,1.08,0.07,1e-06,34,40,6.0,29,46 596 | 638,617,AltsQ,36559,2.31,6.3e-05,6.62,0.07,2e-06,34,83,49.0,51,108 597 | 639,617,nyaxeth,103700,2.31,2.2e-05,3.05,0.07,1e-06,34,67,33.0,44,84 598 | 640,641,0xG00gly,5705,2.25,0.000394,2.8,0.07,1.2e-05,33,60,27.0,49,85 599 | 641,641,poopie,26195,2.25,8.6e-05,8.97,0.07,3e-06,33,104,71.0,53,141 600 | 643,641,zjbrenner,81764,2.25,2.7e-05,1.6,0.07,1e-06,33,50,17.0,39,59 601 | 644,641,SolanaLegend,574396,2.25,4e-06,8.04,0.07,0.0,33,88,55.0,49,121 602 | 645,641,0xShitTrader,6403,2.25,0.000351,2.62,0.07,1.1e-05,33,69,36.0,48,105 603 | 646,641,FroggyCyborg,3331,2.25,0.000674,2.69,0.07,2e-05,33,57,24.0,37,81 604 | 647,641,BitBoyJay,103816,2.25,2.2e-05,7.76,0.07,1e-06,33,89,56.0,44,98 605 | 648,641,queenwartooth,67835,2.25,3.3e-05,5.38,0.07,1e-06,33,90,57.0,56,131 606 | 649,641,hype_eth,22634,2.25,9.9e-05,22.2,0.07,3e-06,33,159,126.0,118,285 607 | 650,641,Alvin0617,310875,2.25,7e-06,1.19,0.07,0.0,33,42,9.0,29,51 608 | 651,641,RoofHanzo,19113,2.25,0.000118,9.42,0.07,4e-06,33,113,80.0,78,193 609 | 652,641,phooterxbt,57649,2.25,3.9e-05,4.03,0.07,1e-06,33,67,34.0,45,93 610 | 653,641,Cryptchamo,281372,2.25,8e-06,3.21,0.07,0.0,33,54,21.0,45,75 611 | 654,641,Morpheusresist,45138,2.25,5e-05,17.12,0.07,2e-06,33,106,73.0,51,123 612 | 655,641,a1ex_eth,1273,2.25,0.001764,3.75,0.07,5.3e-05,33,70,37.0,49,107 613 | 656,641,0xCrypticCrypto,4164,2.25,0.000539,12.44,0.07,1.6e-05,33,125,92.0,64,193 614 | 658,641,trader_koala,141,2.25,0.01593,4.47,0.07,0.000483,33,83,50.0,64,131 615 | 659,641,Axel_bitblaze69,8067,2.25,0.000278,5.37,0.07,8e-06,33,124,91.0,79,175 616 | 660,641,RNR_0,20424,2.25,0.00011,14.52,0.07,3e-06,33,133,100.0,94,224 617 | 661,641,Slappjakke,167947,2.25,1.3e-05,3.91,0.07,0.0,33,65,32.0,42,81 618 | 662,641,CryptoKans,47923,2.25,4.7e-05,7.82,0.07,1e-06,33,90,57.0,41,101 619 | 663,641,PopPunkOnChain,18592,2.25,0.000121,5.9,0.07,4e-06,33,75,42.0,45,104 620 | 664,641,wassie,8921,2.25,0.000252,4.52,0.07,8e-06,33,84,51.0,46,131 621 | 665,641,blakeir,2046,2.25,0.001098,2.46,0.07,3.3e-05,33,64,31.0,42,82 622 | 666,641,ChingonETH,2778,2.25,0.000809,4.19,0.07,2.5e-05,33,66,33.0,37,95 623 | 667,668,0xuglyduck,9916,2.11,0.000213,1.37,0.07,7e-06,32,37,5.0,5,37 624 | 668,669,kujiiii,37666,2.11,5.6e-05,4.13,0.06,2e-06,33,71,38.0,42,79 625 | 669,669,based16z,124,2.11,0.017032,2.38,0.06,0.000516,33,49,16.0,29,53 626 | 672,669,DrSoldmanGachs,40705,2.11,5.2e-05,2.54,0.06,2e-06,33,66,33.0,34,91 627 | 673,669,DCbuild3r,4823,2.11,0.000438,7.91,0.06,1.3e-05,33,84,51.0,60,101 628 | 674,669,bbyydal,18288,2.11,0.000115,12.67,0.06,3e-06,33,106,73.0,69,177 629 | 676,669,Phygital_Good,40178,2.11,5.3e-05,2.67,0.06,2e-06,33,62,29.0,35,85 630 | 677,669,lvl1baddie,243361,2.11,9e-06,2.67,0.06,0.0,33,67,34.0,57,101 631 | 678,669,crypto_bobby,5195,2.11,0.000407,3.25,0.06,1.2e-05,33,67,34.0,37,75 632 | 679,669,rivatez,24007,2.11,8.8e-05,5.49,0.06,3e-06,33,86,53.0,57,122 633 | 680,669,AureliusBTC,340,2.11,0.006212,2.1,0.06,0.000188,33,60,27.0,31,66 634 | 681,669,YantraDAO,17774,2.11,0.000119,0.72,0.06,4e-06,33,33,,16,24 635 | 682,669,MonkeyCharts,14416,2.11,0.000147,3.2,0.06,4e-06,33,70,37.0,53,98 636 | 683,669,neelsalami,620,2.11,0.003406,1.19,0.06,0.000103,33,50,17.0,25,60 637 | 684,669,Cyrus_Fazel,384897,2.11,5e-06,2.02,0.06,0.0,33,60,27.0,38,67 638 | 685,669,BuyWeb3,549327,2.11,4e-06,1.14,0.06,0.0,33,52,19.0,36,70 639 | 686,669,ardizor,7540,2.11,0.00028,6.35,0.06,8e-06,33,97,64.0,59,132 640 | 687,669,eferrariph,7566,2.11,0.000279,6.9,0.06,8e-06,33,100,67.0,70,149 641 | 688,669,Coachkcrypto,19037,2.11,0.000111,8.93,0.06,3e-06,33,94,61.0,45,96 642 | 689,690,MogCoinEth,617,2.05,0.003319,18.61,0.06,0.000104,32,138,106.0,82,205 643 | 691,690,Rafi_0x,8565,2.05,0.000239,7.5,0.06,7e-06,32,85,53.0,52,118 644 | 692,690,drakeondigital,31077,2.05,6.6e-05,7.12,0.06,2e-06,32,92,60.0,52,131 645 | 693,690,CaleCrypto,1497,2.05,0.001368,8.87,0.06,4.3e-05,32,102,70.0,58,121 646 | 694,690,CryptoKemal,16212,2.05,0.000126,11.98,0.06,4e-06,32,100,68.0,59,120 647 | 695,690,0xDigitalOil,6977,2.05,0.000294,1.55,0.06,9e-06,32,47,15.0,19,55 648 | 696,690,hellojintao,874,2.05,0.002343,5.14,0.06,7.3e-05,32,115,83.0,89,198 649 | 697,690,9x9x9eth,25747,2.05,8e-05,23.65,0.06,2e-06,32,143,111.0,63,168 650 | 698,690,lovennft,165173,2.05,1.2e-05,4.1,0.06,0.0,32,77,45.0,42,79 651 | 699,690,robek_world,517,2.05,0.003961,3.14,0.06,0.000124,32,63,31.0,40,83 652 | 700,690,AltCryptoGems,10947,2.05,0.000187,4.9,0.06,6e-06,32,95,63.0,51,138 653 | 701,690,smsunarto,3074,2.05,0.000666,4.13,0.06,2.1e-05,32,73,41.0,49,107 654 | 702,690,JohnWRichKid,12770,2.05,0.00016,5.58,0.06,5e-06,32,95,63.0,67,150 655 | 703,690,BCBacker,79141,2.05,2.6e-05,8.89,0.06,1e-06,32,76,44.0,39,83 656 | 704,690,ericonomic,4798,2.05,0.000427,2.87,0.06,1.3e-05,32,67,35.0,53,93 657 | 705,690,Shill_Pill,27927,2.05,7.3e-05,1.44,0.06,2e-06,32,44,12.0,23,52 658 | 706,690,dengdengspams,1682,2.05,0.001218,5.02,0.06,3.8e-05,32,86,54.0,56,126 659 | 708,690,scrypto_,47728,2.05,4.3e-05,4.24,0.06,1e-06,32,70,38.0,53,108 660 | 709,690,Binothegoodman,50510,2.05,4.1e-05,1.86,0.06,1e-06,32,49,17.0,43,66 661 | 710,690,dogoshii,10221,2.05,0.0002,6.62,0.06,6e-06,32,77,45.0,55,122 662 | 711,690,hufhaus9,7667,2.05,0.000267,9.66,0.06,8e-06,32,93,61.0,63,129 663 | 712,713,NFTGUYY,103,1.92,0.01866,9.13,0.06,0.000583,32,99,67.0,64,119 664 | 713,713,divine_economy,1164,1.92,0.001651,3.27,0.06,5.2e-05,32,76,44.0,47,82 665 | 714,713,sgsand1,11562,1.92,0.000166,3.96,0.06,5e-06,32,67,35.0,39,80 666 | 715,713,0xPajke,545,1.92,0.003527,1.96,0.06,0.00011,32,58,26.0,32,75 667 | 716,713,tuleep_trade,92070,1.92,2.1e-05,2.55,0.06,1e-06,32,69,37.0,26,99 668 | 718,713,deepname99,4551,1.92,0.000422,2.61,0.06,1.3e-05,32,59,27.0,40,86 669 | 719,713,cryptogle,1711,1.92,0.001123,0.97,0.06,3.5e-05,32,49,17.0,31,62 670 | 720,713,macrocephalopod,8171,1.92,0.000235,4.48,0.06,7e-06,32,76,44.0,42,89 671 | 722,713,bib_smartbot,103259,1.92,1.9e-05,10.09,0.06,1e-06,32,99,67.0,64,162 672 | 723,713,spencernoon,2564,1.92,0.00075,7.93,0.06,2.3e-05,32,106,74.0,66,146 673 | 724,713,TheDeFinvestor,10090,1.92,0.00019,12.24,0.06,6e-06,32,125,93.0,102,218 674 | 725,713,dystopiabreaker,4246,1.92,0.000453,8.76,0.06,1.4e-05,32,87,55.0,57,117 675 | 726,713,HeiroCapital,4764,1.92,0.000403,2.6,0.06,1.3e-05,32,50,18.0,34,56 676 | 727,713,kandiiXkitten,8869,1.92,0.000217,4.94,0.06,7e-06,32,81,49.0,47,118 677 | 728,713,karleaboyer,6904,1.92,0.000278,4.11,0.06,9e-06,32,69,37.0,44,106 678 | 729,713,ToTheDemon,16387,1.92,0.000117,2.76,0.06,4e-06,32,78,46.0,56,118 679 | 730,713,cryptorecruitr,290,1.92,0.006628,5.99,0.06,0.000207,32,97,65.0,48,120 680 | 731,713,alpinestar17,6105,1.92,0.000315,2.31,0.06,1e-05,32,63,31.0,46,85 681 | 732,713,Bonecondor,13809,1.92,0.000139,5.13,0.06,4e-06,32,83,51.0,62,134 682 | 734,735,0xprames,12878,1.86,0.000145,3.12,0.06,5e-06,31,56,25.0,45,81 683 | 735,735,PetitPrinceETH,264,1.86,0.007053,6.86,0.06,0.000228,31,78,47.0,61,114 684 | 736,735,Henry_VuQuangDu,5606,1.86,0.000332,4.02,0.06,1.1e-05,31,61,30.0,43,85 685 | 737,735,bagfaced,7956,1.86,0.000234,3.9,0.06,8e-06,31,90,59.0,59,149 686 | 738,735,btc_jx,21423,1.86,8.7e-05,8.96,0.06,3e-06,31,122,91.0,94,210 687 | 739,735,rovercrc,174,1.86,0.010701,21.48,0.06,0.000345,31,115,84.0,61,156 688 | 740,735,Corgil_,882054,1.86,2e-06,2.12,0.06,0.0,31,64,33.0,55,97 689 | 741,735,2170cell,4608,1.86,0.000404,2.0,0.06,1.3e-05,31,51,20.0,47,71 690 | 742,735,CurveCap,2903,1.86,0.000641,4.06,0.06,2.1e-05,31,70,39.0,40,87 691 | 743,735,Octal_Crypto,124510,1.86,1.5e-05,4.68,0.06,0.0,31,95,64.0,67,139 692 | 744,735,0xShual,6750,1.86,0.000276,9.76,0.06,9e-06,31,98,67.0,58,118 693 | 745,735,binji_x,12835,1.86,0.000145,4.09,0.06,5e-06,31,71,40.0,51,111 694 | 746,735,batsoupyum,2364,1.86,0.000788,4.2,0.06,2.5e-05,31,76,45.0,54,112 695 | 747,735,peachmint00,336,1.86,0.005541,2.09,0.06,0.000179,31,57,26.0,45,83 696 | 748,735,Jesseeckel,24968,1.86,7.5e-05,1.95,0.06,2e-06,31,63,32.0,36,89 697 | 749,735,colingplatt,4010,1.86,0.000464,7.57,0.06,1.5e-05,31,74,43.0,48,112 698 | 750,735,iJoshuaHarding,1036,1.86,0.001797,2.04,0.06,5.8e-05,31,55,24.0,40,79 699 | 751,735,JordanLyall,40650,1.86,4.6e-05,1.67,0.06,1e-06,31,59,28.0,48,83 700 | 752,735,MasonVersluis,12722,1.86,0.000146,2.72,0.06,5e-06,31,70,39.0,33,89 701 | 753,735,sh3rcryptO,268,1.86,0.006948,8.96,0.06,0.000224,31,112,81.0,84,191 702 | 755,735,DeFiMann,26328,1.86,7.1e-05,2.37,0.06,2e-06,31,53,22.0,34,65 703 | 756,735,DrgStefanescu,109590,1.86,1.7e-05,3.58,0.06,1e-06,31,58,27.0,49,85 704 | 757,735,AVCrypto_,2213,1.86,0.000841,3.34,0.06,2.7e-05,31,77,46.0,54,105 705 | 758,735,MinisterOfNFTs,12552,1.86,0.000148,13.86,0.06,5e-06,31,107,76.0,55,130 706 | 759,735,Seranged,173,1.86,0.010763,1.96,0.06,0.000347,31,69,38.0,38,98 707 | 760,735,wassielawyer,9363,1.86,0.000199,9.57,0.06,6e-06,31,100,69.0,55,121 708 | 761,735,Nick_Prince12,23129,1.86,8.1e-05,3.57,0.06,3e-06,31,65,34.0,54,96 709 | 762,735,JuanSnow,1829,1.86,0.001018,7.66,0.06,3.3e-05,31,96,65.0,82,161 710 | 763,735,fomocapdao,1091,1.86,0.001707,7.87,0.06,5.5e-05,31,86,55.0,52,99 711 | 764,765,hudsonjameson,27623,1.74,6.3e-05,1.8,0.06,2e-06,31,59,28.0,43,87 712 | 765,765,BanditMfer,349,1.74,0.004996,2.81,0.06,0.000161,31,70,39.0,49,109 713 | 766,765,guccitroII,42078,1.74,4.1e-05,7.36,0.06,1e-06,31,105,74.0,80,179 714 | 767,765,MelonBTC,621006,1.74,3e-06,0.86,0.06,0.0,31,40,9.0,26,49 715 | 768,765,rage_pit,10343,1.74,0.000169,1.22,0.06,5e-06,31,46,15.0,26,57 716 | 769,765,0xak_,1389,1.74,0.001255,3.55,0.06,4e-05,31,56,25.0,39,74 717 | 770,765,YannikSood,2489,1.74,0.000701,2.63,0.06,2.3e-05,31,54,23.0,40,77 718 | 771,765,betty_nft,42291,1.74,4.1e-05,7.35,0.06,1e-06,31,100,69.0,55,118 719 | 772,765,yungcontent,983,1.74,0.001774,1.48,0.06,5.7e-05,31,55,24.0,46,79 720 | 773,765,michaelhealyco,4522,1.74,0.000386,0.73,0.06,1.2e-05,31,40,9.0,8,24 721 | 774,765,cryethereum,49,1.74,0.035587,0.76,0.06,0.001148,31,35,4.0,8,39 722 | 775,765,JKrantz,1466,1.74,0.001189,1.18,0.06,3.8e-05,31,54,23.0,17,35 723 | 776,765,defigen,867,1.74,0.002011,5.16,0.06,6.5e-05,31,75,44.0,29,108 724 | 777,765,MingoAirdrop,3615,1.74,0.000482,6.36,0.06,1.6e-05,31,104,73.0,87,172 725 | 779,765,danlevine,83151,1.74,2.1e-05,5.98,0.06,1e-06,31,106,75.0,56,164 726 | 780,765,DeFiDave22,1385,1.74,0.001259,2.48,0.06,4.1e-05,31,71,40.0,58,111 727 | 781,765,shiro57102,20682,1.74,8.4e-05,4.08,0.06,3e-06,31,71,40.0,53,111 728 | 782,765,0xWenMoon,20991,1.74,8.3e-05,3.06,0.06,3e-06,31,63,32.0,52,95 729 | 783,765,0xRodo,2997,1.74,0.000582,1.51,0.06,1.9e-05,31,66,35.0,56,101 730 | 784,765,0xWicked,2767,1.74,0.00063,1.11,0.06,2e-05,31,45,14.0,25,59 731 | 785,765,sherlock_hodles,9323,1.74,0.000187,4.1,0.06,6e-06,31,72,41.0,53,113 732 | 786,765,milady,15351,1.74,0.000114,20.93,0.06,4e-06,31,137,106.0,52,208 733 | 787,765,_TomHoward,2550,1.74,0.000684,1.3,0.06,2.2e-05,31,45,14.0,10,46 734 | 788,765,WPeaster,10870,1.74,0.00016,1.07,0.06,5e-06,31,48,17.0,41,65 735 | 789,765,YXorxx,24869,1.74,7e-05,2.19,0.06,2e-06,31,57,26.0,33,75 736 | 790,765,CryptoTHFC,11613,1.74,0.00015,4.37,0.06,5e-06,31,93,62.0,81,155 737 | 791,765,8888bitcoin,16089,1.74,0.000108,1.2,0.06,3e-06,31,51,20.0,34,68 738 | 792,765,apoorvlathey,5882,1.74,0.000296,1.08,0.06,1e-05,31,49,18.0,20,41 739 | 793,765,presidentpush,19613,1.74,8.9e-05,1.95,0.06,3e-06,31,52,21.0,36,61 740 | 794,765,litocoen,39319,1.74,4.4e-05,5.75,0.06,1e-06,31,73,42.0,43,89 741 | 795,765,metaverseJoe,568,1.74,0.00307,3.0,0.06,9.9e-05,31,71,40.0,51,111 742 | 796,765,eness_turann,7155,1.74,0.000244,15.51,0.06,8e-06,31,111,80.0,72,174 743 | 797,798,paulcr2009,12391,1.69,0.000136,1.41,0.06,5e-06,30,45,15.0,37,60 744 | 798,798,Impose_eth,20871,1.69,8.1e-05,2.65,0.06,3e-06,30,50,20.0,32,61 745 | 799,798,cozypront,27006,1.69,6.2e-05,7.6,0.06,2e-06,30,92,62.0,57,128 746 | 800,798,_seacasa,21899,1.69,7.7e-05,1.76,0.06,3e-06,30,58,28.0,42,86 747 | 801,798,jyap,58472,1.69,2.9e-05,1.58,0.06,1e-06,30,52,22.0,26,57 748 | 802,798,fallforfud,5259,1.69,0.000321,2.96,0.06,1.1e-05,30,65,35.0,39,80 749 | 803,798,erithium,56935,1.69,3e-05,0.96,0.06,1e-06,30,38,8.0,8,42 750 | 804,798,mushmoonz,4118,1.69,0.00041,5.57,0.06,1.4e-05,30,73,43.0,46,99 751 | 805,798,buyingyourstops,1035492,1.69,2e-06,1.44,0.06,0.0,30,44,14.0,25,54 752 | 806,798,_anti_code_,4062,1.69,0.000415,12.02,0.06,1.4e-05,30,110,80.0,64,182 753 | 807,798,dapanji_eth,4757,1.69,0.000355,1.39,0.06,1.2e-05,30,53,23.0,29,68 754 | 808,798,0xJezza,8795,1.69,0.000192,5.62,0.06,6e-06,30,89,59.0,58,142 755 | 809,798,NullFUD,12461,1.69,0.000135,3.75,0.06,5e-06,30,61,31.0,44,91 756 | 810,798,optimizoor,843,1.69,0.002002,3.5,0.06,6.7e-05,30,67,37.0,46,83 757 | 811,798,deltaxbt,599,1.69,0.002817,8.15,0.06,9.4e-05,30,116,86.0,101,202 758 | 812,798,TheShamdoo,38064,1.69,4.4e-05,12.49,0.06,1e-06,30,129,99.0,99,228 759 | 813,798,DirtyStockPlays,10551,1.69,0.00016,2.08,0.06,5e-06,30,52,22.0,33,74 760 | 814,798,imdanielallan,1744,1.69,0.000968,1.57,0.06,3.2e-05,30,46,16.0,26,52 761 | 815,798,Parmie369,80091,1.69,2.1e-05,0.74,0.06,1e-06,30,38,8.0,10,42 762 | 816,798,0xEdgar,6455,1.69,0.000261,1.04,0.06,9e-06,30,37,7.0,22,44 763 | 817,798,UltraXBT,4017,1.69,0.00042,3.72,0.06,1.4e-05,30,118,88.0,80,192 764 | 818,798,6ix420,528,1.69,0.003196,0.95,0.06,0.000107,30,40,10.0,26,50 765 | 819,798,ebkwockiana,88874,1.69,1.9e-05,2.2,0.06,1e-06,30,52,22.0,31,66 766 | 820,798,0xvopa,3922,1.69,0.00043,5.25,0.06,1.4e-05,30,104,74.0,72,178 767 | 821,798,0xBasedBoy,20322,1.69,8.3e-05,1.79,0.06,3e-06,30,45,15.0,29,60 768 | 822,798,degentradingLSD,151625,1.69,1.1e-05,11.97,0.06,0.0,30,94,64.0,47,126 769 | 823,798,igorlenterman,5047,1.69,0.000334,10.33,0.06,1.1e-05,30,142,112.0,109,254 770 | 824,798,lingranli,151898,1.69,1.1e-05,2.04,0.06,0.0,30,59,29.0,36,78 771 | 825,798,godofthundereth,2743,1.69,0.000615,5.61,0.06,2.1e-05,30,61,31.0,44,92 772 | 826,798,HoneyChadette,2299,1.69,0.000734,0.97,0.06,2.4e-05,30,38,8.0,22,46 773 | 827,798,notbunjil,14653,1.69,0.000115,25.75,0.06,4e-06,30,176,146.0,70,306 774 | 828,798,Cryptogether_,4367,1.69,0.000386,1.65,0.06,1.3e-05,30,46,16.0,37,62 775 | 829,798,jonkodoteth,6532,1.69,0.000258,2.9,0.06,9e-06,30,64,34.0,47,98 776 | 830,798,racerinu,16512,1.69,0.000102,6.64,0.06,3e-06,30,116,86.0,68,187 777 | 832,798,bqbrady,9884,1.69,0.000171,0.71,0.06,6e-06,30,34,4.0,14,38 778 | 834,835,pacman_defence,48119,1.58,3.3e-05,0.62,0.05,1e-06,30,35,5.0,21,34 779 | 835,835,TyrogueD,3418,1.58,0.000461,0.95,0.05,1.5e-05,30,37,7.0,19,42 780 | 836,835,zolandinho,1597,1.58,0.000987,1.99,0.05,3.3e-05,30,51,21.0,28,66 781 | 837,835,fidelitas_lex,6559,1.58,0.00024,4.45,0.05,8e-06,30,82,52.0,51,102 782 | 838,835,DataB4Dishonor,10135,1.58,0.000156,1.18,0.05,5e-06,30,47,17.0,26,57 783 | 839,835,Legendary_NFT,1112,1.58,0.001418,2.81,0.05,4.7e-05,30,69,39.0,47,104 784 | 840,835,WestieCapital,23643,1.58,6.7e-05,2.51,0.05,2e-06,30,68,38.0,48,95 785 | 841,835,CaramelCoffee8,120316,1.58,1.3e-05,1.23,0.05,0.0,30,47,17.0,28,57 786 | 842,835,_Valopa,1914,1.58,0.000824,1.91,0.05,2.7e-05,30,76,46.0,60,122 787 | 843,835,Y33tDavidson,139602,1.58,1.1e-05,1.56,0.05,0.0,30,49,19.0,46,68 788 | 844,835,0x_Lucas,24320,1.58,6.5e-05,1.42,0.05,2e-06,30,59,29.0,32,60 789 | 845,835,NotSuitman,6855,1.58,0.00023,2.52,0.05,8e-06,30,56,26.0,36,74 790 | 846,835,KirbyLarp,4186,1.58,0.000377,4.05,0.05,1.3e-05,30,88,58.0,72,146 791 | 847,835,Barthazian,4597,1.58,0.000343,3.86,0.05,1.1e-05,30,87,57.0,71,144 792 | 848,835,dmihal,8106,1.58,0.000195,1.69,0.05,6e-06,30,59,29.0,35,66 793 | 849,835,libevm,2449,1.58,0.000644,2.37,0.05,2.1e-05,30,75,45.0,55,113 794 | 850,835,0xkinnif,262661,1.58,6e-06,2.3,0.05,0.0,30,66,36.0,30,93 795 | 851,835,cryptodan19,200283,1.58,8e-06,8.44,0.05,0.0,30,94,64.0,66,158 796 | 852,835,0xMert_,9637,1.58,0.000164,7.0,0.05,5e-06,30,86,56.0,58,118 797 | 854,855,petraincognita,70080,1.52,2.2e-05,1.29,0.05,1e-06,29,37,8.0,14,45 798 | 855,855,ExaltedFoks,10820,1.52,0.000141,3.86,0.05,5e-06,29,65,36.0,48,96 799 | 856,855,S4mmyEth,28916,1.52,5.3e-05,2.71,0.05,2e-06,29,73,44.0,50,111 800 | 857,855,0xFinish,77512,1.52,2e-05,1.86,0.05,1e-06,29,67,38.0,46,105 801 | 858,855,evabeylin,33079,1.52,4.6e-05,2.09,0.05,2e-06,29,71,42.0,46,101 802 | 859,855,penguin_curator,4096,1.52,0.000372,3.25,0.05,1.3e-05,29,76,47.0,53,101 803 | 860,855,0xHustlepedia,2130,1.52,0.000716,3.76,0.05,2.5e-05,29,68,39.0,40,69 804 | 861,855,surfcoderepeat,126981,1.52,1.2e-05,1.56,0.05,0.0,29,61,32.0,43,93 805 | 862,855,RikOostenbroek,2546,1.52,0.000599,6.44,0.05,2.1e-05,29,84,55.0,40,77 806 | 863,855,schizoxbt,17684,1.52,8.6e-05,3.51,0.05,3e-06,29,63,34.0,48,89 807 | 865,855,Galxe,7341,1.52,0.000208,15.46,0.05,7e-06,29,103,74.0,48,124 808 | 866,855,0xDaes,38044,1.52,4e-05,1.16,0.05,1e-06,29,38,9.0,30,47 809 | 867,855,cryptoendgamer,2058,1.52,0.000741,1.0,0.05,2.6e-05,29,38,9.0,24,41 810 | 869,855,nftsandkids,23514,1.52,6.5e-05,1.94,0.05,2e-06,29,56,27.0,33,66 811 | 870,855,DastardlyDaniel,155734,1.52,1e-05,2.44,0.05,0.0,29,56,27.0,27,69 812 | 871,855,_GvAll,118415,1.52,1.3e-05,2.05,0.05,0.0,29,50,21.0,44,71 813 | 872,855,EthereumTrump,1199,1.52,0.001271,3.27,0.05,4.4e-05,29,58,29.0,29,80 814 | 873,855,Artifaction2,11025,1.52,0.000138,6.89,0.05,5e-06,29,79,50.0,21,72 815 | 874,855,bitfloorsghost,50439,1.52,3e-05,1.08,0.05,1e-06,29,43,14.0,33,57 816 | 875,855,Prodigy__Sniper,31509,1.52,4.8e-05,1.93,0.05,2e-06,29,40,11.0,16,27 817 | 876,855,mattysino,43795,1.52,3.5e-05,6.4,0.05,1e-06,29,93,64.0,64,136 818 | 877,855,rektcryptofox,3772,1.52,0.000404,2.67,0.05,1.4e-05,29,61,32.0,38,82 819 | 878,855,erla221942,108412,1.52,1.4e-05,2.88,0.05,0.0,29,84,55.0,74,139 820 | 880,855,0xAnteater,5679,1.52,0.000268,1.02,0.05,9e-06,29,37,8.0,15,35 821 | 881,855,CryptoPoseidonn,42,1.52,0.036293,8.7,0.05,0.001251,29,80,51.0,42,91 822 | 882,883,Mothalamp,3213,1.42,0.000443,1.24,0.05,1.6e-05,28,39,11.0,16,32 823 | 883,883,OuroborosCap8,17422,1.42,8.2e-05,6.49,0.05,3e-06,28,106,78.0,67,183 824 | 884,885,champtgram,18885,1.42,7.5e-05,21.05,0.05,3e-06,29,125,96.0,53,126 825 | 885,885,sm0lx,111166,1.42,1.3e-05,1.62,0.05,0.0,29,59,30.0,45,89 826 | 886,885,CryptoAnglio,1627,1.42,0.000873,7.3,0.05,3e-05,29,105,76.0,68,157 827 | 887,885,Crypto_WooPig,69998,1.42,2e-05,4.86,0.05,1e-06,29,67,38.0,48,101 828 | 888,885,CryptoGemCheds,2784,1.42,0.00051,0.8,0.05,1.8e-05,29,33,4.0,17,37 829 | 889,885,Deviled_meggs_,2925,1.42,0.000486,3.05,0.05,1.7e-05,29,57,28.0,35,77 830 | 890,885,trdrtur,615,1.42,0.002311,1.83,0.05,8e-05,29,48,19.0,30,67 831 | 891,885,kirbyongeo,19446,1.42,7.3e-05,2.73,0.05,3e-06,29,63,34.0,36,97 832 | 892,885,YanLiberman,42394,1.42,3.4e-05,7.46,0.05,1e-06,29,88,59.0,50,102 833 | 895,885,ChartFuMonkey,7920,1.42,0.000179,5.57,0.05,6e-06,29,113,84.0,77,174 834 | 896,885,k2_nft,37821,1.42,3.8e-05,2.43,0.05,1e-06,29,69,40.0,38,107 835 | 897,885,Jampzer,878,1.42,0.001618,8.01,0.05,5.6e-05,29,97,68.0,53,103 836 | 898,885,SmokeyHosoda,36640,1.42,3.9e-05,4.52,0.05,1e-06,29,95,66.0,76,156 837 | 899,885,RowanRK6,31129,1.42,4.6e-05,2.0,0.05,2e-06,29,63,34.0,42,93 838 | 900,885,0xAbel_eth,1614,1.42,0.00088,1.19,0.05,3e-05,29,37,8.0,26,44 839 | 901,885,WilsonCusack,16016,1.42,8.9e-05,1.68,0.05,3e-06,29,60,31.0,45,91 840 | 902,885,pikachu_crypto,2027,1.42,0.000701,4.28,0.05,2.4e-05,29,73,44.0,52,116 841 | 903,904,swansonbenson0,7505,1.37,0.000183,2.54,0.05,7e-06,28,55,27.0,37,76 842 | 904,904,NFT_Doctor33,530,1.37,0.002589,5.5,0.05,9.2e-05,28,76,48.0,49,108 843 | 905,904,OL20225358,18392,1.37,7.5e-05,5.41,0.05,3e-06,28,76,48.0,41,79 844 | 906,904,kez4twez,851,1.37,0.001612,2.75,0.05,5.8e-05,28,70,42.0,48,103 845 | 907,904,William11Chan,39702,1.37,3.5e-05,2.31,0.05,1e-06,28,81,53.0,54,131 846 | 908,904,Stillm4n,752,1.37,0.001824,3.98,0.05,6.5e-05,28,63,35.0,37,80 847 | 909,904,satributes,40419,1.37,3.4e-05,1.21,0.05,1e-06,28,51,23.0,28,62 848 | 910,904,0x_charlemagne,7192,1.37,0.000191,2.19,0.05,7e-06,28,73,45.0,55,109 849 | 911,904,MoonGotchi,77762,1.37,1.8e-05,0.96,0.05,1e-06,28,47,19.0,37,66 850 | 912,904,SankoGameCorp,43860,1.37,3.1e-05,20.43,0.05,1e-06,28,165,137.0,101,272 851 | 913,904,NicCageWaluElmo,76480,1.37,1.8e-05,1.91,0.05,1e-06,28,48,20.0,16,62 852 | 914,904,TikTokInvestors,576,1.37,0.002382,14.17,0.05,8.5e-05,28,109,81.0,68,165 853 | 915,904,revolut20,15220,1.37,9e-05,8.96,0.05,3e-06,28,98,70.0,57,108 854 | 916,904,Ars0nic,2550,1.37,0.000538,1.56,0.05,1.9e-05,28,46,18.0,26,57 855 | 917,904,GinoTheGhost,124864,1.37,1.1e-05,2.27,0.05,0.0,28,62,34.0,46,92 856 | 918,904,Degentraland,3498,1.37,0.000392,12.48,0.05,1.4e-05,28,95,67.0,38,94 857 | 919,904,rugsharkd,6912,1.37,0.000198,3.73,0.05,7e-06,28,98,70.0,70,157 858 | 920,904,Yodaskk,48805,1.37,2.8e-05,2.18,0.05,1e-06,28,60,32.0,38,88 859 | 921,904,defiprincess_,3194,1.37,0.00043,4.82,0.05,1.5e-05,28,79,51.0,43,89 860 | 922,904,quant_arb,45483,1.37,3e-05,5.31,0.05,1e-06,28,65,37.0,25,64 861 | 923,904,cryptopainzy,3183,1.37,0.000431,1.06,0.05,1.5e-05,28,34,6.0,12,21 862 | 924,904,flippen6485,62426,1.37,2.2e-05,3.3,0.05,1e-06,28,63,35.0,51,98 863 | 925,904,Abrahamchase09,816,1.37,0.001681,3.64,0.05,6e-05,28,84,56.0,62,118 864 | 926,904,d1pp3r__,179959,1.37,8e-06,2.78,0.05,0.0,28,60,32.0,43,89 865 | 928,904,EffortCapital,5085,1.37,0.00027,1.89,0.05,1e-05,28,65,37.0,48,92 866 | 929,904,nftmisha,0,1.37,0.0,6.09,0.05,0.0,28,100,72.0,65,147 867 | 930,904,meleern,0,1.37,0.0,5.86,0.05,0.0,28,76,48.0,54,116 868 | 931,904,officer_cia,0,1.37,0.0,7.4,0.05,0.0,28,75,47.0,41,68 869 | 932,904,Arch_Crypt0,0,1.37,0.0,1.63,0.05,0.0,28,55,27.0,32,77 870 | 933,904,WuBlockchain,0,1.37,0.0,12.82,0.05,0.0,28,124,96.0,83,177 871 | 934,935,wgm_v,0,1.28,0.0,1.32,0.05,0.0,28,55,27.0,47,82 872 | 935,935,CoingraphNews,0,1.28,0.0,3.19,0.05,0.0,28,49,21.0,13,46 873 | 936,935,fluffypony,0,1.28,0.0,3.89,0.05,0.0,28,69,41.0,31,81 874 | 937,935,BOKJISA_Crypto,0,1.28,0.0,0.91,0.05,0.0,28,41,13.0,29,54 875 | 938,935,Gold_Cryptoz,0,1.28,0.0,8.54,0.05,0.0,28,79,51.0,50,115 876 | 939,935,earlyishadopter,0,1.28,0.0,7.78,0.05,0.0,28,128,100.0,90,217 877 | 940,935,ajt,0,1.28,0.0,3.42,0.05,0.0,28,69,41.0,41,83 878 | 941,935,CryptoParadyme,0,1.28,0.0,11.37,0.05,0.0,28,94,66.0,59,136 879 | 942,935,0xTG3,0,1.28,0.0,1.32,0.05,0.0,28,50,22.0,34,70 880 | 943,935,SatoshiOwl,0,1.28,0.0,8.69,0.05,0.0,28,106,78.0,64,125 881 | 944,935,delitzer,0,1.28,0.0,3.29,0.05,0.0,28,74,46.0,43,120 882 | 945,935,knveth,0,1.28,0.0,1.56,0.05,0.0,28,59,31.0,54,90 883 | 946,935,FriendTechInfo,0,1.28,0.0,0.76,0.05,0.0,28,33,5.0,12,38 884 | 947,935,lemondontfloss,0,1.28,0.0,2.1,0.05,0.0,28,55,27.0,40,73 885 | 948,935,rizzotoo,0,1.28,0.0,1.69,0.05,0.0,28,59,31.0,32,53 886 | 949,935,Edward__Park,0,1.28,0.0,3.59,0.05,0.0,28,76,48.0,62,124 887 | 950,935,Atitty_,0,1.28,0.0,4.75,0.05,0.0,28,79,51.0,36,94 888 | 951,935,icygobrrr,0,1.28,0.0,0.87,0.05,0.0,28,42,14.0,40,56 889 | 952,935,nateliason,0,1.28,0.0,8.33,0.05,0.0,28,89,61.0,34,67 890 | 953,935,DEXLaboratory4,0,1.28,0.0,1.01,0.05,0.0,28,51,23.0,34,68 891 | 954,935,0xpotato3,0,1.28,0.0,1.6,0.05,0.0,28,60,32.0,47,90 892 | 955,935,Stacco__,0,1.28,0.0,1.01,0.05,0.0,28,39,11.0,24,41 893 | 956,935,ppmctweets,0,1.28,0.0,3.17,0.05,0.0,28,70,42.0,57,112 894 | 958,935,Dogetoshi,0,1.28,0.0,8.61,0.05,0.0,28,152,124.0,103,266 895 | 959,960,andreasrtobing_,0,1.23,0.0,0.79,0.05,0.0,27,35,8.0,29,43 896 | 961,960,0xAtomist,0,1.23,0.0,1.08,0.05,0.0,27,41,14.0,25,47 897 | 962,960,zepump,0,1.23,0.0,0.68,0.05,0.0,27,33,6.0,16,39 898 | 963,960,oesnetwork,0,1.23,0.0,2.88,0.05,0.0,27,65,38.0,34,80 899 | 964,960,randallrungood,0,1.23,0.0,2.83,0.05,0.0,27,54,27.0,37,79 900 | 965,960,mattomattik,0,1.23,0.0,4.75,0.05,0.0,27,83,56.0,57,136 901 | 966,960,DeFi_Made_Here,0,1.23,0.0,5.16,0.05,0.0,27,85,58.0,61,117 902 | 967,960,mikeykremer,0,1.23,0.0,1.04,0.05,0.0,27,52,25.0,31,68 903 | 968,960,merts_eth,0,1.23,0.0,1.04,0.05,0.0,27,52,25.0,38,67 904 | 969,960,javajrr,0,1.23,0.0,1.77,0.05,0.0,27,58,31.0,43,89 905 | 970,960,0xbags,0,1.23,0.0,1.24,0.05,0.0,27,62,35.0,43,77 906 | 971,960,zharkov_crypto,0,1.23,0.0,1.36,0.05,0.0,27,42,15.0,27,52 907 | 972,960,CryptoEthan,0,1.23,0.0,5.01,0.05,0.0,27,93,66.0,70,159 908 | 974,960,LINTZURA,0,1.23,0.0,1.12,0.05,0.0,27,39,12.0,20,51 909 | 975,960,mememe69696969,0,1.23,0.0,6.1,0.05,0.0,27,116,89.0,75,200 910 | 977,960,TraderTR1,0,1.23,0.0,2.41,0.05,0.0,27,47,20.0,39,67 911 | 978,960,jbrukh,0,1.23,0.0,1.89,0.05,0.0,27,55,28.0,31,55 912 | 979,960,fiveoutofnine,0,1.23,0.0,0.96,0.05,0.0,27,43,16.0,24,47 913 | 980,960,damskotrades,0,1.23,0.0,3.09,0.05,0.0,27,87,60.0,54,147 914 | 981,960,karl_0x,0,1.23,0.0,8.44,0.05,0.0,27,105,78.0,66,182 915 | 982,960,CryptoHarry_,0,1.23,0.0,3.09,0.05,0.0,27,56,29.0,34,58 916 | 983,960,ZTol008,0,1.23,0.0,0.52,0.05,0.0,27,31,4.0,8,35 917 | 985,960,KinkyBedBugs,0,1.23,0.0,3.95,0.05,0.0,27,76,49.0,30,84 918 | 986,960,washieth,0,1.23,0.0,1.5,0.05,0.0,27,53,26.0,40,79 919 | 987,960,orangie,0,1.23,0.0,13.48,0.05,0.0,27,95,68.0,33,84 920 | 988,960,definalist,0,1.23,0.0,3.1,0.05,0.0,27,66,39.0,39,96 921 | 989,960,yellowbrah69,0,1.23,0.0,1.66,0.05,0.0,27,46,19.0,32,59 922 | 990,960,blader,0,1.23,0.0,3.02,0.05,0.0,27,87,60.0,71,146 923 | 991,960,tumilett,0,1.23,0.0,3.15,0.05,0.0,27,54,27.0,39,77 924 | 992,960,GotrillaGorilla,0,1.23,0.0,4.56,0.05,0.0,27,72,45.0,53,102 925 | 993,960,const_phoenixed,0,1.23,0.0,3.29,0.05,0.0,27,58,31.0,33,76 926 | 994,960,corleonescrypto,0,1.23,0.0,8.51,0.05,0.0,27,85,58.0,38,109 927 | 995,960,Base_Intern,0,1.23,0.0,1.61,0.05,0.0,27,46,19.0,30,57 928 | 996,960,eth_apple,0,1.23,0.0,4.72,0.05,0.0,27,78,51.0,35,83 929 | 997,998,FlossyP911,0,1.23,0.0,2.33,0.04,0.0,28,63,35.0,48,93 930 | 998,999,inhalingsummer,0,1.14,0.0,1.03,0.04,0.0,27,37,10.0,18,47 931 | -------------------------------------------------------------------------------- /hftbacktest.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "
\n", 8 | "\"Lake\"/\n", 9 | "
\n", 10 | "\n", 11 | "# HFT backtest example\n", 12 | "\n", 13 | "We use [crypto-lake.com](https://crypto-lake.com/#data) sample/free market data.\n", 14 | "\n", 15 | "This is alpha version, not ready for usage yet.\n", 16 | "\n", 17 | "TODO for higher performance and precision on bigger tokens (BTC, ETH, ...):\n", 18 | "- update book_delta data to have structure without nesting\n", 19 | "- migrate old book_delta data to new structure\n", 20 | "- load book_delta data and implement conversion to hftbacktest\n", 21 | "\n", 22 | "Quick links:\n", 23 | "- [edit this notebook online](https://mybinder.org/v2/gh/crypto-lake/analysis-sharing/main?filepath=hftbacktest.ipynb) using Binder\n", 24 | "- [follow our activity on twitter](https://twitter.com/intent/user?screen_name=crypto_lake_com)" 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": 1, 30 | "metadata": {}, 31 | "outputs": [], 32 | "source": [ 33 | "%load_ext autoreload\n", 34 | "%autoreload 2\n" 35 | ] 36 | }, 37 | { 38 | "cell_type": "code", 39 | "execution_count": 2, 40 | "metadata": {}, 41 | "outputs": [], 42 | "source": [ 43 | "import datetime\n", 44 | "\n", 45 | "import pandas as pd\n", 46 | "import lakeapi\n", 47 | "import hftbacktest\n", 48 | "import lake_to_hftbacktest\n", 49 | "from numba import njit\n", 50 | "\n", 51 | "# cf.go_offline()\n", 52 | "\n", 53 | "lakeapi.use_sample_data(anonymous_access=True)\n" 54 | ] 55 | }, 56 | { 57 | "cell_type": "code", 58 | "execution_count": 3, 59 | "metadata": {}, 60 | "outputs": [], 61 | "source": [ 62 | "# Parameters\n", 63 | "symbol = 'FTRB-USDT'\n", 64 | "exchange = 'ASCENDEX'\n", 65 | "\n", 66 | "# Free sample data contain subset of the below time period\n", 67 | "start = datetime.datetime(2022, 11, 1)\n", 68 | "end = datetime.datetime(2022, 11, 2)\n" 69 | ] 70 | }, 71 | { 72 | "cell_type": "markdown", 73 | "metadata": {}, 74 | "source": [ 75 | "## Data" 76 | ] 77 | }, 78 | { 79 | "cell_type": "code", 80 | "execution_count": null, 81 | "metadata": {}, 82 | "outputs": [], 83 | "source": [ 84 | "print('Loading data')\n", 85 | "trades = lakeapi.load_data(\n", 86 | " table = 'trades',\n", 87 | " start = start,\n", 88 | " end = end,\n", 89 | " symbols = [symbol],\n", 90 | " exchanges = [exchange],\n", 91 | " drop_partition_cols = True,\n", 92 | ").sort_values('received_time')\n", 93 | "book = lakeapi.load_data(\n", 94 | " table = 'book',\n", 95 | " start = start,\n", 96 | " end = end,\n", 97 | " symbols = [symbol],\n", 98 | " exchanges = [exchange],\n", 99 | " drop_partition_cols = True,\n", 100 | ").sort_values('received_time')\n" 101 | ] 102 | }, 103 | { 104 | "cell_type": "code", 105 | "execution_count": 5, 106 | "metadata": {}, 107 | "outputs": [ 108 | { 109 | "name": "stderr", 110 | "output_type": "stream", 111 | "text": [ 112 | "100%|██████████| 430/430 [00:00<00:00, 6780.83it/s]\n", 113 | "100%|██████████| 6232/6232 [00:11<00:00, 555.71it/s]\n" 114 | ] 115 | }, 116 | { 117 | "name": "stdout", 118 | "output_type": "stream", 119 | "text": [ 120 | "Merging\n", 121 | "found 507 rows that exch_timestamp is ahead of the previous exch_timestamp\n", 122 | "Correction is done.\n", 123 | "Saving to hftbacktest_data.npz\n" 124 | ] 125 | } 126 | ], 127 | "source": [ 128 | "ret = lake_to_hftbacktest.convert(\n", 129 | "\tinput_dfs = [trades, book],\n", 130 | "\toutput_filename = 'hftbacktest_data.npz',\n", 131 | ")\n" 132 | ] 133 | }, 134 | { 135 | "cell_type": "markdown", 136 | "metadata": {}, 137 | "source": [ 138 | "## Try out the data\n" 139 | ] 140 | }, 141 | { 142 | "cell_type": "code", 143 | "execution_count": 4, 144 | "metadata": {}, 145 | "outputs": [ 146 | { 147 | "name": "stdout", 148 | "output_type": "stream", 149 | "text": [ 150 | "Load hftbacktest_data.npz\n" 151 | ] 152 | } 153 | ], 154 | "source": [ 155 | "hbt = hftbacktest.HftBacktest(\n", 156 | " 'hftbacktest_data.npz',\n", 157 | " tick_size=0.000001, # Tick size of a target trading asset\n", 158 | " lot_size=1, # Lot size of a target trading asset, minimum trading unit.\n", 159 | " maker_fee=0.0002, # 0.02%, Maker fee, rebates if it is negative.\n", 160 | " taker_fee=0.0007, # 0.07%, Taker fee.\n", 161 | " order_latency=hftbacktest.FeedLatency(), # Latency model: ConstantLatency, FeedLatency.\n", 162 | " asset_type=hftbacktest.Linear, # Asset type: Linear, Inverse.\n", 163 | ")\n" 164 | ] 165 | }, 166 | { 167 | "cell_type": "code", 168 | "execution_count": 7, 169 | "metadata": {}, 170 | "outputs": [ 171 | { 172 | "name": "stdout", 173 | "output_type": "stream", 174 | "text": [ 175 | "Load hftbacktest_data.npz\n", 176 | "Running backtest\n", 177 | "timestamp_s: 1667320796.0 , best_bid: 0.015991 , best_ask: 0.016005 , position: 0.0 , equity: 0.0\n", 178 | "timestamp_s: 1667321396.0 , best_bid: 0.016064 , best_ask: 0.016073 , position: 0.0 , equity: 0.0\n", 179 | "timestamp_s: 1667321996.0 , best_bid: 0.016017 , best_ask: 0.016026 , position: 10000.0 , equity: -0.45712799999998294\n", 180 | "timestamp_s: 1667322596.0 , best_bid: 0.016005 , best_ask: 0.016015 , position: 20000.0 , equity: -0.6741620000000137\n", 181 | "timestamp_s: 1667323196.0 , best_bid: 0.016005 , best_ask: 0.016015 , position: 20000.0 , equity: -0.6741620000000137\n", 182 | "timestamp_s: 1667323796.0 , best_bid: 0.016005 , best_ask: 0.016015 , position: 20000.0 , equity: -0.6741620000000137\n", 183 | "timestamp_s: 1667324396.0 , best_bid: 0.016009 , best_ask: 0.016018 , position: 20000.0 , equity: -0.6041619999999637\n", 184 | "timestamp_s: 1667324996.0 , best_bid: 0.0161 , best_ask: 0.01611 , position: 20000.0 , equity: 1.2258380000000773\n", 185 | "timestamp_s: 1667325596.0 , best_bid: 0.016199 , best_ask: 0.016209 , position: 20000.0 , equity: 3.2058379999999818\n", 186 | "timestamp_s: 1667326196.0 , best_bid: 0.01619 , best_ask: 0.0162 , position: 20000.0 , equity: 3.0258380000000886\n", 187 | "timestamp_s: 1667326796.0 , best_bid: 0.0162 , best_ask: 0.016211 , position: 20000.0 , equity: 3.2358380000000113\n", 188 | "timestamp_s: 1667327396.0 , best_bid: 0.016201 , best_ask: 0.01621 , position: 20000.0 , equity: 3.2358380000000113\n", 189 | "timestamp_s: 1667327996.0 , best_bid: 0.016202 , best_ask: 0.016211 , position: 20000.0 , equity: 3.25583800000005\n", 190 | "timestamp_s: 1667328596.0 , best_bid: 0.016204 , best_ask: 0.016213 , position: 20000.0 , equity: 3.2958380000000704\n", 191 | "timestamp_s: 1667329196.0 , best_bid: 0.0162 , best_ask: 0.016207 , position: 30000.0 , equity: 3.1584300000000525\n", 192 | "timestamp_s: 1667329796.0 , best_bid: 0.0162 , best_ask: 0.016206 , position: 30000.0 , equity: 3.143430000000066\n", 193 | "timestamp_s: 1667330396.0 , best_bid: 0.0162 , best_ask: 0.016206 , position: 50000.0 , equity: 3.1086240000000958\n", 194 | "timestamp_s: 1667330996.0 , best_bid: 0.0162 , best_ask: 0.016206 , position: 50000.0 , equity: 3.1086240000000958\n", 195 | "timestamp_s: 1667331596.0 , best_bid: 0.016201 , best_ask: 0.016208 , position: 50000.0 , equity: 3.1836240000001412\n", 196 | "timestamp_s: 1667332196.0 , best_bid: 0.0162 , best_ask: 0.016208 , position: 50000.0 , equity: 3.1586240000000503\n", 197 | "timestamp_s: 1667332796.0 , best_bid: 0.016202 , best_ask: 0.016209 , position: 50000.0 , equity: 3.233623999999982\n", 198 | "timestamp_s: 1667333396.0 , best_bid: 0.016202 , best_ask: 0.01621 , position: 50000.0 , equity: 3.258624000000073\n", 199 | "timestamp_s: 1667333996.0 , best_bid: 0.016202 , best_ask: 0.01621 , position: 50000.0 , equity: 3.258624000000073\n", 200 | "timestamp_s: 1667334596.0 , best_bid: 0.016202 , best_ask: 0.01621 , position: 50000.0 , equity: 3.258624000000073\n", 201 | "timestamp_s: 1667335196.0 , best_bid: 0.016201 , best_ask: 0.016209 , position: 50000.0 , equity: 3.208624000000005\n", 202 | "timestamp_s: 1667335796.0 , best_bid: 0.016201 , best_ask: 0.016208 , position: 50000.0 , equity: 3.1836240000001412\n", 203 | "timestamp_s: 1667336396.0 , best_bid: 0.016201 , best_ask: 0.016208 , position: 50000.0 , equity: 3.1836240000001412\n", 204 | "timestamp_s: 1667336996.0 , best_bid: 0.016201 , best_ask: 0.016209 , position: 50000.0 , equity: 3.208624000000005\n", 205 | "timestamp_s: 1667337596.0 , best_bid: 0.016201 , best_ask: 0.016209 , position: 50000.0 , equity: 3.208624000000005\n", 206 | "timestamp_s: 1667338196.0 , best_bid: 0.016201 , best_ask: 0.016209 , position: 50000.0 , equity: 3.208624000000005\n", 207 | "timestamp_s: 1667338796.0 , best_bid: 0.016201 , best_ask: 0.016209 , position: 50000.0 , equity: 3.208624000000005\n", 208 | "timestamp_s: 1667339396.0 , best_bid: 0.0162 , best_ask: 0.016208 , position: 50000.0 , equity: 3.1586240000000503\n", 209 | "timestamp_s: 1667339996.0 , best_bid: 0.0162 , best_ask: 0.016207 , position: 50000.0 , equity: 3.133624000000073\n", 210 | "timestamp_s: 1667340596.0 , best_bid: 0.016201 , best_ask: 0.016209 , position: 50000.0 , equity: 3.208624000000005\n", 211 | "timestamp_s: 1667341196.0 , best_bid: 0.0162 , best_ask: 0.016209 , position: 50000.0 , equity: 3.183623999999914\n", 212 | "timestamp_s: 1667341796.0 , best_bid: 0.016201 , best_ask: 0.016209 , position: 50000.0 , equity: 3.208624000000005\n", 213 | "timestamp_s: 1667342396.0 , best_bid: 0.016161 , best_ask: 0.016182 , position: 300000.0 , equity: -6.471390000000909\n", 214 | "timestamp_s: 1667342996.0 , best_bid: 0.016149 , best_ask: 0.016159 , position: 310000.0 , equity: -11.82371199999971\n", 215 | "timestamp_s: 1667343596.0 , best_bid: 0.016153 , best_ask: 0.016162 , position: 310000.0 , equity: -10.738712000000582\n", 216 | "timestamp_s: 1667344196.0 , best_bid: 0.016145 , best_ask: 0.016155 , position: 320000.0 , equity: -13.126018000001055\n", 217 | "timestamp_s: 1667344796.0 , best_bid: 0.016136 , best_ask: 0.016146 , position: 340000.0 , equity: -16.190606000000145\n", 218 | "timestamp_s: 1667345396.0 , best_bid: 0.016128 , best_ask: 0.016138 , position: 340000.0 , equity: -18.91060599999949\n", 219 | "timestamp_s: 1667345996.0 , best_bid: 0.016112 , best_ask: 0.016121 , position: 360000.0 , equity: -24.895133999999562\n", 220 | "timestamp_s: 1667346596.0 , best_bid: 0.016112 , best_ask: 0.016118 , position: 360000.0 , equity: -25.435134000000435\n", 221 | "timestamp_s: 1667347196.0 , best_bid: 0.016112 , best_ask: 0.016118 , position: 360000.0 , equity: -25.435134000000435\n" 222 | ] 223 | }, 224 | { 225 | "data": { 226 | "text/plain": [ 227 | "False" 228 | ] 229 | }, 230 | "execution_count": 7, 231 | "metadata": {}, 232 | "output_type": "execute_result" 233 | } 234 | ], 235 | "source": [ 236 | "@njit(cache=True)\n", 237 | "def dca_every_10m(hbt, recorder):\n", 238 | " ''' DCA with 10min frequency using limit order on best bid '''\n", 239 | " order_id = 1\n", 240 | " while hbt.run:\n", 241 | " # Times are in nanoseconds\n", 242 | " if not hbt.elapse(10 * 60 * 1e9):\n", 243 | " return False\n", 244 | "\n", 245 | " print(\n", 246 | " 'timestamp_s:', hbt.current_timestamp // 1e9,\n", 247 | " ', best_bid:', round(hbt.best_bid, 9),\n", 248 | " ', best_ask:', round(hbt.best_ask, 9),\n", 249 | " ', position:', hbt.position,\n", 250 | " ', equity:', hbt.equity,\n", 251 | " )\n", 252 | " # Record statistics for analysis in the next cell\n", 253 | " recorder.record(hbt)\n", 254 | " hbt.clear_inactive_orders()\n", 255 | " # Try to buy some tokens every 10 minutes\n", 256 | " hbt.submit_buy_order(order_id, hbt.best_bid, 10_000, hftbacktest.GTC)\n", 257 | " order_id += 1\n", 258 | " return True\n", 259 | "\n", 260 | "\n", 261 | "if not hbt.run:\n", 262 | "\t# If backtest already run and finished, reset it to be able to run this cell again\n", 263 | "\thftbacktest.reset(hbt, 'hftbacktest_data.npz')\n", 264 | "\n", 265 | "print('Running backtest')\n", 266 | "stat = hftbacktest.Stat(hbt, unit = 'ns')\n", 267 | "dca_every_10m(hbt, stat.recorder)\n" 268 | ] 269 | }, 270 | { 271 | "cell_type": "code", 272 | "execution_count": 8, 273 | "metadata": {}, 274 | "outputs": [ 275 | { 276 | "name": "stdout", 277 | "output_type": "stream", 278 | "text": [ 279 | "=========== Summary ===========\n", 280 | "Sharpe ratio: -64.8\n", 281 | "Sortino ratio: -54.2\n", 282 | "Risk return ratio: -1058.9\n", 283 | "Annualised return: -303.83 %\n", 284 | "Max. draw down: 0.29 %\n", 285 | "The number of trades per day: 9\n", 286 | "Avg. daily trading volume: 97500\n", 287 | "Avg. daily trading amount: 1576\n", 288 | "Max leverage: 0.58\n", 289 | "Median leverage: 0.08\n" 290 | ] 291 | }, 292 | { 293 | "data": { 294 | "image/png": "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1q9fz4033tigF8pisfDGG29wyy23uLJ6kRalHjY5H9jtdj7//PMWr/eSSy5p1jkE999/P0899RRdunQhJCSEAwcOcNVVV/HnP/8ZHx8fXn31VcaPH09WVhbx8fFAbbBy+PBh1q5di5eXF7/73e+aNP/ggQce4KmnnqJ79+488MAD3HTTTezZswdPT0++/PJL7rjjDh5//HGuvvpqPvnkE+bOnXvWcwYEBLB8+XJiYmLYtm0b06dPJyAggFmzZgHw61//mkGDBvHSSy9hNpvJzMx0JOG46667sFgsfPbZZ3Ts2JEdO3Y4eh1LSkq4/PLLmTZtGs888wyVlZXMnj2bG264gU8//ZRnn32WH374gX79+jkSdEVERPyk10BERJrGpQHb1KlTGTNmDJGRkU7bjx07xtSpUxWwSbthsVgcv26rh02k9Xv44YedRlSEhoYycOBAx+NHHnmEd955h/fee4+7776bH374gQ8++ICvv/6aYcOGAbXznnv37n3Wuu677z7GjRsHwIIFC+jbty979uyhV69ePP/884wdO5b77rsPgB49erBhwwbef//9M57zwQcfdNxPTEzkvvvu44033nAEbDk5OfzhD39wjGbp3r27o3xOTg4TJ06kf//+QG3W4zovvPACgwYN4tFHH3Vse+WVV4iLi+OHH36gR48eeHt74+fnp+GfIiItxKUBm2EYjU7+PnjwYKMp/0XaKmWIlPOFh4cHl1xyiVvqbU5Dhw51elxeXs5DDz3EqlWryM3NpaamhsrKSnJycgDYuXMnnp6eDBkyxHFMr169zjp0EWDAgAGO+3WZhQsKCujVqxdZWVlce+21TuWHDx9+1oDtzTff5LnnnmPv3r2Ul5dTU1NDYGCgY396ejrTpk3j//2//8eoUaO4/vrr6dq1KwC/+93vuPPOO/noo48YNWoUEydOdLRxy5YtrF27ttF1JPfu3UuPHj3Oer0iItK8XDKHbdCgQQwePBiTycQVV1zB4MGDHbeBAwdyySWXMGrUKFdULeIWGg4p54v62a1a8na2zI/n6tR/q/fddx/vvPMOjz76KJ9//jmZmZn0798fi8Xys+uqvx5Y3XXY7faffL6MjAx+/etfc9VVV/H++++zefNmHnjgAae2PvTQQ3z//feMGzeOTz/9lD59+vDOO+8AMG3aNPbt28fNN9/Mtm3bGDp0KM8//zxQG7iOHz+ezMxMp9vu3bu59NJLf3KbRUTkp3NJD1vd+jOZmZmkpaU5/VLn7e1NYmIiEydOdEXVIm6hgE2kbfvyyy+ZMmWKo7ervLzcKZlGr169qKmpYdOmTY4hkVlZWZSUlPysenv27Mk333zjtO3Ux6fasGEDCQkJPPDAA45tP/74Y4NyPXr0oEePHsycOZObbrqJZcuWOa4vLi6OO+64gzvuuIM5c+awZMkS7rnnHgYPHsy///1vEhMTT5s509vb+yct/CoiIj+NSwK2+fPnA7Xj6m+88UZ8fX1dUY1Iq6EMkSJtW/fu3Xn77bcZP348JpOJuXPnOvWC9ezZkzFjxvB///d/vPTSS3h6ejJjxowmr6FzOvfccw+XXnopTz/9NOPHj+fTTz/lgw8+OGOPYvfu3cnJyeGNN95g2LBhrFq1ytF7BlBZWckf/vAHfvnLX5KUlMTBgwf55ptvHD+Uzpgxg7Fjx9KjRw+Ki4tZu3atYy7eXXfdxZIlS7jpppuYNWsWoaGh7NmzhzfeeIOlS5diNptJTExk48aN7N+/H39/f0JDQ5t9yKqIiJzk0k/YyZMnU1VVxdKlS5kzZw5Hjx4F4LvvvuPQoUOurFqkRamHTaRte/rppwkJCeHCCy9k/PjxpKWlMXjwYKcyy5YtIyYmhhEjRnDddddx++23N0iqda4uuugiFi9ezNNPP83AgQNZvXo1M2fOPOMPnVdffTUzZ87k7rvvJjk5mQ0bNjhlljSbzRQVFXHLLbfQo0cPbrjhBsaOHcuCBQsAsNls3HXXXfTu3ZsxY8bQo0cP/vrXvwIQExPDl19+ic1m48orr6R///7MmDGD4OBgR1B23333YTab6dOnDxEREY55fiIi4hom41wWtzlHW7duZdSoUQQFBbF//36ysrLo0qULDz74IDk5Obz66quuqrpVKisrIygoiMLCQsLCwtzdHGkmFouFDRs2AM2felzEnaqqqsjOziYpKUkjJVrQ9OnT2bVrl1uWT2jr9J4VkbakqKiI8PBwSktLnRJHncqlPWwzZ85kypQp7N692+mD86qrruKzzz5zZdUiLUYZIkXk53jqqafYsmULe/bs4fnnn2fFihVMnjzZ3c0SEZFWwqVp/b/99ltefvnlBts7d+5MXl6eK6sWaTEaDikiP8fXX3/NE088wbFjx+jSpQvPPfcc06ZNc3ezRESklXBpwObj40NZWVmD7T/88AMRERGurFqkxShgE5Gf45///Ke7myAiIq2YS4dEXn311Tz88MNYrVagdv2ZnJwcZs+erbT+0m4oQ6SIiIiIuIpLA7a//OUvlJeXExkZSWVlJSNGjKBbt274+/vz5z//2ZVVi7QY9bCJiIiIiKu4dEhkUFAQH3/8MV988QVbt26lvLycwYMHM2rUKFdWK9JiLBaLowdZPWwiIiIi0txcGrDVufjii7n44osdj7/77jvmzZvH+++/3xLVi7iMMkSKiIiIiCu5bEjkhx9+yH333ccf//hH9u3bB8CuXbuYMGECw4YNw263u6pqkRaj4ZAiIiIi4kouCdj+/ve/M3bsWJYvX87jjz/OBRdcwGuvvUZqairR0dFs376d//3vf66oWqRFKWATkdZoypQpTJgwodnOt3z5coKDg8/pGMMwuP322wkNDcVkMpGZmdls7REROZ+4JGB79tlnefzxxyksLOSf//wnhYWF/PWvf2Xbtm0sXryY3r17u6JakRanDJEirdORI0e48847iY+Px8fHh+joaNLS0vjyyy8dZUwmE++++26z1Ld///5WFZQ8++yzLF++3K1tWL16NcuXL+f9998nNzeXfv36ubU9IiJtlUvmsO3du5frr78egOuuuw5PT0+efPJJYmNjXVGdiNuoh02kdZo4cSIWi4UVK1bQpUsX8vPzWbNmDUVFRed0HovFgre3t4ta6TpBQUHubgJ79+6lU6dOXHjhhe5uiohIm+aSHrbKykpHj4PJZMLHx4dOnTq5oioRt1GGSJHWqaSkhM8//5zHH3+ckSNHkpCQwPDhw5kzZw5XX301AImJiQBce+21mEwmx+OHHnqI5ORkli5dSlJSEr6+vkBtb9HFF19McHAwYWFh/OIXv2Dv3r2OOpOSkgAYNGgQJpOJyy67zLFv6dKl9O7dG19fX3r16sVf//pXp/Zu2LCB5ORkfH19GTp0KO+++66jt84wDLp168ZTTz3ldExmZiYmk4k9e/Y0+hycOiTysssu43e/+x2zZs0iNDSU6OhoHnrooQbP2//93/8RFRWFr68v/fr1+8nJwaZMmcI999xDTk6O0/Nrt9tZuHAhSUlJdOjQgYEDB/Kvf/3L6djt27czduxY/P39iYqK4uabb6awsPAntUNEpD1wWZbIpUuX4u/vD0BN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0oDts88+4w9/+AM33HAD4eHhrqxKxOXqZ4hUD5tI6zZx4kTGjRvH559/zldffcUHH3zAE088wdKlS5kyZcoZj01ISHAK1gB2797NvHnz2LhxI4WFhY6etZycHPr169foeSoqKti7dy+33XabUwBWU1NDUFAQAFlZWQwYMMAx9BJg+PDhTueJiYlh3LhxvPLKKwwfPpz//ve/VFdXc/311//kegFSU1O57777HL16F198sWNfZmbmac/fXLZs2cKePXsICAhw2l5VVcXevXubfB0iIu2dSwO2+tm4RNo6ZYgUAbz8anu73FHvOfL19WX06NGMHj2auXPnMm3aNObPn3/WgK2xH2TGjx9PQkICS5YsISYmBrvdTr9+/c6YlKS8vByAJUuWkJKS4rTvXD9Dpk2bxs0338wzzzzDsmXLuPHGG0/b09/Ueu12O19++SVms7nBXLgOHTqcU/t+ivLycoYMGcLrr7/eYF9ERESzPn8iIm1Zswds7733HmPHjsXLy4v33nvvjGXrJn+LtAVKOCICmExNHprY2vTp08cpjb+Xl1eT5mQVFRWRlZXFkiVLuOSSSwD44osvnMp4e3sDOJ0vKiqKmJgY9u3bx69//etGz92zZ09ee+01qqur8fHxAXCaT1fnqquuomPHjrz00kusXr2azz777LTtbUq9AE8++SS7du1i/fr1pKWlsWzZMqZOnQrAgAEDWLNmDQsWLDjt8T/X4MGDefPNN4mMjHQMxawvKCioSdchItLeNXvANmHCBPLy8oiMjGTChAmnLWcymX7y5GURd1DCEZG2oaioiOuvv96RCTEgIIBvv/2WJ554gmuuucZRLjExkTVr1nDRRRfh4+NDSEhIo+cLCQkhLCyMl19+mU6dOpGTk+NI1lEnMjKSDh06sHr1amJjY/H19SUoKIgFCxbwu9/9jqCgIMaMGUN1dTXffvstxcXFpKen86tf/YoHHniA22+/nfvvv5+cnBzH3LS6eV1Q26M0ZcoU5syZQ/fu3UlNTT3jc3C2ejdv3sy8efP417/+xUUXXcTTTz/N73//e0aMGEGXLl2YM2cO/fv357e//S133HEH3t7erF27luuvv77RKQ5z5szh0KFDvPrqq01+nX7961/z5JNPcs011/Dwww8TGxvLjz/+yNtvv82sWbOIjY0963WIiJwPmj1LpN1uJzIy0nH/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YbCv8Dh7Csqx2OxYauyn/DUa2dZYudq/ZfXKW0/ZZ7UZ2G3tKGC79957mTJlyhnLdOnShejoaAoKCpy219TUcPToUaKjo894/LFjxxgzZgwBAQG88847eHl5nbF8SkoKjzzyCNXV1fj4NL6Wg4+PT6P7vLy8znp+ERERERFpWb1ivOkVE+zyeux2g7yCI3RedPaybSJgi4iIICIi4qzlUlNTKSkpYdOmTQwZMgSATz/9FLvdTkpKymmPKysrIy0tDR8fH957770mZX7MzMwkJCTktMGaiIiIiIhIYzw8TPh4mZtUtk0EbE3Vu3dvxowZw/Tp01m8eDFWq5W7776bSZMmOTJEHjp0iCuuuIJXX32V4cOHU1ZWxpVXXsnx48d57bXXKCsrcyQHiYiIwGw289///pf8/HwuuOACfH19+fjjj3n00Ue577773Hm5IiIiIiLSzrWrgA3g9ddf5+677+aKK65wLJz93HPPOfZbrVaysrI4fvw4AN999x0bN24EoFu3bk7nys7OJjExES8vL1588UVmzpyJYRh069aNp59+munTp7fchYmIiIiIyHmnXa3D1tppHTYREREREYGmL5x97ktyi4iIiIiISItQwCYiIiIiItJKKWATERERERFppRSwtaC66YKaNigiIiIicn5ramzQ7rJEtmalpaUA7N69m6qqKje3RkRERERE3OXAgQNAbYwQFBR02nIK2FpQ3Yty4YUXurklIiIiIiLSGhw4cID4+PjT7lfA1oJiY2OB2vXdQkND3dwaERERERFxl6NHj5KUlOSIEU5HAVsLMpvNAAQEBJxxrQUREREREWnfrFYrcDJGOB0lHREREREREWmlFLCJiIiIiIi0UgrYWpCPj4+7myAiIiIiIq3I2WIEBWwtSAGbiIiIiIjUp4BNRERERESkjVKWSBEREREREcAwDCqtthap67ilpknlFLCJiIiIiMh57bilhre/O8TyDfvZU1DeInXaq483qZwCNhEREREROS8dLqnk1Ywf+cfXOZRWWt3dnEYpYBMRERERkfOGYRh8l1PCK19ms3p7Hja7AUBCmB+TUxOZMKgzvl6uT/VRVFRE/KKzl3Nr0pGXXnqJAQMGEBgYSGBgIKmpqXzwwQeO/Zdddhkmk8npdscddzidIycnh3HjxuHn50dkZCR/+MMfqKlxHg+6bt06Bg8ejI+P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AERHRzfI5liXubF+mVOzOebn5xMYGEiHDh0wm82YzeZGy9Q/x9na0hgfHx98fBpOCvXy8sLLS/9YRURERNq7PQePAdApyJeIII2wkpOaGg+4Na1/Y+x2O9XV1QwZMgQvLy/WrFnj2JeVlUVOTg6pqakApKamsm3bNgoKChxlPv74YwIDA+nTp4+jTP1z1JWpO4e3tzdDhgxxKmO321mzZo2jTFPaIiIiIiJyqp25tTkMenc6fVIJkTNxaw/bnDlzGDt2LPHx8Rw7doyVK1eybt06PvzwQ4KCgrjttttIT08nNDSUwMBA7rnnHlJTUx1JPq688kr69OnDzTffzBNPPEFeXh4PPvggd911l6Nn64477uCFF15g1qxZ3HrrrXz66af885//ZNWqVY52pKenM3nyZIYOHcrw4cNZtGgRFRUVTJ06FaBJbREREREROdXJgC3AzS2RtsqtAVtBQQG33HILubm5BAUFMWDAAD788ENGjx4NwDPPPIOHhwcTJ06kurqatLQ0/vrXvzqON5vNvP/++9x5552kpqbSsWNHJk+ezMMPP+wok5SUxKpVq5g5cybPPvsssbGxLF261LEGG8CNN97IkSNHmDdvHnl5eSQnJ7N69WqnRCRna4uIiIiIyKnUwyY/V6tbh6090zpsIiIiIucPm92g7/zVVFntrLl3BF0j/N3dJGlFmroOW6ubwyYiIiIi0h5kF1ZQZbXj6+VBYlhHdzdH2igFbCIiIiIiLrArr3Y4ZM/oQMweJje3RtoqBWwiIiIiIi5QN3+tjxKOyM+ggE1ERERExAV25tauwaaEI/JzKGATEREREXEBZYiU5qCATURERESkmZUct5BbWgVAr2gNiZSfTgGbiIiIiEgz23Gidy0utAMBvl5ubo20ZQrYRERERESaWd38tV7RGg4pP48CNhERERGRZqb5a9JcFLCJiIiIiDQzpfSX5qKATURERESkGVltdnbnlwPqYZOfTwGbiIiIiEgz2nekAovNTkdvM3Ehfu5ujrRxCthERERERJrRrrza4ZC9OgXi4WFyc2ukrVPAJiIiIiLSjHY4Eo5o/pr8fArYRERERESaUV1Kf81fk+aggE1EREREpBkppb80JwVsIiIiIiLNpLC8miPHqjGZoFe0hkTKz6eATURERESkmdT1riWGdcTP29PNrZH24JwCNrvdztq1a3n44Ye57bbbuOmmm/jd737HsmXLOHDgwDlXvnDhQoYNG0ZAQACRkZFMmDCBrKwspzKXXXYZJpPJ6XbHHXc4lcnJyWHcuHH4+fkRGRnJH/7wB2pqapzKrFu3jsGDB+Pj40O3bt1Yvnx5g/a8+OKLJCYm4uvrS0pKCl9//bXT/qqqKu666y7CwsLw9/dn4sSJ5Ofnn/N1i4iIiEj7tFMJR6SZNSlgq6ys5E9/+hNxcXFcddVVfPDBB5SUlGA2m9mzZw/z588nKSmJq666iq+++qrJla9fv5677rqLr776io8//hir1cqVV15JRUWFU7np06eTm5vruD3xxBOOfTabjXHjxmGxWNiwYQMrVqxg+fLlzJs3z1EmOzubcePGMXLkSDIzM5kxYwbTpk3jww8/dJR58803SU9PZ/78+Xz33XcMHDiQtLQ0CgoKHGVmzpzJf//7X9566y3Wr1/P4cOHue6665p8vSIiIiLSvtUlHOkVrflr0kyMJoiNjTWuv/56Y9WqVYbFYmm0zP79+41HH33USEhIMF5++eWmnLaBgoICAzDWr1/v2DZixAjj97///WmP+d///md4eHgYeXl5jm0vvfSSERgYaFRXVxuGYRizZs0y+vbt63TcjTfeaKSlpTkeDx8+3Ljrrrscj202mxETE2MsXLjQMAzDKCkpMby8vIy33nrLUWbnzp0GYGRkZDTp+kpLSw3AKCwsbFJ5EREREWlb0p5ZbyTMft/46Pu8sxeW81phYaEBGKWlpWcs16SBtR999BG9e/c+Y5mEhATmzJnDfffdR05Ozk8KHktLSwEIDQ112v7666/z2muvER0dzfjx45k7dy5+frWrxmdkZNC/f3+ioqIc5dPS0rjzzjv5/vvvGTRoEBkZGYwaNcrpnGlpacyYMQMAi8XCpk2bmDNnjmO/h4cHo0aNIiMjA4BNmzZhtVqdztOrVy/i4+PJyMjgggsuaHA91dXVVFdXOx6XldV2kVutVqxW6zk/PyIiIiLSelXX2NlTUA5A94gO+r4nZ9TU90eTArazBWv1eXl50bVr1yaXr2O325kxYwYXXXQR/fr1c2z/1a9+RUJCAjExMWzdupXZs2eTlZXF22+/DUBeXp5TsAY4Hufl5Z2xTFlZGZWVlRQXF2Oz2Rots2vXLsc5vL29CQ4OblCmrp5TLVy4kAULFjTYvnbtWkfAKSIiIiLtw8EKqLF70sFskPnlWraY3N0iac2OHz/epHLnnLomMTGRW2+9lSlTphAfH3/ODTudu+66i+3bt/PFF184bb/99tsd9/v370+nTp244oor2Lt3708KDFvSnDlzSE9PdzwuKysjLi6OkSNHEhYW5saWiYiIiEhze2fzYdi6nX5xoYwbN8zdzZFWrqioqEnlzjlgmzFjBsuXL+fhhx9m5MiR3HbbbVx77bX4+PiccyPr3H333bz//vt89tlnxMbGnrFsSkoKAHv27KFr165ER0c3yOZYl7kxOjra8ffUbI75+fkEBgbSoUMHzGYzZrO50TL1z2GxWCgpKXHqZatf5lQ+Pj6NPi9eXl54eXmd8TpFREREpG35oaA2cV7fmCB915Ozaup75JzXYZsxYwaZmZl8/fXX9O7dm3vuuYdOnTpx99138913353TuQzD4O677+add97h008/JSkp6azHZGZmAtCpUycAUlNT2bZtm1M2x48//pjAwED69OnjKLNmzRqn83z88cekpqYC4O3tzZAhQ5zK2O121qxZ4ygzZMgQvLy8nMpkZWWRk5PjKCMiIiIi56+deUrpL83vJy+cPXjwYJ577jkOHz7M/PnzWbp0KcOGDSM5OZlXXnkFwzDOeo677rqL1157jZUrVxIQEEBeXh55eXlUVlYCsHfvXh555BE2bdrE/v37ee+997jlllu49NJLGTBgAABXXnklffr04eabb2bLli18+OGHPPjgg9x1112O3q077riDffv2MWvWLHbt2sVf//pX/vnPfzJz5kxHW9LT01myZAkrVqxg586d3HnnnVRUVDB16lQAgoKCuO2220hPT2ft2rVs2rSJqVOnkpqa2mjCERERERE5fxiG4Ujp37uTUvpLM/qpaSgtFovx5ptvGmPGjDHMZrNx0UUXGa+88orx8MMPG1FRUcZNN9101nMAjd6WLVtmGIZh5OTkGJdeeqkRGhpq+Pj4GN26dTP+8Ic/NEh9uX//fmPs2LFGhw4djPDwcOPee+81rFarU5m1a9caycnJhre3t9GlSxdHHfU9//zzRnx8vOHt7W0MHz7c+Oqrr5z2V1ZWGr/97W+NkJAQw8/Pz7j22muN3NzcJj9nSusvIiIi0j7llVYaCbPfN5Luf9+otNS4uznSBjQ1rb/JMJrQFVbPd999x7Jly/jHP/6Bh4cHt9xy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", 295 | "text/plain": [ 296 | "
" 297 | ] 298 | }, 299 | "metadata": {}, 300 | "output_type": "display_data" 301 | } 302 | ], 303 | "source": [ 304 | "stat.summary(capital=10_000, resample='15min')\n" 305 | ] 306 | } 307 | ], 308 | "metadata": { 309 | "kernelspec": { 310 | "display_name": "Python 3.10.6 ('env': venv)", 311 | "language": "python", 312 | "name": "python3" 313 | }, 314 | "language_info": { 315 | "codemirror_mode": { 316 | "name": "ipython", 317 | "version": 3 318 | }, 319 | "file_extension": ".py", 320 | "mimetype": "text/x-python", 321 | "name": "python", 322 | "nbconvert_exporter": "python", 323 | "pygments_lexer": "ipython3", 324 | "version": "3.11.4" 325 | }, 326 | "orig_nbformat": 4, 327 | "vscode": { 328 | "interpreter": { 329 | "hash": "7291192e6945a3c8ed0f956f4124ad6de62ed7ea9152f7ae8e29637075883be3" 330 | } 331 | } 332 | }, 333 | "nbformat": 4, 334 | "nbformat_minor": 2 335 | } 336 | -------------------------------------------------------------------------------- /lake_to_hftbacktest.py: -------------------------------------------------------------------------------- 1 | import gzip 2 | from typing import List, Optional, Literal 3 | 4 | import pandas as pd 5 | import numpy as np 6 | from numpy.typing import NDArray 7 | from tqdm import tqdm 8 | 9 | 10 | from hftbacktest.data import merge_on_local_timestamp, correct, validate_data 11 | from hftbacktest import DEPTH_CLEAR_EVENT, DEPTH_SNAPSHOT_EVENT, TRADE_EVENT, DEPTH_EVENT 12 | 13 | 14 | def convert( 15 | input_dfs: List[pd.DataFrame], 16 | output_filename: Optional[str] = None, 17 | buffer_size: int = 100_000_000, 18 | ss_buffer_size: int = 50, 19 | base_latency: float = 0, 20 | method: Literal['separate', 'adjust'] = 'separate', 21 | # snapshot_mode: Literal['process', 'ignore_sod', 'ignore'] = 'process' 22 | ) -> NDArray: 23 | r""" 24 | Converts Crypto Lake data files into a format compatible with HftBacktest. 25 | 26 | Args: 27 | input_dfs: Input dataframes from lake 28 | output_filename: If provided, the converted data will be saved to the specified filename in ``npz`` format. 29 | buffer_size: Sets a preallocated row size for the buffer. 30 | base_latency: The value to be added to the feed latency. 31 | See :func:`.correct_local_timestamp`. 32 | method: The method to correct reversed exchange timestamp events. See :func:`..validation.correct`. 33 | 34 | Returns: 35 | Converted data compatible with HftBacktest. 36 | """ 37 | TRADE = 0 38 | DEPTH = 1 39 | DEPTH_DELTAS = 2 40 | 41 | sets = [] 42 | for df in input_dfs: 43 | file_type = None 44 | tmp = np.empty((buffer_size, 6), np.float64) 45 | row_num = 0 46 | # is_snapshot = False 47 | ss_bid = None 48 | ss_ask = None 49 | rns = [0, 0] 50 | # is_sod_snapshot = True 51 | # print('Reading %s' % file) 52 | for idx, cols in tqdm(df.iterrows(), total=len(df)): 53 | if file_type is None: 54 | if 'trade_id' in cols: 55 | file_type = TRADE 56 | elif 'bid_3_price' in cols: 57 | file_type = DEPTH 58 | # elif 59 | elif file_type == TRADE: 60 | # Insert TRADE_EVENT 61 | tmp[row_num] = [ 62 | TRADE_EVENT, 63 | cols['origin_time'].value, 64 | cols['received_time'].value, 65 | 1 if cols['side'] == 'buy' else -1, 66 | cols['price'], 67 | cols['quantity'] 68 | ] 69 | row_num += 1 70 | elif file_type == DEPTH: 71 | if True: # everything is snapshot 72 | # if cols[4] == 'true': 73 | # if (snapshot_mode == 'ignore') or (snapshot_mode == 'ignore_sod' and is_sod_snapshot): 74 | # continue 75 | # Prepare to insert DEPTH_SNAPSHOT_EVENT 76 | if True: #not is_snapshot: 77 | # is_snapshot = True 78 | ss_bid = np.empty((ss_buffer_size, 6), np.float64) 79 | ss_ask = np.empty((ss_buffer_size, 6), np.float64) 80 | rns = [0, 0] 81 | for side_idx, side, side_sign in ((0, ss_bid, 1), (1, ss_ask, -1)): 82 | for level in range(0, 20): 83 | price = cols.iloc[3 + level * 2 + side_idx * 40] 84 | qty = cols.iloc[4 + level * 2 + side_idx * 40] 85 | side[rns[side_idx]] = [ 86 | DEPTH_SNAPSHOT_EVENT, 87 | cols['origin_time'].value, 88 | cols['received_time'].value, 89 | side_sign, 90 | price, 91 | qty, 92 | ] 93 | rns[side_idx] += 1 94 | if True: 95 | # is_sod_snapshot = False 96 | if True: #is_snapshot: 97 | # End of the snapshot. 98 | # is_snapshot = False 99 | 100 | # Add DEPTH_CLEAR_EVENT before refreshing the market depth by the snapshot. 101 | 102 | ss_bid = ss_bid[:rns[0]] 103 | # Clear the bid market depth within the snapshot bid range. 104 | tmp[row_num] = [ 105 | DEPTH_CLEAR_EVENT, 106 | ss_bid[0, 1], 107 | ss_bid[0, 2], 108 | 1, 109 | ss_bid[-1, 4], 110 | 0 111 | ] 112 | row_num += 1 113 | # Add DEPTH_SNAPSHOT_EVENT for the bid snapshot 114 | tmp[row_num:row_num + len(ss_bid)] = ss_bid[:] 115 | row_num += len(ss_bid) 116 | ss_bid = None 117 | 118 | ss_ask = ss_ask[:rns[1]] 119 | # Clear the ask market depth within the snapshot ask range. 120 | tmp[row_num] = [ 121 | DEPTH_CLEAR_EVENT, 122 | ss_ask[0, 1], 123 | ss_ask[0, 2], 124 | -1, 125 | ss_ask[-1, 4], 126 | 0 127 | ] 128 | row_num += 1 129 | # Add DEPTH_SNAPSHOT_EVENT for the ask snapshot 130 | tmp[row_num:row_num + len(ss_ask)] = ss_ask[:] 131 | row_num += len(ss_ask) 132 | ss_ask = None 133 | # # Insert DEPTH_EVENT 134 | # tmp[row_num] = [ 135 | # DEPTH_EVENT, 136 | # int(cols[2]), 137 | # int(cols[3]), 138 | # 1 if cols[5] == 'bid' else -1, 139 | # float(cols[6]), 140 | # float(cols[7]) 141 | # ] 142 | # row_num += 1 143 | elif file_type == DEPTH_DELTAS: 144 | pass 145 | sets.append(tmp[:row_num]) 146 | 147 | print('Merging') 148 | data = sets[0] 149 | del sets[0] 150 | while len(sets) > 0: 151 | data = merge_on_local_timestamp(data, sets[0]) 152 | del sets[0] 153 | 154 | data = correct(data, base_latency=base_latency, method=method) 155 | 156 | # Validate again. 157 | num_corr = validate_data(data) 158 | if num_corr < 0: 159 | raise ValueError 160 | 161 | if output_filename is not None: 162 | print('Saving to %s' % output_filename) 163 | np.savez(output_filename, data=data) 164 | 165 | return data 166 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | setuptools==59.6.0 2 | numpy==1.23.4 3 | pandas==1.5.1 4 | cufflinks==0.17.3 5 | lakeapi==0.8.0 6 | notebook==6.5.4 7 | scipy==1.11.1 8 | kaleido==0.2.1 9 | pytest==7.4.0 10 | nbmake==1.4.1 11 | -------------------------------------------------------------------------------- /runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.10 2 | --------------------------------------------------------------------------------