AmiQuote Read Me

AmiQuote 4.00 Read Me ( May 23, 2019 )

INTRODUCTION

AmiQuote is a companion program to AmiBroker stock charting/analysis software.

The main purpose of AmiQuote is to simplify and automate downloading financial data from the following free, public web sites::

AmiQuote performs downloads using multiple threads allowing you to fully utilise your connection bandwidth.

DISCLAIMER

This software is provided "as is" without warranty of any kind. Any use of the program is at your own risk. The author disclaims any implied warranty of merchantability and/or fitness for a particular purpose.

AmiBroker.com is NOT a data vendor. Quotes available via AmiQuote are provided by Yahoo Finance (finance.yahoo.com), Quandl.com, Stooq.pl, Finam, Tiingo and other free web pages. AmiQuote is just a web browser/downloader (just like Internet Explorer, Firefox, Opera, etc) but specialized in getting quotes from mentioned vendors/sites. AmiBroker.com makes NO REPRESENTATIONS on accuracy of quotes retrieved and provides no warranty on availability of quotes.

By downloading quotes from aformentioned vendors/sites you agree to the terms and conditions of respective web sites/data vendors. Most vendors provide the data for "personal informational purposes only" - consult individual data vendor web sites for detailed terms of service.

Free data are usually 15-minute delayed.

If at any time in the future Yahoo Finance (finance.yahoo.com), Quandl.com, Stooq.pl, Finam, Tiingo or any other quote source used by AmiQuote stops to provide the data, AmiBroker.com will not be liable for the any loss caused by inability to obtain quotes via AmiQuote.

WHAT'S NEW IN VERSION 4.00?

QUICK START GUIDE TO USER-DEFINABLE DATA SOURCES (NEW in version 4.00)

Version 4.0 is a new generation of AmiQuote that brings user-definable data sources. The idea is to allow any web site that delivers quotes in "consumable" format (currently CSV) to serve as a data source without long development process, so adoption of any new sources and/or changes would be easier and much quicker.

The easiest way to get started with User-definable sources is to Import example data source files. AmiQuote data sources are XML-based text files with .ADS extension (ADS stands for AmiQuote Data Source). Example files for AlphaVantage, Tiingo IEX intraday and more are included in the "DataSources" subfolder under AmiQuote folder.

How to import data source from file?

To import user-definable data source, select Data Source->Import menu. Then file dialog will appear, navigate to "DataSources" subfolder and look for exisitng files with .ads extension. Pick on and it will be imported. Newly imported data source will be automatically selected in "Source" combo box

How to use imported data source

You would use imported data source the very same way as you use built-in sources. Select it from Source combo box, set From/To dates, select desired Interval, add symbols and press Start download.

Some data sources may require API key (kind of private code to authorize your access to given data source). If that is the case, AmiQuote will display the message like this:

If you press OK button, the data source Setting dialog will be displayed where you can enter API key that you can retrieve from given data source web page:

Each data source has separate setting for API key (authorization token), so if you use for example Tiingo.com server in more than one user-defined data source you would need to enter the API key in each data source setting separately.

How to add your own data source

To create a new data source from scratch, use Data source->New menu, then follow instructions below to edit settings

How to delete user data source

To delete user-definable data source , use Data source->Delete. Caution: this operation cannot be undone.

How to edit data source settings

Data sources can be edited by selecting Data source->Edit menu, or pressing Edit button next to Source selection combo box on the main screen.

Data source Settings dialog has currently to pages: General and Supported Intervals.

General page looks as follows:

The fields available are as follows:

 

Supported intervals page looks as follows:

Here we have a list of intervals that are supported by AmiQuote: End-of-day, 1-minute, 5-minute, 10-minute, 15-minute, 30-minute and Hourly and two columns Max days and {inteval_extra} token value

Max days column defines how many days history is available from given data source at given interval. The value of 0 (zero) or "Not supported" means that given data source does not support given interval. If you define non-zero value for any interval it means that given interval is available and AmiQuote would allow to download upto as many days as specified. If you exceed that amount, AmiQuote will display the error message and will auto-adjust "From" date so the download range does not exceed specified number of days

{inteval_extra} token value - is optional field that defines the value of {interval_extra} token. This token can be used if given data source has different data end-points (URL parameters) for different intervals. For example Alpha Vantage uses URL parameter function=TIMES_SERIES_DAILY_ADJUSTED for Daily interval and function=TIMES_SERIES_INTRADAY for all Intraday intervals. By using the above settings you can use function={interval_extra} in the URL and {interval_extra} token will be replaced at runtime appropriately to selected interval.

Always use today as "To" date - optional - when turned on it forces "To" date to be always set to to Today. Some data sources only allow specifying "From" date and always deliver data until "now" and this option is useful in such situations.

Available URL template tokens

Here is the list of available tokens that will be replaced at runtime with respective values:

WHAT'S NEW IN VERSION 3.33?

WHAT'S NEW IN VERSION 3.31?

 

WHAT'S NEW IN VERSION 3.30?

WHAT'S NEW IN VERSION 3.29?

WHAT'S NEW IN VERSION 3.28?

WHAT'S NEW IN VERSION 3.27?

WHAT'S NEW IN VERSION 3.25?

WHAT'S NEW IN VERSION 3.23?

WHAT'S NEW IN VERSION 3.22?

WHAT'S NEW IN VERSION 3.21?

 

WHAT'S NEW IN VERSION 3.20?

WHAT'S NEW IN VERSION 3.15?

WHAT'S NEW IN VERSION 3.14?

WHAT'S NEW IN VERSION 3.13?

WHAT'S NEW IN VERSION 3.12?

WHAT'S NEW IN VERSION 3.10?

WHAT'S NEW IN VERSION 3.03?

WHAT'S NEW IN VERSION 3.02?

WHAT'S NEW IN VERSION 3.01?

WHAT'S NEW IN VERSION 3.00?

 

WHAT'S NEW IN VERSION 2.13?

WHAT'S NEW IN VERSION 2.12?

WHAT'S NEW IN VERSION 2.10?

WHAT'S NEW IN VERSION 2.00?

WHAT'S NEW IN VERSION 1.95?

WHAT'S NEW IN VERSION 1.94?

WHAT'S NEW IN VERSION 1.93?

WHAT'S NEW IN VERSION 1.92?

WHAT'S NEW IN VERSION 1.91?

WHAT'S NEW IN VERSION 1.90?

WHAT'S NEW IN VERSION 1.81?

WHAT'S NEW IN VERSION 1.80?

WHAT'S NEW IN VERSION 1.71?

WHAT'S NEW IN VERSION 1.70?

WHAT'S NEW IN VERSION 1.69?

WHAT'S NEW IN VERSION 1.68?

WHAT'S NEW IN VERSION 1.67?

WHAT'S NEW IN VERSION 1.66?

WHAT'S NEW IN VERSION 1.65?

WHAT'S NEW IN VERSION 1.64?

WHAT'S NEW IN VERSION 1.63?

WHAT'S NEW IN VERSION 1.62?

WHAT'S NEW IN VERSION 1.61?

WHAT'S NEW IN VERSION 1.60?

WHAT'S NEW IN VERSION 1.55?

WHAT'S NEW IN VERSION 1.54?

WHAT'S NEW IN VERSION 1.53?

WHAT'S NEW IN VERSION 1.52?

WHAT'S NEW IN VERSION 1.51?

WHAT'S NEW IN VERSION 1.50?

WHAT'S NEW IN VERSION 1.49?

WHAT'S NEW IN VERSION 1.48?

WHAT'S NEW IN VERSION 1.47?

WHAT'S NEW IN VERSION 1.46?

WHAT'S NEW IN VERSION 1.45?

WHAT'S NEW IN VERSION 1.41?

WHAT'S NEW IN VERSION 1.4?

WHAT'S NEW IN VERSION 1.3?

WHAT'S NEW IN VERSION 1.2?

INSTALLATION

If you have installed AmiBroker already, no special installation of AmiQuote is required. Just unzip AmiQuote package to a separate directory (the default is "C:\Program Files\AmiBroker\AmiQuote"). If you haven't installed AmiBroker yet it is recommended to do so, because AmiQuote uses MFC libraries (version 6.0) that are supplied with AmiBroker.

QUICK START

Note: this procedure works only if you have AmiBroker installed:

  1. Launch AmiBroker and AmiQuote
  2. Choose Tools->Auto-update AmiBroker database (or corresponding toolbar button)

HOW IT WORKS

AmiQuote loads (or retrieves from AmiBroker) a ticker list file (.TLS) which is simple ASCII file with ticker symbols, then parses it and downloads data from either Yahoo Finance or Quote.com servers. Then, when you start the download process, it requests the data from Yahoo and stores downloaded data in the separate .AQD (daily) or .AQH (historical) or .AQI (intraday bar) files for each ticker. After download, if AmiBroker is running, AmiQuote will import the quotes into AmiBroker automaticaly.

USAGE

Below you will find some tips on using AmiQuote 1.2 with and without AmiBroker. More detailed instructions will be provided with the upcoming AmiBroker 3.65.

Using AmiQuote in stand-alone mode

Although AmiQuote is provided as a companion program to AmiBroker it is however possible to use it without AmiBroker. Here is a simple procedure of downloading quotes using stand-alone AmiQuote:

  1. Launch AmiQuote
  2. Open supplied example file DJIA.TLS in the directory DJIA
    This will load example ticker list (components of Dow Jones Industrial Average)
  3. Choose between downloading current or historical or intraday interval bar quotes (intraday interval bars are available only for US exchanges)
  4. Click on green arrow toolbar button (Start download)
    now for a couple of minutes you can watch the download operation progress
  5. When all downloads are complete you can close the program and find appropriate .AQD (daily quotes) or .AQH (historical) or .AQI (intraday) files stored in the directory where TLS file is located.

Using AmiQuote with AmiBroker

Automatic update

The easiest method to work with AmiQuote and AmiBroker is to use the procedure given in Quick Start section of this document. Just run AmiBroker and AmiQuote and choose Tools->Auto-update AmiBroker database. This method updates historical quotes from the last date present in AmiBroker upto today. When performing automatic update, AmiQuote performs internally 4 steps a) retrieves the ticker list from AmiBroker (all stocks loaded currently in AmiBroker);
b) gets the last quotation date available in AmiBroker;
c) performs historical download from last date upto today;
d) instructs AmiBroker to import downloaded files.

AmiQuote now supports over 50 international exchanges in "historical" and "daily" modes.

Note that AmiQuote currently supports a new command line parameter: /autoupdate. This option forces AmiQuote to perform automatic update procedure without user intervention.
You may setup you custom tools menu in AmiBroker to call AmiQuote with this argument:

C:\Program Files\AmiBroker\AmiQuote\Quote.EXE /autoupdate

If you do so, you will be able to update your database with a single click.

Manual operation

Automatic mode is nice but there are cases when you have to perform some tasks manually. There is a good old document describing that mode of operation at: http://www.amibroker.com/docs/ab304.html . Everything written in this document remains valid with one exception - now importing to AmiBroker are performed automatically if you have Automatic import checkbox marked.

There are also several cases when you prefer to do things manualy, then please don't forget about some useful tools available at your fingertips:

File->Open, File->Save, File->Save As

These functions enable you to load and save your edited ticker lists for future repeated use.

Edit->Add tickers

This function allows you to add the tickers to the list. Just type space separated tickers into the field that will show up when you choose this function.

Edit->Delete tickers

This function allows you to delete tickers from the list. Just select the items you want to delete from the list view (multiple selection possible by holding SHIFT or CTRL key while clicking on items), and choose this function.

Edit->Mark all, Edit->Unmark all, Edit->Toggle, Edit->Mark selection, Edit->Unmark selection

These functions allow you to mark the tickers for download. Please note that AmiQuote puts a checkmark before ticker name in the list view. ONLY MARKED items will be downloaded. This allows you to perform selective downloads/updates.

View->Refresh

Basically AmiQuote handles refreshes by itself when needed. For example if you changed the date range, the list will be refreshed before starting download. But there are some cases when you may want to refresh the list by yourself. For example if you downloaded and imported quotes once and want to do this again you would need to choose this function. The Refresh function simply applies all date and type settings to the URLs listed, and MARKS all tickers for a new download.

Tools->Import into AmiBroker

This function is useful if you want to import just downloaded quotes into AmiBroker but you have Automatic import checkbox cleared.

Tools->Get tickers from AmiBroker

This function retrieves all stocks from currently loaded AmiBroker database and fills the AmiQuote ticker list with them.

Tools->Get last update date

This function retrieves the date of the most recent quotation of the first stock present in currently loaded AmiBroker database and sets the From date to this date.

Tools->Settings

Displays the settings window where you can define the destination directory where all downloads are stored. Note that blank destination directory means that downloads will be stored in the current working directory (in most cases this is the folder from where current .TLS file was loaded).

In this window you can also change the mode of writing the files. By default historical files are overwritten while daily files get appended. This is recommended setup. Appending daily files simply allows you to create intra-day historical files when you do the updates daily. You may change this behaviour for your particular purpose.

LIMITATIONS

Intraday interval bar data (1-min, 5-min, 15-min, 60-min and 120-min) are available for US securities only.
Historical data for international exchanges are usually much shorter than for US markets.

Because intraday bar data are downloaded from Quote.com servers the ticker symbols for indices are different than those used by Yahoo. For complete reference please check http://finance.lycos.com/home/misc/symbol_search.asp?options=i

Intraday bar data are limited to 500 bars regardless of bar interval. In other words you always get 500 bars data, whenever these are 1-min, 5-min, 15-min, 60-min or 120-min data - so by choosing bigger interval you get data from more days. This is the limitation imposed by free delayed Quote.com server.

SUPPLIED EXAMPLE FILES

AmiQuote 1.2 with the following example ticker lists:

DISTRIBUTION

AmiQuote is distributed as shareware. The evaluation version is almost fully functional and has NO time limit, so you can use it as long as you wish, but if you like the program and use it often you are encouraged to purchase life-time license for only $35. Click here to buy

LEGAL

AmiQuote 1.70. Copyright (C)2000-2004 by Tomasz Janeczko/AmiBroker.com.
All rights reserved.
All trademarks are the property of their respective owners.


AMIQUOTE OLE AUTOMATION INTERFACE (Version 1.70 and above)

Introduction

Note: AmiQuote's OLE automation interface is available for REGISTERED AmiQuote users only and requires at least version 1.70 of AmiQuote. If you attempt to trigger download or import from OLE automation interface using unregistered version you will be presented with a message box telling you to register.

All AmiQuote automation is available via methods and properties of single object: AmiQuote.Document.
After the initial installation, AmiQuote 1.70 must be run at least once in stand-alone mode in order to setup registry entries for AmiQuote.Document automation object properly. From then on you can use AmiQuote OLE automation.

To instantiate AmiQuote use standard CreateObject (VBScript and alike) or new ActiveXObject (JScript) statements:

VBScript sample:

Set AB = CreateObject("AmiQuote.Document")

JScript sample:

AB = new ActiveXObject("AmiQuote.Document");

Important: Note that AmiQuote.Document object is registered as multiple instance object so each call to CreateObject will launch a new instance of AmiQuote. (this is different from AmiBroker)


Typing Conventions


Methods of AmiQuote.Document object

AmiQuote.Document object exposes the following methods (functions) (in alphabetical order):

All methods return True on success and False on failure.


Properties of AmiQuote.Document object

AmiQuote.Document object exposes the following properties (in alphabetical order):

Examples

Example 1:
Load ticker list from the file, download historical data since June 1st, 1995 using Yahoo, import to running instance of AmiBroker:

AQ = new ActiveXObject("AmiQuote.Document");
AQ.Open("C:\\mysymbols.tls");

FromDate = new Date(1995, 5, 1, 0, 0, 0);
/* year, month-1, day, hour, min, sec (required by JScript date constructor) */

ToDate = new Date; // current time

/* getVarDate is required to convert from JScript Date to OLE-automation date */
AQ.From = FromDate.getVarDate();
AQ.To = ToDate.getVarDate();

AQ.AutoImport = true; // import automatically
AQ.Source = 0; // Yahoo Historical

AQ.Download(); // starts download

// wait until download and import is finished
while( AQ.DownloadInProgress || AQ.ImportInProgress )
{
    WScript.sleep(5000); // wait 5 seconds before querying status again
}

WScript.echo("Download and import complete");



Example 2:
Add symbols programmatically, download and import (from the code)


AQ = new ActiveXObject("AmiQuote.Document");
AQ.AddSymbols("MSFT, NVDA, INTC, AAPL"); // comma separated list of symbols

AQ.AutoImport = false; // no automatic import
AQ.Source = 0; // Yahoo Historical

AQ.Download(); // starts download

while( AQ.DownloadInProgress || AQ.ImportInProgress )
{
   WScript.sleep(5000); // wait 5 seconds while AmiQuote is downloading
}

AQ.Import(); // starts download

while( AQ.ImportInProgress )
{
   WScript.sleep(5000); // wait 5 seconds while AmiQuote is importing
}

WScript.echo("Download and import complete");