Professional Documents
Culture Documents
AmiQuote Read Me
AmiQuote 4.05 Read Me ( March 11, 2020 )
INTRODUCTION
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.
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.
fixed problem with changed Yahoo cookies that occured on March 10, 2020
implemented changes to Yahoo Fundamental Extra that addresses completely new layout of Statistics
page on Yahoo Finance.
implemented checks for Yahoo Fundamental Extra throthling (they added them recently). If Yahoo
rejects too many/too frequent requests for Fundamental data then "Try later (in 1 minute)" message
will be displayed and download will stop. It can be resumed by pressing Green arrow (Download)
button.
in 4.01 the message about problem with connection was always displayed if AmiQuote was not
registered. Now trial allows to download data for upto 10 stocks (as previously)
when AmiQuote was launched from OLE AmiQuote attempted to load custom data sources from
current working directory which was set by OLE to "C:\Windows\system32" or similar. Now when
launching from OLE the current working directory is changed automatically to EXE dir.
New Generation of AmiQuote, now allows User-definable data sources for complete freedom of
choice and quick adoption to data sources that appear on the web as well as existing sources changing
their API:
UI: New top-level menu: Data sources: New/Edit/Delete/Import/Export
UI: New Data source creation/editing dialog allowing definition of user-defined sources
UI: Export and Import of Data source definitions allowing easy sharing of definitions between
users
Removed defunct Google Finance built-in source
Removed BarChart.com built-in source (it can re-added as user-defined)
added example importable data source definitions in "DataSources" folder (AlphaVantage, Tiingo
Intraday IEX and more)
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.
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
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.
file:///C:/Program Files/AmiBroker/AmiQuote/ReadMe2.html 2/23
4/23/2020 AmiQuote Readme
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.
To create a new data source from scratch, use Data source->New menu, then follow instructions
below to edit settings
To delete user-definable data source , use Data source->Delete. Caution: this operation cannot
be undone.
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.
Name - this provides short name of data source (will be used as name in "Source" combo)
- required
Description - the extra description of what data given source provides (will be displayed
next to name in "Source" combo) - optional
URL Template - the template which will be used to create actual URL to request data
from - required
URL is the address of where data can be downloaded from. The template is a system that
allows to replace certain parts, called tokens, enclosed in curly braces like this:
{token_name} with certain values at runtime. For example {symbol} can be replaced with
current symbol and {from_ymd} by from date in YYYY-MM-DD format. More on available
tokens in later section
API key - defines {api_key} token value. May be required by some data sources
Download type - selects downloaded data type/format. Currently only CSV format is
supported - required
Error message prefix - defines the text that will be searched for to detect any error
messages generated by external web page - optional. If given text is found in the server
response, the error message that follows this prefix will be displayed and this item
download will be marked as failed
Remove double quotation marks (") - optional - marking this option will remove any
double quotation marks from downloaded data
file:///C:/Program Files/AmiBroker/AmiQuote/ReadMe2.html 4/23
4/23/2020 AmiQuote Readme
Convert ISO datetime into date and time columns - optional - marking this option will
convert single CSV column ISO date/time stamps in the format of either: YYYY-MM-
DDTHH:MM:SS where letter 'T' separates date and time parts, or YYYY-MM-DD HH:MM:SS where
space is used between date and time parts, into two separate columns, one for date YYYY-
MM-DD and one for time HH:MM:SS (with regular comma as a separator between columns)
Requests per minute - defines maximum number of requests per minute that given
source allows - optional. Zero means no restriction.
Some data sources put strict limits on how many requests you can send per minute and if
you exceed that the downloads will fail with error. For example AlphaVantage has a limit
of 5 requests per minute. If the limit is hit, AmiQuote will pause download until minute
passes by and then it will continue.
Such pause is announced to the user like this:
Daily format - describes how AmiBroker's ASCII importer should interpret column
values for Daily (EOD) downloads. Required. This string is copied directly into $FORMAT
command of the importer and stored in automatically generated import definition file for
AmiBroker
Intraday format - describes how AmiBroker's ASCII importer should interpret column
values for Intraday downloads. Required. This string is copied directly into $FORMAT
command of the importer and stored in automatically generated import definition file for
AmiBroker
File extension - defines the file extension (without dot) for downloaded files and name of
automatically generated format definition file for AmiBroker ASCII importer. Required.
If for example File extension is set to xyz then data files will be named like MSFT.xyz and
automatically generated format definition file stored inside "Formats" subfolder will have
the name of xyz.format
Separators - defines character(s) used as column separators for imported files. Required.
This will be copied into $SEPARATOR command of the importer. By default comma is used,
but it can be any other character. If multiple characters are typed here then each one acts
as separator.
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.
Here is the list of available tokens that will be replaced at runtime with respective values:
{api_key} - will be replaced with API key defined in General tab of the Settings dialog
{symbol} - will be replaced with current symbol
{interval_minutes} - will be replaced with numeric value of interval expressed in minutes, for
example: 5 for 5-minute interval
{interval_seconds} - will be replaced with numeric value of interval expressed in seconds, for
example: 300 for 5-minute interval
{interval_extra} - will be replaced with value defined in Supported intervals tab of the Settings
dialog respective to selected interval
{from_ymd} - will be replaced with the "From" date in YYYY-MM-DD format
{from_day}- will be replaced with the "From" date in DD format (two digit day only)
{from_month}- will be replaced with the "From" date in MM format (two digit month only)
{from_year}- will be replaced with the "From" date in YYYY format (four digit year only)
{from_month_name} - will be replaced with short month name of "From" date (example: "Jan" for
January)
{from_month_fullname} - will be replaced with full month name of "From" date (example: "January"
for January)
{to_ymd} - will be replaced with the "To" date in YYYY-MM-DD format
{to_day}- will be replaced with the "To" date in DD format (two digit day only)
{to_month}- will be replaced with the "To" date in MM format (two digit month only)
{to_year}- will be replaced with the "To" date in YYYY format (four digit year only)
{to_month_name} - will be replaced with short month name of "To" date (example: "Jan" for January)
{to_month_fullname} - will be replaced with full month name of "To" date (example: "January" for
January)
AmiQuote detects if it is run with wrong current working directory (such as C:\Windows\System32)
and changes the directory to correct one
New Tiingo Current replaces Yahoo Current service that has been terminated November 1, 2017. It
provides very fast downloads of current day snapshot quotes. Currently only open, high, low, close
(last) price. Current volume is missing at the moment from Tiingo. Only US stocks. No other markets
are offered by Tiingo at the moment. It also handles special ticker _ALLSYMBOLS_ that downloads
all 7000+ US symbols in one shot.
QuanDL.com downloads from sources other than EOD can now be automatically imported provided
that correct aqq_src.format file is present where src is the name of QuanDL source such as CHRIS
source requires aqq_chris.format for auto-import
64-bit version displayed "unspecified error" when trying to "auto-update" database that had just
symbol without ANY quotes. Fixed.
Yahoo "Statistics" page was changed on Oct 5 breaking "Fundamental Extra" download. Fixed.
Fixed Google Intraday download (due to changes Google made in the URL)
Window position and size is now stored between session
Fixed Yahoo Fundamental Extra download after Yahoo web site change
AmiQuote now displays summary in the status bar after download is finished.
Better error reporting in case of broken internet connectivity
Tiingo.com CSV downloads implemented: work 4x faster than JSon and deliver both adjusted and
unadjusted prices (unadjusted close is fed into Aux1)
Yahoo download limit Wait&Continue dialog implemented to handle situation when user hits Yahoo
limit. The dialog waits user-specified time and continues download
AmiQuote now clears Yahoo cookies at the beginning of download
List view is color coded depending on item status
List view does not flicker anymore (double buffering implemented)
Status bar now includes number of failed (wrong) symbols during download
Auto-scroll implemented (list view scrolls automatically as download progresses to subsequent
symbols)
Mouse cursor does not flicker when importing
Implemented faster way to setup Yahoo finance connection (it should work on older OSes too, without
reliance on installed version of IE)
UI: Added service status info bar, so AmiQuote can quickly announce problems with certain services
without users flooding support with same issues
Fixed random crash occuring when Yahoo page was holding some Flash content
UI: added information about bitness (32bit vs 64bit) to Help->About box
Trial version now has 10 symbol limit on all data sources. To use more symbols license purchase is
required
New data source added: Tiingo.com - US stocks and mutual funds, properly adjusted for splits and
dividends (Auth token required, Basic account limited, all symbols require $10/month subscription)
file:///C:/Program Files/AmiBroker/AmiQuote/ReadMe2.html 8/23
4/23/2020 AmiQuote Readme
New data source added: Stooq.pl - supports Polish stocks (Warsaw stock exchange), European Stocks,
major US stocks, currencies, indices)
Removed inoperable data sources: MSN and Yahoo Intraday
Fixed Finam support (it was broken due to changes on the site)
Much more currency pairs (87 pairs) supported by Finam source. Supported pairs:
AUDCAD, AUDCHF, AUDDKK, AUDJPY, AUDNOK, AUDNZD, AUDSEK, AUDSGD,
AUDUSD, CADCHF, CADJPY, CADUSD, CHFDKK, CHFJPY, CHFSGD, CHFUSD, DKKUSD,
EURAUD, EURBYR, EURCAD, EURCHF, EURCNY, EURGBP, EURHKD, EURHUF, EURJPY,
EURKZT, EURLVL, EURMDL, EURNOK, EURNZD, EURRUB, EURSEK, EURSGD, EURTJS,
EURUAH, EURUSD, EURUZS, GBPAUD, GBPCAD, GBPCHF, GBPJPY, GBPNOK, GBPSEK,
GBPSGD, GBPUSD, HKDUSD, HUFUSD, JPYUSD, MXNUSD, NOKUSD, NZDCAD, NZDJPY,
NZDSGD, NZDUSD, PLNUSD, RUBEUR, RUBLVL, RUBUSD, SEKUSD, SGDJPY, SGDUSD,
USDBYR, USDCAD, USDCHF, USDCNY, USDDEM, USDDKK, USDHKD, USDHUF, USDIDR,
USDINR, USDJPY, USDKZT, USDLVL, USDMDL, USDMXN, USDNOK, USDPLN, USDRUB,
USDSEK, USDSGD, USDTJS, USDUAH, USDUZS, USDZAR, ZARUSD
Added checks for Internet Explorer 10 or higher installation (required by Yahoo Historical downloads)
Added checks for "From" date earlier than 1970 (Yahoo historical does not support earlier dates now)
Updated Quandl downloader to use EOD source for US stocks (instead of old "WIKI")
Quandl downloader now supports use of other sources than EOD. You can use symbols with slash that
refer to other Quandl databases (like SCF/SHFE_ZN2_OR) but keep in mind that other sources than
EOD usually have different layout of downloaded data and you would need to import those data
manually (at least until some universal method is found)
Other minor changes/fixes
Yahoo changed the format of Yahoo Historical download. Incompatibility is fixed now.
Yahoo changed the format of Key Statistics / Fundamental Extended download. Incompatibility is
fixed now.
Yahoo changed the format slightly causing problems with Yahoo Fundamental Basic download.
Incompatibility is fixed now.
Added new data source: Quandl.com (US stocks, EOD data) - please do not forget to enter your
AuthToken for Quandl.com - it is required if you want to issue more than 50 download requests per
day. AuthToken can be obtained from Quandl.com web site.
Removed code and settings for Lycos/Quote.com (taken over by eSignal and shut down) - no longer
available
Code cleanup
added "Max days" edit to control maximum intraday backfill length. Specifying lower than maximum
allowed days results in faster download and less data to transfer. Google Intraday supports 1..15 max
days for 1-minute bars and 1..60 max days for 5-minute bars. Yahoo Intraday supports only 1-day of
1-minute bars and only 1 and 5 days of 5-minute bars. Specifying other combinations (such as 2, 3
or 4 max days for 5-minute bars) for Yahoo results in retrieving all 5 days.
added support for EXCHANGE:SYMBOL syntax - this allows downloading non-US symbols from
Google Intraday. For example ASX:BHP (BHP Billiton Limited traded on Australian Stock Exchange)
New Intraday (1-minute and 5-minute bars) backfill data from Google Finance. Includes all US
markets covered by Google Finance
Limitations:
Only 1-minute and 5-minute intraday bar intervals are supported
The backfill always covers 15 most recent days back for 1-minute bars and 60 most recent days
back for 5-minute bars
Only regular trading session is included
You need to be REGISTERED user of AmiQuote to use Google Intraday download
New Intraday (1-minute and 5-minute bars) backfill data from Yahoo Finance. Includes all US markets
and International markets covered by Yahoo Finance
Limitations:
Only 1-minute and 5-minute intraday bar intervals are supported
The backfill always covers just one most recent day back for 1-minute bars and 5 (five) most
recent days back for 5-minute bars
Only regular trading session is included
You need to be REGISTERED user of AmiQuote to use Yahoo Intraday download
thousand separators (commas) are removed from value fields in "Key Statistics" page to prevent
interpretting them as field delimiters
adjusted to work with changed "Key statistics" Yahoo Finance page (April 2010)
Added new Google Finance EOD data source (finance.google.com), US and International stocks
(finance.google.com) - very fast downloads, much faster than Yahoo
Fixed some rare random crashes
Fixed occassional crash on Vista
Historical EOD downloads overwrite temporary files always to prevent consuming too much hard disk
space
Livecharts/Quote.com by default is now disabled because vendor discontinued the service. (Use Tools-
>Settings to re-enable if needed)
OLE automation server registration checks registry access rights correctly on Windows Vista now (this
prevents "Failed to update registry. Try using REGEDIT" message)
Implemented fix for inconsistent Yahoo date format change (some Yahoo Historical servers changed
the date from DD-MMM-YY to YYYY-MM-DD, but some others do not, so downloads from Yahoo
use two different formats. AmiQuote now detects new format YYYY-MM-DD and converts to old
format on-the-fly)
Added an option to send cookies (to enable this, check Tools->Settings, "Allow cookies"). This is
useful if you are subscribed to Yahoo Realtime and want to get non-delayed quotes
Fixed enabling of start/end date and run every controls after addition of new data sources.
Implemented Yahoo Fundamental - Basic data source (free basic fundamental data, 200 symbols in
one request).
Data are retrieved from the following URL: http://finance.yahoo.com/q?s={Ticker} (Download data
link).
EPS (ttm)
EPS Est Current Year
EPS Est Next Year
EPS Est Next Quarter
PEG Ratio
Book Value
EBITDA
Sales Revenue
Dividend Pay date
Ex Dividend date
Dividend Per Share
1yr Target Price
Shares Float
Shares Outstanding
You have to use AmiBroker 4.81 or higher to use automatic import feature of fundamental data.
Implemented Yahoo Fundamental - Extra data source (extended fundamental data, 1 symbol in one
request, more data - available in registered version only).
Data are retrieved from the following URL: http://finance.yahoo.com/q/ks?s={Ticker} (Key Statistics
page)
Forward P/E
PEG Ratio
Profit Margin
Operating Margin
Return on Assets
Return on Equity
Revenue (ttm)
You have to use AmiBroker 4.81 or higher to use automatic import feature of fundamental data.
Additional checks added to late binding code that prevents from crashes when AmiBroker is not
installed or AmiBroker has no symbols in its database
Calls to AmiBroker automation objects now use late binding instead of early binding - this should
solve all past and future problems occuring when AB's OLE interface changes
OLE: AmiQuote now reflects the TLS file name in the title bar after calling Open() method - its was
showing "Amiquote - Untitled".
AQ = new ActiveXObject("AmiQuote.Document");
AQ = new ActiveXObject("AmiQuote.Document");
AQ.MoveWindow( 10, 10, 600, 400 );
added support for a new data source for EOD Futures quotes: www.britefutures.com.
Symbology can be found here: http://www.britefutures.com/symbols.asp , for example ES mini March
2005 contract has the symbol of : ESH05, Euro FX Currency December 2004 future: ECZ04
added OLE automation interface. Click here for more details. Note that OLE automation inteface is
functional only in registered version of AmiQuote
fix: when user-selected 'from' date is earlier than last date of quote available in AmiBroker then earlier
date is used.
new "All sessions (quote.com)" check box added. Turning this on causes that 24-hours trading is
included in downloaded quotes (important for futures like ES04M). When this switch is off only
regular trading hours are included in downloaded quotes.
when doing "auto-update AmiBroker database" AmiQuote does NOT switch back to Yahoo Historical,
hence allows you to set any source and still use Tools->Auto-update in AmiBroker.
when 'automatic import' flag is not checked then import is not performed
quotes are imported once (eliminated extra second import at the end of downloading all tickers)
added 3 built-in settings sets: "fail safe", "modem", "dsl/cable" (see Tools->Settings page)
after downloading you can double click the item in the list to open downloaded file in the Notepad.
This works also in case of errors in downloaded file
cookies set by Internet Explorer are not sent to Yahoo server
first-time user defaults changed to fail-safe level: 1 simultaneous download and 1000 ms between
requests
new command line switches accepted:
/download - triggers automatic download on start
/close - causes automatic close of AmiQuote after download
- this will open ticker list from C:\mylst.tls, run automatid download (and import if "automatic import"
box is selected) and close AmiQuote after download/import is finished
(on user request) maximum number of simultaneous downloads from Quote.com increased to 4
new experimental source: Integratir. US stocks only. Free. EOD quotes. (note this source is rather slow
and may be removed)
$NAME directive added to the downloaded file ensures that ticker is not renamed even if AmiQuote
needs to rename file for symbols using Quote.com's convention that , i.e.NASDAQ:NVDA
minimum connection timeout increased to 10 seconds and minimum download timeout increased to 20
seconds
slightly changed options (added keep alive and referer) in hope to improve download 'robustness'
import occurs immediatelly after download of each file so you get updated quote faster
prepared for new GetTickers method in AmiBroker 4.51.0 that allows to get last update date on per-
symbol basis leading to better work in "auto-update" mode. Also new AmiBroker 4.51.0 will skip
composites so they are not added to download list.
maximum number of simultaneous downloads from Quote.com decreased to 2 (bigger number cause
troubles with quote.com anyway)
fixed problem with sometimes misleading "import failed", "aqe.format missing" messages
Source: eSignal Central stays selected between sessions
other bug fixes
added new EOD data source: eSignal Central featuring all US exchanges, European exchanges,
Futures, Currencies / Forex.
added data-source sensitive symbol search (Tools->Symbol Search) - automatically opens web page
with symbol lookup for data source selected in the "Source" combo-box.
added initial delay between requests (delay that is added before attempt to download each new symbol
data) to the Settings page. It is defined in milliseconds (1/1000 part of the second). It should help the
owners of very fast connections to slow down AmiQuote and avoid problems with Yahoo rejecting too
frequent requests.
Added support for MSN Money Central. End-of-day historical stocks, mutual funds, currencies US,
Canada, Japan, Australia and major European exchanges. See
http://moneycentral.msn.com/investor/common/find.asp?
NextPage=%2Fscripts%2Fwebquote%2Edll%3FiPage%3Dqd
and this http://moneycentral.msn.com/investor/research/welcome.asp
to learn about symbols used by MSN. You have to have aqm.format file (supplied with this install)
copied to AmiBroker's Formats subdirectory to make auto-import from MSN feature work)
Added symbol translation table ( Tools->Symbol Translation Table menu ) that allows to get symbols
from alternative source without need to rename tickers in AmiBroker. It can be used for example to
update Yahoo database from MSN. If you define ^DJI, $INDU pair AmiQuote will issue request for
$INDU to MSN server when the ticker list contains ^DJI (Yahoo-style symbol). A sample translation
is included (msn.translations file - loaded automatically at startup).
Added some checks for Quote.com mode so it displays correct error message if "feature available to
subscribers" is received from Quote.com server
Added check for operating system reserved names like PRN.AX - they are renamed to PR_.AX to
allow storing such file in windows (should I say MSDOS) operating system.
removed obsolete "country" combo box and other cleanups.
Retrieving ticker list from AmiBroker is 10 times faster now (requires AmiBroker 4.00 or higher), so
Tools->Auto-update quotes start in 2-3 seconds for 7000+ symbols
Definable proxy server, port, user name and password in the Settings dialog allows using AmiQuote in
corporate environments
file:///C:/Program Files/AmiBroker/AmiQuote/ReadMe2.html 15/23
4/23/2020 AmiQuote Readme
(experimental) ability to specify Livecharts user/password for intraday Quote.com server (Setting
page) - the Livecharts password needs to be entered in the encrypted form see
http://www.amibroker.com/members/ for the details.
AmiQuote now supports 3 different intraday Quote.com servers. You can select one in Tools->Settings
"Intraday server"
bug fix: solved problem with renaming of tickers with "COM", "AUX", "LPT" substrings. Now only
full ticker symbol is matched (not substring)
bug fix: "Number of symbols per request (current mode)" does not switch back to 1 anymore when the
settings page is opened
rewritten downloading code - more robust - closes "dead" connections and includes auto-retry feature
settings dialog now allows to define the number of auto-retries, delay between retries, connection and
receive timeouts used to detect not responding connections
colon character ':' in the ticker name is automatically replaced by underscore '_' to avoid problems with
file system not allowing colon in the file name.
Download delayed intra-day bar data (1-min, 5-min, 15-min, 60-min, 120-min bars) for US securities
Simplified download historical and daily data from 50 international exchanges (one setting works for
all exchanges)
Ability to run downloads automatically in user-defined intervals
AmiQuote is now 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
Retrieving multiple symbols data in one request (current mode only) - provides huge speed-up for
download in "current" mode. Number of symbols definable in the Settings.
User-definable number of simultaneous downloads
Fully automatic updates of AmiBroker database (US & Canada markets only)
Editing and saving ticker lists
Integration with AmiBroker (retrieving ticker lists and last update date)
Better error handling and greatly improved stability
Selective downloads
Support for updating mutual fund quotes (close price only)
Support for appending data files
User-defined destination folder
Settings are preserved between sessions
added support for Argentina, Brazil, China, Denmark, Hong Kong, India, Japan, Mexico, Norway,
Sweden, Singapore, Spain, Taiwan (version 1.21)
file:///C:/Program Files/AmiBroker/AmiQuote/ReadMe2.html 16/23
4/23/2020 AmiQuote Readme
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
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.
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.
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:
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:
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.
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.
This function is useful if you want to import just downloaded quotes into
AmiBroker but you have Automatic import checkbox cleared.
This function retrieves all stocks from currently loaded AmiBroker database and
fills the AmiQuote ticker list with them.
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.
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
Introduction
file:///C:/Program Files/AmiBroker/AmiQuote/ReadMe2.html 19/23
4/23/2020 AmiQuote Readme
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
AmiQuote.Document object exposes the following methods (functions) (in alphabetical order):
This method adds symbols to the download list. SymbolList is comma-separated list of ticker symbols.
bool Download()
This method starts the download process. It returns immediatelly (without waiting for download to
complete). You should use DownloadInProgress property to find out if download has completed or
not before continuing.
bool GetSymbolsFromAmiBroker()
This method retrieves symbol list from running instance of AmiBroker. Before calling this you should
ensure that AmiBroker is running and has loaded correct database.
bool Import()
This method starts the import process. Currently it waits until import is finished, but in the future
versions this may change (it may return immediatelly). You should use ImportInProgress property to
find out if import has completed or not before continuing.
This method opens (loads) ticker list file (.TLS extension). FileName should represent full path to the
file name.
bool RemoveAllSymbols()
This method removes specified symbols to the download list. SymbolList is comma-separated list of
ticker symbols you want to remove. Please note that this function may be slow on large symbol lists.
bool Save()
This method saves the ticker list to the .TLS file under current name.
This method saves the ticker list to the .TLS file under new name. FileName should represent full path
to the file name.
bool AllSessions
decides if quotes from Lycos (Livecharts) should include pre/after market data (if set to True) or not.
Default value is false (include quotes from regular trading hours only). This property affects only
downloads from Lycos (livecharts). All other sources are not affected.
bool AutoImport
if set to true - AmiQuote will automatically import downloaded quotes into running instance of
AmiBroker
bool DownloadInProgress
(read-only property)
gives true value if there is any download running, gives false value if there are no downloads running.
You should check this property in a waiting loop (see below for example) right after you have started
the download to make sure that you don't trigger any further action before downloads are complete.
date From
allows to get/set the start date for historical downloads. This property has OLE DATE type and when
you are using JScript you have to use getVarDate() method of JScript Date object to convert from
JScript type to OLE-compliant type. VB-like languages can get/set this property directly because VB
internally uses the same date type as OLE.
bool ImportInProgress
(read-only property)
gives true value if there is any import running, gives false value if there are no imports running. You
should check this property in a waiting loop (see below for example) right after you have started the
file:///C:/Program Files/AmiBroker/AmiQuote/ReadMe2.html 21/23
4/23/2020 AmiQuote Readme
download or import to make sure that you don't trigger any further action before imports are complete.
integer Interval
allows to get/set the intraday bar interval for intraday sources (Livecharts/Integratir). The bar interval
here is NOT expressed in minutes. There is a fixed number of intervals available (0..7) and they are
encoded as follows:
0 - 1 minute bars
1 - 3 minute bars
2 - 5 minute bars
3 - 15 minute bars
4 - 30 minute bars
5 - 60 minute bars
6 - 120 minute bars
7 - daily bars
integer RunEvery
allows to get/set the "run every" time (in minutes). "Run every" feature allows AmiQuote to repeat
downloads automatically in fixed periods of time. If it is set to zero then no repeated downloads occur.
If it is set to value higher then zero then AmiQuote will re-run the download after specified number of
minutes. Please note that using this feature from automation has very little merrit because you have
better control using Download() method and can trigger repeated downloads from your own code.
Also be warned that RunEvery feature needs running AmiQuote instance while usually scripting
engines shut down all automation objects when script is finished, therefore you would need to keep the
script running all the time so AmiQuote object is not closed by the script.
integer Source
allows to get/set the data source. There is a fixed number of data sources available now and they are
encoded as follows:
0 - Yahoo Historical
1 - Yahoo Current
2 - Lycos / Quote.com
3 - MSN Historical
4 - Forex
5 - Integratir
6 - Brite Futures
date To
allows to get/set the end date for historical downloads. This property has OLE DATE type and when
you are using JScript you have to use getVarDate() method of JScript Date object to convert from
JScript type to OLE-compliant type. VB-like languages can get/set this property directly because VB
internally uses the same date type as OLE.
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");
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
while( AQ.ImportInProgress )
{
WScript.sleep(5000); // wait 5 seconds while AmiQuote is importing
}