account
%matplotlib inline
import matplotlib.pylab as plt;
import matplotlib.ticker as mtick
from datetime import datetime, timedelta, datetime, date
import pandas as pd;
import numpy as np
import datetime as dt
from ftx import FTX, apy, settings;
ftx = FTX(**settings[account]);
filled = ftx.paginate(f'/fills', {"limit": 5000}, "time")
lending = ftx.paginate(f'/spot_margin/lending_history', {"limit": 5000}, "time")
borrow = ftx.paginate(f'/spot_margin/borrow_history', {"limit": 200}, "time")
funding = ftx.paginate(f'/funding_payments', {"limit": 5000}, "time")
airdrops = ftx.paginate(f'/wallet/airdrops', {"limit": 200}, "time")
deposits = ftx.paginate(f'/wallet/deposits', {"limit": 200}, "time")
withdrawals = ftx.paginate(f'/wallet/withdrawals', {"limit": 200}, "time")
positions = pd.DataFrame(ftx.request(f'/positions'))
wallet = pd.DataFrame(ftx.request(f'/wallet/all_balances')['main'])
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '5bed78d8a85d9cc34a53af43266149c8883f8689d63d287de8dd33c2ab871005', 'FTX-TS': '1644421830888'}
b'1644421830888GET/api/fills?limit=5000&start_time=1609459200&end_time=1644421826'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '0d18de234a8886fb685c0aec2e06e3e50bd2742f5108fbdf71b6493315518db3', 'FTX-TS': '1644421832343'}
b'1644421832343GET/api/fills?limit=5000&start_time=1609459200&end_time=1643030442'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '5cd6810e0de1bdf1f1eed43a11511f9caf2760fd17f61832dae7d5cd771df603', 'FTX-TS': '1644421833696'}
b'1644421833696GET/api/fills?limit=5000&start_time=1609459200&end_time=1642494270'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '06137bac928b439b0ddfe09a1453a40b8db2b9628d20a31049dc8fd78d1f389a', 'FTX-TS': '1644421834818'}
b'1644421834818GET/api/fills?limit=5000&start_time=1609459200&end_time=1642321140'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'c55d6148ea903380339f900b25fa0fba15dc0fceb5bc5915fd8df15b36b0aeb9', 'FTX-TS': '1644421836050'}
b'1644421836050GET/api/fills?limit=5000&start_time=1609459200&end_time=1641570774'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '32b7a6be6a48788e5dd779ca4fee8e500b94b5b8703cc869ee2bb1270372d6bf', 'FTX-TS': '1644421837244'}
b'1644421837244GET/api/fills?limit=5000&start_time=1609459200&end_time=1639920840'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '4ac39ee79ba081b1e7b154921a26ce46808ec88a4894b0bba4c1eb388cbdc58a', 'FTX-TS': '1644421838552'}
b'1644421838552GET/api/fills?limit=5000&start_time=1609459200&end_time=1638948300'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'ed8be2eb71baf98964a845ab5f25d0d03e5350c1ec9bec02c2d31dbe63b6be3a', 'FTX-TS': '1644421840045'}
b'1644421840045GET/api/fills?limit=5000&start_time=1609459200&end_time=1638287257'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'd7b4d352009c216f90500d1d8690e09711c14da5193a04de00be37aeba1f465f', 'FTX-TS': '1644421841618'}
b'1644421841618GET/api/fills?limit=5000&start_time=1609459200&end_time=1637687919'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '6cf5230c412a7f07a224b5f043806c8e777fd759be139a2fa38fce05d4c4e83e', 'FTX-TS': '1644421842705'}
b'1644421842705GET/api/fills?limit=5000&start_time=1609459200&end_time=1636846914'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '1e9bd4489a370ae95e8902f36bd3aa7ce647068d016ab0e66c3f827e55fbef89', 'FTX-TS': '1644421844095'}
b'1644421844095GET/api/fills?limit=5000&start_time=1609459200&end_time=1636041804'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '7eb226f676b7c527f0c453fc8e0ac68f959a21f22f6f061f74b5f1866884bb3d', 'FTX-TS': '1644421845564'}
b'1644421845564GET/api/fills?limit=5000&start_time=1609459200&end_time=1635596520'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'dbef29cb8d08bc5e47c13fb22d30680b44930662cc3d64d57f81486a42f804c4', 'FTX-TS': '1644421846722'}
b'1644421846722GET/api/fills?limit=5000&start_time=1609459200&end_time=1634945573'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'e53af910f0eea6e29f60fde83e37df910bfb1dfc6069b591a7ac6fbe0257da97', 'FTX-TS': '1644421848177'}
b'1644421848177GET/api/fills?limit=5000&start_time=1609459200&end_time=1633228072'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'da3cae3a7cdfc9c6539576aabd53c1016420122252895d9a8ede4c1bba56313f', 'FTX-TS': '1644421849368'}
b'1644421849368GET/api/fills?limit=5000&start_time=1609459200&end_time=1631537037'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '4400fa8f93e66a56113a85bacf91ab9bffa904a6ded645e1ef69d2ccb8cb03b7', 'FTX-TS': '1644421850593'}
b'1644421850593GET/api/fills?limit=5000&start_time=1609459200&end_time=1630103671'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'ddea5a84ca37237d42235d6aee27bd764da2264cd9da2552be5f025a1971ba12', 'FTX-TS': '1644421851634'}
b'1644421851634GET/api/fills?limit=5000&start_time=1609459200&end_time=1628276402'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '506159b7b25217a23c594a6c88fd72ff0e8717a4c3c79d2f37b1e0d0d96792d1', 'FTX-TS': '1644421852875'}
b'1644421852875GET/api/fills?limit=5000&start_time=1609459200&end_time=1627135343'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '310ffe2d8e760ac1678f8c03140bf8bc9b94dea2258293f44e043ca45b9568d8', 'FTX-TS': '1644421854281'}
b'1644421854281GET/api/fills?limit=5000&start_time=1609459200&end_time=1624257130'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'f39e3b97263ffaaae50d49dd50bfc022a2cf014fdbee9c196ac837a08ffb6eca', 'FTX-TS': '1644421855404'}
b'1644421855404GET/api/fills?limit=5000&start_time=1609459200&end_time=1621432753'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '1fde27adcd549b26245360f3901d322cc9b4aada2d996d9dc87176457d91e5f2', 'FTX-TS': '1644421856446'}
b'1644421856446GET/api/fills?limit=5000&start_time=1609459200&end_time=1620034482'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '43f40f243d570dd64eedd83779559371b6148ba0bbfc6652f11ac0a19bfa55f7', 'FTX-TS': '1644421857892'}
b'1644421857892GET/api/fills?limit=5000&start_time=1609459200&end_time=1618378876'
Finished downloading data from /fills [106460 items]
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '5c5dfe7f32fc7abb2cbeeb46435cb4211889b3a70cd986524f8b55952b106dfd', 'FTX-TS': '1644421859215'}
b'1644421859215GET/api/spot_margin/lending_history?limit=5000&start_time=1609459200&end_time=1644421826'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'dc46fcc29f5007f2dcec349464602cd7928726faef3d724dc0c3c5fd48d4ead5', 'FTX-TS': '1644421860104'}
b'1644421860104GET/api/spot_margin/lending_history?limit=5000&start_time=1609459200&end_time=1621655999'
Finished downloading data from /spot_margin/lending_history [7514 items]
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '735f9c03b3fbf7136e02413e114f4922f0e192c05fd2ffe7a979e1c2c2e8eaed', 'FTX-TS': '1644421860770'}
b'1644421860770GET/api/spot_margin/borrow_history?limit=200&start_time=1609459200&end_time=1644421826'
Finished downloading data from /spot_margin/borrow_history [3 items]
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '495d540b98030d39a021bd2004973530a6bff0ee7abd30be0109bab470daaf53', 'FTX-TS': '1644421861043'}
b'1644421861043GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1644421826'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'ab3b349567e9c57573d67f90dc08255ba85e4a670c8a2d2773f50a2147258996', 'FTX-TS': '1644421861931'}
b'1644421861931GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1644037199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '05895e8e5e535e0032d0b34c50b2a65e7ace85f353ad9ceb4d939ea73fae6f18', 'FTX-TS': '1644421864062'}
b'1644421864062GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1643651999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'aa61f0200397b8eac95790c3f831d4d2c5b54365ea8d40a411f4c552e224b34f', 'FTX-TS': '1644421864915'}
b'1644421864915GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1643266799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '04e6d6702b2c9ac49588b5b98c7363ca1da648b6f464bc8ee698c7b7ea174c1d', 'FTX-TS': '1644421865710'}
b'1644421865710GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1642881599'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'd43742856426d16baee4902a5605cbae085324961920675f513bab868d31d283', 'FTX-TS': '1644421866766'}
b'1644421866766GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1642496399'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'e025d5274314cf0b6eb1d12511b0d3736a9e1703387bc9b99e10c1a226208b63', 'FTX-TS': '1644421867577'}
b'1644421867577GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1642093199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'ae3ba2165068e4bc4c95e1cfe8a134dcee2e92403a5eb974b8dd532d5280dfa2', 'FTX-TS': '1644421868638'}
b'1644421868638GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1641689999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '87d0b9b2723df47f1e94980976261ff91044cce4001375f761186ed5305f48b2', 'FTX-TS': '1644421869543'}
b'1644421869543GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1641283199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'aed8fdd889ab943e9f95fdd394837c07d3506c36517405f7027ceee8e1cef29a', 'FTX-TS': '1644421870681'}
b'1644421870681GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1640872799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'ec5a01b2c836db53875e5edbbdfe2de7e3121c33d3539dadeee35a4eeba378a5', 'FTX-TS': '1644421871641'}
b'1644421871641GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1640462399'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '7cc9d648d1d3eebcf504d91e607bbfca45f3c6e36c9713bf21c06d2e6f7b8cdc', 'FTX-TS': '1644421873290'}
b'1644421873290GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1640048399'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'd988fc6119f537682c77ae84f7962c789d591bf17bb395722b5983dc75ff6612', 'FTX-TS': '1644421874132'}
b'1644421874132GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1639627199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '44f35dbdade759490e8aee7d4329f27a84d41048d9ed8651d2448501f07a1bde', 'FTX-TS': '1644421874934'}
b'1644421874934GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1639205999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'ab213bc65df0ff6882973536525375d545b28c5927370b1ba7c2b027f9af55d8', 'FTX-TS': '1644421875952'}
b'1644421875952GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1638784799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'a58cad1468fe4e82e2dd00303d28b315edd1e66ba4d109139a669313c602fca4', 'FTX-TS': '1644421876960'}
b'1644421876960GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1638363599'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'b9b319b1c61ac6ec11ae25e52d21c328e4b289dc7e890f108319266de0a1f383', 'FTX-TS': '1644421877893'}
b'1644421877893GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1637942399'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '80545be5b3667cd82b79c700d26dfa674eff17ad7bbdd3dd1304917f6838df9f', 'FTX-TS': '1644421878785'}
b'1644421878785GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1637521199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '2e47712efad9d1c71d3c17d10b3eb49121db269caf63a5399e698fec8ad03bee', 'FTX-TS': '1644421879590'}
b'1644421879590GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1637099999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'a600751f6e06a76cef72bca5b17a517a43a579991b6ca37656ddd0f960e1e154', 'FTX-TS': '1644421880432'}
b'1644421880432GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1636667999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '317cdc61cf4baf188bbc7d666f6e9866dec68352ccddb232aaed450dcf033338', 'FTX-TS': '1644421881246'}
b'1644421881246GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1636228799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'd816e1b5806e470ae5306bab8216cd521c936f84b1a764c24e27d6ba6e741ad2', 'FTX-TS': '1644421882072'}
b'1644421882072GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1635789599'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '828d1447a1bdffe587c4528b45139966ce5fa7c7b8d3f460681031baf3fbb8ac', 'FTX-TS': '1644421883028'}
b'1644421883028GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1635343199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'd6bd9d1b67b8d996fb45110b83cf31fb13f03c9d1df3b2afab90c25d8e0908f5', 'FTX-TS': '1644421883912'}
b'1644421883912GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1634893199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'd8390ebe7a7bc8b83bd8bc8498c8f0ebd27634e0f009886a8045d35bd909765b', 'FTX-TS': '1644421884804'}
b'1644421884804GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1634443199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '829042eee2efbd18307b006195ce9e4b835567a1d9921b8831ada5c30d69bf63', 'FTX-TS': '1644421885894'}
b'1644421885894GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1633993199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '7a606b23acbbbe40cd7b2bbbb0e535cfc484dfb837e995e09a7b830155978374', 'FTX-TS': '1644421886907'}
b'1644421886907GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1633539599'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '04c95001efc103e52476b756cd7a2be3c631c32ff8c35c7427160d5a80959668', 'FTX-TS': '1644421887852'}
b'1644421887852GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1633075199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '8f2b72a072f68e104865f5cb59bfd7bb25a02d4e75e02aef1252e73fc12c6134', 'FTX-TS': '1644421888917'}
b'1644421888917GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1632610799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '1730732bea004e4350760f6419e0f4a62ec6a1fa1b824f2d5732f8c7ab5655e6', 'FTX-TS': '1644421889762'}
b'1644421889762GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1632124799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'ea93e2e4daaf5582774551166aafbae983cfbb2addab08e077bc15e79d5d578e', 'FTX-TS': '1644421890618'}
b'1644421890618GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1631624399'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'bf006b7c47aab8e7563f0adb915216b25e6c6b0f98e0b946764d1fc2ece4f085', 'FTX-TS': '1644421891614'}
b'1644421891614GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1631098799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '1f66822bd6158652f712efa377a22f3e2c1cbd98dc544613e1cefc7dd24e1d71', 'FTX-TS': '1644421892446'}
b'1644421892446GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1630565999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '3be4aef9d8a12f9a707e544c5a2489d25cb7fc746d9eece9eba084ffdcf29ecd', 'FTX-TS': '1644421893297'}
b'1644421893297GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1630033199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'c14601d6e57119685bbb8bedd1d404b301cde5ff864947c5bbc6b2329a7ef7e9', 'FTX-TS': '1644421894220'}
b'1644421894220GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1629500399'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'bbb20e761659af3166f5f0c2dfe964914e7c45143a1d3bd15766eb751f87cab0', 'FTX-TS': '1644421895129'}
b'1644421895129GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1628953199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'e4e9857204af0206c7bd59846b75b751edb6d08c33f978d5acd6d7c54c25f493', 'FTX-TS': '1644421895914'}
b'1644421895914GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1628405999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '60cbe9c710b9a48a3a174dc2da003c28e91569019fa1e63fbdcb2a5ad5be8d25', 'FTX-TS': '1644421896831'}
b'1644421896831GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1627858799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'b85178e07070a48927eabf7f24bc2d03f52b64c0654a623acdd202884a818ceb', 'FTX-TS': '1644421897959'}
b'1644421897959GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1627318799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '2ec3a08cea60fab73976f2679b54865e7e3ed94b14327fbf51b8b46b75d1002e', 'FTX-TS': '1644421898772'}
b'1644421898772GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1626785999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '7d3d7cd429a27d0c4d1b073f102022c72f5733be161f67e49b443992d15f856e', 'FTX-TS': '1644421899728'}
b'1644421899728GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1626253199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'd6f572407de4f0458ddd4d6b4496912a782f6cdff67bb3f230da56f27b514429', 'FTX-TS': '1644421900587'}
b'1644421900587GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1625720399'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '614af9b40e1dd9fd4aa84b7af31526b4623e133db1cdfc6454df30fb295ba611', 'FTX-TS': '1644421901507'}
b'1644421901507GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1625158799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'f2e80fd88e94c41cb055ce66570b83eb9debdbab4c5ddcc2f16a1778f3e4acaa', 'FTX-TS': '1644421902359'}
b'1644421902359GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1624575599'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'd675c23b86204217f5f826a70f61066068368c6d904ddbb86ac24ddd05b0e2d7', 'FTX-TS': '1644421903272'}
b'1644421903272GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1623992399'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'f98c56eaa3ed09584d907e06b8d052b2a716a396a7cb5f72067d6c9a36841899', 'FTX-TS': '1644421904300'}
b'1644421904300GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1623409199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '619f7cc9d8ed4ec050dbb1d3832c39e20f490e258c2cc298180b6fc01138ca80', 'FTX-TS': '1644421905334'}
b'1644421905334GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1622825999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'b470ba8616b6f2b5e3b2f1b6b3a7d4d6c52f0040ca1d32f27c28e155f9b8516b', 'FTX-TS': '1644421906224'}
b'1644421906224GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1622213999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '1d12ed9181eacdfecd186a04c1efed31a65e1186a318d8ca2aafb40d5c98288f', 'FTX-TS': '1644421907383'}
b'1644421907383GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1621601999'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '7305105b6f2c2e32287468ca77d66ccc2b3608a6397c84a8a719eda7e6cb85fc', 'FTX-TS': '1644421909189'}
b'1644421909189GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1620979199'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '7a3c26b1c15d5fe1e4fcceb4f5247e864afaa57c6fdd64aa7f861cffedd93ae2', 'FTX-TS': '1644421910720'}
b'1644421910720GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1620356399'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '219ca505b8076b8cca0df447dc0238809eb07276a0e187e6934bbe4a71e17564', 'FTX-TS': '1644421912543'}
b'1644421912543GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1619722799'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'e800861d6d73f922c4400857f5813088d2e7ab8fef41b4f6f9c07b02e22ba666', 'FTX-TS': '1644421913467'}
b'1644421913467GET/api/funding_payments?limit=5000&start_time=1609459200&end_time=1619035199'
Finished downloading data from /funding_payments [264446 items]
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '6b11d97cf1e8e4cc36e29df44035941e663f8a796d4bbc52cf4fe4a9fd935e75', 'FTX-TS': '1644421914998'}
b'1644421914998GET/api/wallet/airdrops?limit=200&start_time=1609459200&end_time=1644421826'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '80effd1b71739ab07e6db8ad214ac84279effbee5eab5fb5a78cc03696efba89', 'FTX-TS': '1644421915280'}
b'1644421915280GET/api/wallet/airdrops?limit=200&start_time=1609459200&end_time=1624068335'
Finished downloading data from /wallet/airdrops [264 items]
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '3c0838b994e73da9eb2f9c0b3c366ea5b941089d78bb2952b1eff4d9af46960b', 'FTX-TS': '1644421915594'}
b'1644421915594GET/api/wallet/deposits?limit=200&start_time=1609459200&end_time=1644421826'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '53655b717dac3a516e6bb8300e52bed792b0a3d3e830fab33e44ff91f2f4583c', 'FTX-TS': '1644421916050'}
b'1644421916050GET/api/wallet/deposits?limit=200&start_time=1609459200&end_time=1638962944'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '362d7ff59fba58e9b105b333a246a85d174cb7aa48a642d76ecc9685b9344b13', 'FTX-TS': '1644421916507'}
b'1644421916507GET/api/wallet/deposits?limit=200&start_time=1609459200&end_time=1636715378'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'e73128c80829862b3c7f4f834b55fca9cc45fa6cdeb712a56f13aceb91e527db', 'FTX-TS': '1644421916974'}
b'1644421916974GET/api/wallet/deposits?limit=200&start_time=1609459200&end_time=1631913962'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '47956154a1a3bfc9033e8ecb93f7a51189b430e93c5672c6bb5900520c5e7b50', 'FTX-TS': '1644421917465'}
b'1644421917465GET/api/wallet/deposits?limit=200&start_time=1609459200&end_time=1621424735'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'c62b18c814261e2e766ff85d7376ae7a785f941b00b1c8de34946f7f1ecb1bf8', 'FTX-TS': '1644421917853'}
b'1644421917853GET/api/wallet/deposits?limit=200&start_time=1609459200&end_time=1617577921'
Finished downloading data from /wallet/deposits [1017 items]
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'b9dc96b834bb5a26c7af54981bfc3e658d85615fd9d1ea5eb79254863a007bd4', 'FTX-TS': '1644421918220'}
b'1644421918220GET/api/wallet/withdrawals?limit=200&start_time=1609459200&end_time=1644421826'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '5180e59813711b8cc2b2b4a4cf0d8549fae21d60a1b552883dc86ffdacfed8f5', 'FTX-TS': '1644421918604'}
b'1644421918604GET/api/wallet/withdrawals?limit=200&start_time=1609459200&end_time=1642314991'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '6460d42ee043a62823437dccf27bad12f0e73f15f4faa5dc5264013320adb627', 'FTX-TS': '1644421919000'}
b'1644421919000GET/api/wallet/withdrawals?limit=200&start_time=1609459200&end_time=1638594981'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '6149e5bcfd2bf0d8c79a6c265344a2f0e0613589a680a6b293e439ec86c150b7', 'FTX-TS': '1644421920003'}
b'1644421920003GET/api/wallet/withdrawals?limit=200&start_time=1609459200&end_time=1637323253'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'ebc9a2e8d7143a13cb1657ab9ef1f35be922747401202e87630c4d715f0cfd3c', 'FTX-TS': '1644421921031'}
b'1644421921031GET/api/wallet/withdrawals?limit=200&start_time=1609459200&end_time=1635634184'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '764cc0d074aec5c9b6e228fa9af0e1e9429dd11aa015279a1f3542e8724f6737', 'FTX-TS': '1644421921948'}
b'1644421921948GET/api/wallet/withdrawals?limit=200&start_time=1609459200&end_time=1634823668'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'bf35d17c3c89582db3b412977d78b74015c45a959b6d1204b946623312d31b4c', 'FTX-TS': '1644421922326'}
b'1644421922326GET/api/wallet/withdrawals?limit=200&start_time=1609459200&end_time=1630906052'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '570bc45e6c6260eebb1d2ba204cdc0e14d636263179549c24ed5e58ac56018ec', 'FTX-TS': '1644421922758'}
b'1644421922758GET/api/wallet/withdrawals?limit=200&start_time=1609459200&end_time=1621734047'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '2c6a0c58d4f25db4ab9edb6b4789164ee346649be11deab3516dbf1bf0cd7272', 'FTX-TS': '1644421923128'}
b'1644421923128GET/api/wallet/withdrawals?limit=200&start_time=1609459200&end_time=1618933147'
Finished downloading data from /wallet/withdrawals [1688 items]
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': 'fe7015984f8ab72d2dfaa81eb90e87e846f487f10f4819a0dd2ca6ebcbe85b3d', 'FTX-TS': '1644421923500'}
b'1644421923500GET/api/positions'
{'FTX-KEY': 'WVDZ5WTDZ9LLPP1NRz84uJeidgfFq2DvlNXHUQ2E', 'FTX-SIGN': '996e4ebe626dce35a443a32099bd7285a33fa97caf1d71b0222e83a7c83ec765', 'FTX-TS': '1644421923810'}
b'1644421923810GET/api/wallet/all_balances'
def save(*args, ):
df, name = args
# filename = f'./export/ftx_{name}_{datetime.now().strftime("%Y-%m-%d")}.csv'
filename = f'./export/{name}.csv'
df.to_csv(filename, index=False)
data = [
(filled, 'FTX_h21_O'),
[lending, 'FTX_h21_L'],
[borrow, 'FTX_h21_B'],
[funding, 'FTX_h21_F'],
[airdrops, 'FTX_h21_A'],
[deposits.drop('address',1), "FTX_h21_D"],
[withdrawals, "FTX_h21_W"],
[positions, "FTX_h21_positions"],
[wallet, "FTX_h21_wallet"]
]
for (df, name) in data:
save(df, name);
if ("id" in df.columns):
duplicates = df.pipe(lambda x: x.loc[x.duplicated("id")])
if len(duplicates):
print(duplicates)
marketobject
paymentfloat64
0
SOL-PERP
0.030067
1
SOL-PERP
1.67804406
2
CHZ-PERP
2.43483193
3
BTT-PERP
7.5861765
4
SOL-PERP
2.5426519
def group(df, freq, by=['market', 'time']):
if freq and not 'time' in by:
by += 'time';
grouped = df.set_index(by)\
.groupby([col if col != 'time' else pd.Grouper(freq=freq, level=by.index('time')) for col in by])\
.agg({'rate': np.sum, 'payment': np.sum})\
.unstack(0)
#print(grouped)
return grouped
df = funding
ax=df.pipe(group, freq='1H', by=['time'])['rate']\
.rolling(7, min_periods=1).mean()\
.plot(figsize=(16, 6), title='Average hourly funding rate')
[ax.set_yticklabels([f"{1e0*x:.4f}" for x in ax.get_yticks()])];
<ipython-input-13-81e88d818af6>:15: UserWarning: FixedFormatter should only be used together with FixedLocator
[ax.set_yticklabels([f"{1e0*x:.4f}" for x in ax.get_yticks()])];
funding.pipe(group, freq='1D', by=['type','time'])['payment']\
.cumsum()\
.plot.line(title='Cumulative funding payments', figsize=(16, 8), legend=True)
KeyError: "None of ['type'] are in the columns"
<ipython-input-8-9157a2111f8f>:5: UserWarning: FixedFormatter should only be used together with FixedLocator
[axs[0].set_yticklabels([f"{1e2*x:.1f}" for x in axs[0].get_yticks()])];
def aggregate(x):
d = {};
d['rate'] = np.average(x['rate'])
d['weighted_rate'] = np.average(x['rate'], weights=x['size'].abs());
d['weighted_rate_pa'] = apy['simple'](d['weighted_rate'])
d['rate_pa'] = apy['simple'](d['rate'])Î
d['test'] = np.divide(x['payment'], x['size'].abs());
return pd.Series(d, index=d.keys());
ax = df.set_index('time')\
.groupby(pd.Grouper(freq='12H'))\
.apply(aggregate)\
.tail(-1)\
.loc[:, ['rate_pa', 'weighted_rate_pa']]\
.rolling(24, min_periods=1).mean()\
.plot(figsize=(16, 8), grid=True, title='Weighted average / average daily funding rate')
[ax.set_yticklabels([f"{1e0*x:.0%}" for x in ax.get_yticks()])];
SyntaxError: invalid syntax (<ipython-input-9-cd065bb4e380>, line 6)
<ipython-input-11-6b8de83636c5>:25: UserWarning: FixedFormatter should only be used together with FixedLocator
ax.set_yticklabels([f"{x:,.1%}" for x in ax.get_yticks()]);
df.payment.sum()