Download tick data from Dukascopy Bank SA to local cache with custom simulated price streams!
Project description
Download and cache tick data(material) from Dukascopy Bank SA
This is a local API server that downloads tick data on request and caches results for subsequent calls. Finally, a free historical data collection for backtesting your forex trading algorithms!
All instruments on this page are supported! (But only currency pairs
are tested based on my use case.). Email me for special requests.
Installation ::Python3
pip install tickterial
Usage
This module can be used in two modes. As an API server using a flask
backend, and as a module.
Module usage
from datetime import datetime, timedelta
from tickterial import tickloader
def download():
period = datetime.now() - timedelta(minutes=60) # previous hour
data = tickloader.download('GBPUSD', period)
#
count = 4
for index, tick in enumerate(data):
print(tick)
#
count -= 1
if not count:
print(f'--showing first {index + 1} ticks--')
break
download()
print('--end--')
Sample output from GBPUSD
{'timestamp': 1689631196.875, 'ask': 1.30788, 'bid': 1.30778, 'ask-vol': 900000, 'bid-vol': 900000}
API-mode usage
Coming soon...
TODO
- Internally convert prices to float - DONE
- Add database caching for large offline histories - DEPRECATED
- Add API functionality for use as a local tcp streaming service - HIGHER LEVEL FEATURE
- Add console functionality, saving history files in multiple formats including json and csv.
Notes
- Cache is store in UTC. Pass your UTC time difference as last parameter to
tickloader.download
to fix local time offset. - Tick data can only be fetched to the previous hour. Current hour returns 404. This is handled internally
- Cache is stored in current working directory, path =
.tick-data
. Move this directory when migrating your server to save bandwidth and keep your cached data, or mount a local directory when using docker volumes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for tickterial-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1679812171517a54cfe2e0e5abe4e10bd322e9cf82589169f272953288dcab85 |
|
MD5 | ddfc85bda120266e301089179a00f376 |
|
BLAKE2b-256 | 59536038ccc4e1947bbf4936472e4a44d4dbe967eca1f451fd5593be895f3c34 |