IQFeed / DTN Data downloader
Project description
This project provides command line tool and Python library to access DTN / IQFeed’s historical data for equities. The provided command line tool (‘iqfeed’) is capable downloading 1 minute historical data from IQFeed client and store it in ‘.csv.gz’ format.
Prerequisites
Python 2.7 (pypy is recommended), DocOpt, PyTZ, backports.functools_lru_cache
IQFeed account
IQFeed client (e.g. bratchenko’s ‘iqfeed-docker’)
Installation
$ pip install iqfeed
Usage from command line
The provided iqfeed utility can be used to download CSV files from DTN / IQFeed.
Help screen:
iqfeed: Data downloader for Iqfeed/DTN Tibor Kiss <tibor.kiss@gmail.com> - Copyright (c) 2012-2016 All rights reserved Usage: iqfeed process-file <filename> <start_year> <end_year> [-d DIR] [-i CON] [-t TZ] [-D] iqfeed download <instrument> <start_year> <end_year> [-d DIR] [-i CON] [-t TZ] [-D] iqfeed -h | --help Commands: download Download the specified instrument get-from-file Download instruments listed in the specified file Options: -d DIR --download-dir DIR Directory where the files will be downloaded [default: .] -i CON --iqfeed CON IQFeed host & port [default: localhost:9100] -t TZ --tz TZ Time zone [default: US/Eastern] -D Debug mode -h Help screen Note: Date format for end_date and start_date: YYYYMMDD
Start IQFeed client
$ docker run -e LOGIN='<username>' -e PASSWORD='<password>' -p 5009:5010 -p 9100:9101 bratchenko/iqfeed
Download single instrument (SPY) for the time period 2010-2016
$ iqfeed download SPY 2010 2016
Download multiple instruments listed in a text file
$ iqfeed process-file russell-3000.lst 2016 2016
Usage from Python
Use the following snippet to obtain list of Bar objects.
import pytz
from iqfeed import get_bars
instrument = 'GLD'
start_date = '20150101'
end_date = '20151231'
tz = pytz.timezone('US/Eastern')
seconds_per_bar = 60 # For 1M data
iqfeed_host = 'localhost'
iqfeed_port = 9100
bars = get_bars(instrument, start_date, end_date, tz, seconds_per_bar, iqfeed_host, iqfeed_port)
The Bar object is a named tuple which holds the Open, High, Low, Close and Volume values for the given time:
IQFeedBar(datetime=datetime.datetime(2015, 1, 2, 9, 30, tzinfo=<DstTzInfo 'US/Eastern' EST-1 day, 19:00:00 STD>), open=112.46, high=112.46, low=112.45, close=112.46, volume=192104)
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
File details
Details for the file iqfeed-0.4.3.tar.gz
.
File metadata
- Download URL: iqfeed-0.4.3.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6dcf3e7b4a3ce227903f59364bd9f66ff7130a83a7f4e472bfdf4a12cd1e1fe |
|
MD5 | acc42006778b63a9504e1cef7e04e6e8 |
|
BLAKE2b-256 | 0a4df14c597c0accde9583577933e3e62b5948b6c73b33866ad9b55aa6bda141 |