Skip to main content

Ehdtd - cryptoCurrency Exchange history data to database

Project description

Ehdtd - cryptoCurrency Exchange history data to database

This class retrieves historical data from exchanges and stores it in a database.

Example:

Install

```bash
pip install ehdtd
```

Use

```python
import time
from ehdtd import Ehdtd

exchange = 'binance'
symbol = 'BTC/USDT'
interval = '1m'
limit = 10

db_data = {
    'db_type': 'postgresql',  # postgresql, mysql
    'db_name': 'ehdtd',
    'db_user': 'ehdtd',
    'db_pass': 'xxxxxxxxx',
    'db_host': '127.0.0.1',
    'db_port': '5432'
}

fetch_data = [
    {
        'symbol': symbol,
        'interval': interval
    }
]

ehd = Ehdtd(exchange, fetch_data, db_data)  # Create an instance
ehd.start()  # Start fetching data

time.sleep(900)  # First time Wait for available data, for the data to be updated,
                 # you must wait between 90 minutes and 2.5 hours depending on the interval

for v in fetch_data:
    symbol = v['symbol']
    interval = v['interval']
    start_from = 0
    until_to = None
    return_type = 'pandas'
    data_db = ehd.get_data_from_db(symbol, interval, start_from, until_to, return_type)
    print(data_db)
    print('=========================================================================')
    print('')
    time.sleep(1)

ehd.stop()  # Stop fetching data
```

How It Works:

For Binance:

  1. Try to retrieve data from a file. Check this link:
    Binance Public Data
  2. If the file is not available, try to retrieve data from the API.
  3. Then get data from the WebSocket API using the Ccxw class.

Database Columns:

  • open_time, open_date, open_price, close_time, close_date, close_price, low, high, volume, exchange, symbol, interval, status, data

  • Column data is not used,
    and column status can have three values: '__NON_CHECK__', '__OK__', '__ERROR__'.

    • If status == '__OK__', the file has consistent data.
    • If status == '__ERROR__', the file has inconsistent data.
    • If status == '__NON_CHECK__', the file is not analyzed.

Retrieving Data from Database:

Use the function ehd.get_data_from_db(symbol, interval, start_from, until_to, return_type):

  • If return_type == 'pandas', it returns a Pandas DataFrame.
  • If return_type == 'list', it returns a list of dictionaries.

View License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ehdtd-0.2.23.tar.gz (36.0 kB view details)

Uploaded Source

Built Distribution

ehdtd-0.2.23-py3-none-any.whl (52.6 kB view details)

Uploaded Python 3

File details

Details for the file ehdtd-0.2.23.tar.gz.

File metadata

  • Download URL: ehdtd-0.2.23.tar.gz
  • Upload date:
  • Size: 36.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.2

File hashes

Hashes for ehdtd-0.2.23.tar.gz
Algorithm Hash digest
SHA256 43ae926fe9850aa868e7d96ef15514fb7f6c0d6f3ed5ccff8ae0202d11f931e8
MD5 d8772992ce94f7d11390bd99afb1a220
BLAKE2b-256 ad670069995e6a08e9e40972826eae5c5d277470df6800b1810586462ee9e291

See more details on using hashes here.

File details

Details for the file ehdtd-0.2.23-py3-none-any.whl.

File metadata

  • Download URL: ehdtd-0.2.23-py3-none-any.whl
  • Upload date:
  • Size: 52.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.2

File hashes

Hashes for ehdtd-0.2.23-py3-none-any.whl
Algorithm Hash digest
SHA256 90381b6308efba0c37f48683a36c7249e44d1f1b5e2287341cf2855c978c8c99
MD5 7cf5761c184b586a5c354c8e458cfa36
BLAKE2b-256 2917e1be5f6a5b60faf256f9d55326722350d79b69bf65416a924d00b5aa5626

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page