Skip to main content

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

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

Apache License Version 2.0

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

iqfeed-0.4.3.tar.gz (10.2 kB view details)

Uploaded Source

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

Hashes for iqfeed-0.4.3.tar.gz
Algorithm Hash digest
SHA256 d6dcf3e7b4a3ce227903f59364bd9f66ff7130a83a7f4e472bfdf4a12cd1e1fe
MD5 acc42006778b63a9504e1cef7e04e6e8
BLAKE2b-256 0a4df14c597c0accde9583577933e3e62b5948b6c73b33866ad9b55aa6bda141

See more details on using hashes here.

Supported by

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