This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

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)
Release History

Release History

This version
History Node

0.4.3

History Node

0.4.2

History Node

0.4.1

History Node

0.4

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
iqfeed-0.4.3.tar.gz (10.2 kB) Copy SHA256 Checksum SHA256 Source Jul 7, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting