- Notifications
You must be signed in to change notification settings - Fork14
IQFeed CSV market data download tool
License
nhedlund/qdownload
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
qdownload is a command line IQFeed CSV market data download tool that can download EOD bars, minute bars or tick data.
Use it to download a list of symbols, or a large number of symbols stored in a text file.
- Daily bars
- Minute bars
- Interval bars (volume, ticks or seconds)
- Tick data
- Parallel downloads (8 by default)
- CSV (default) or TSV format
- Uncompressed (default) or GZipped files
- Start and end date filter (all data by default)
- Bars timestamps at start of bar (default), or end of bar
- Optional time zone conversion of timestamps
- Go to compile the project:Download Go
- IQFeed subscription and client:
- Windows and Mac:IQFeed Client
- Linux:IQFeed Docker Image
Use go get and install to download and compile qdownload:
go get -u github.com/nhedlund/qdownloadgo install github.com/nhedlund/qdownload
Run qdownload without any arguments for usage:
$ qdownloadUSAGE: qdownload [global options]command [command options]<symbols or symbols file>COMMANDS: eod Download EOD bars minute Download minute bars tick Download tick data interval Download interval bars:<length><seconds|volume|ticks> help, h Shows a list of commands orhelpfor onecommandGLOBAL OPTIONS: --start value, -s value start date filter: yyyymmdd --end value, -e value end date filter: yyyymmdd --out value, -o value output directory (default:"data") --timezone value, -z value timestampstime zone (default:"ET") --parallelism value, -p value number of parallel downloads (default: 8) --tsv, -t use tab separator instead of comma --detailed-logging, -d detailed log output --gzip, -g compress files with gzip --end-timestamp, -m use end of bar timestamps instead of start --help, -h showhelp
Download Apple and Microsoft stock price minute bars from 2007 to today:
$ qdownload minute aapl,msft • Read symbols symbols=2 • Downloading symbol=AAPL • Downloading symbol=MSFT • Completed duration=19177ms rows=1428612 symbol=MSFT • Completed duration=43670ms rows=1853585 symbol=AAPL
Download daily bars for 10 different symbols from a list in symbols.txt:
$ qdownload eod symbols.txt • Read symbols symbols=10 • Downloading symbol=FB • Downloading symbol=SPY • Downloading symbol=NFLX • Downloading symbol=AMZN • Downloading symbol=GOOG • Downloading symbol=AAPL • Downloading symbol=GLD • Downloading symbol=SLV • Completed duration=468ms rows=1238 symbol=GOOG • Downloading symbol=USO • Completed duration=473ms rows=1703 symbol=FB • Downloading symbol=FARM • Completed duration=612ms rows=4219 symbol=NFLX • Completed duration=611ms rows=3229 symbol=SLV • Completed duration=624ms rows=3591 symbol=GLD • Completed duration=745ms rows=5828 symbol=SPY • Completed duration=769ms rows=7342 symbol=AAPL • Completed duration=876ms rows=5478 symbol=AMZN • Completed duration=604ms rows=3242 symbol=USO • Completed duration=608ms rows=5429 symbol=FARM
Download volume 1000 interval bars for SPY starting from 2019-04-18:
$ qdownload -s 20190418 interval 1000 volume spy • Using newer protocol requiredfor bar start timestamps, requiring at least IQFeed 6.0 • Read symbols symbols=1 • Downloading symbol=SPY • Completed duration=1126ms rows=50104 symbol=SPY
Download volume 1000 interval bars for SPY with timestamp at end of bar,starting from 2019-04-18:
$ qdownload -m -s 20190418 interval 1000 volume spy • Read symbols symbols=1 • Downloading symbol=SPY • Completed duration=1120ms rows=50359 symbol=SPY
By default intraday timestamps use the default IQFeed time zone US Eastern Time.
However it is possible to output timestamps in a different timezone.
Use the -z option to set the output timezone to either a shortcut alias or an IANA time zone from:Time Zones
Examples:
- ET or EST for US Eastern Time (New York)
- CT or CST for US Central Time (Chicago)
- PT or PST for US Pacific Time (Los Angeles)
- UTC
- America/New_York
- Europe/Stockholm