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::
-
Historical EOD quotation data from Yahoo! Finance
sites
-
Fundamental data from Yahoo Finance
- EOD and current day data from Tiingo.com
-
EOD data from Quandl.com
- EOD data from Stooq.pl
-
historical EOD and Intraday FOREX quotes from FinAm
- ANY web-based data source if it provides REST-like APIs and
CSV (comma separated values) output (User-Definable Data sources new in
version 4.0)
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?
- 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)
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:
-
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
-
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.
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:
-
{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)
WHAT'S NEW IN VERSION 3.33?
- fixed Stooq.pl download after site
change
WHAT'S NEW IN VERSION 3.31?
- Added support for BarChart.com (OnDemand Bar Chart free quotes: https://www.barchart.com/ondemand/free-market-data-api)
- free US stocks, futures intraday (one month) and EOD quotes. REQUIRES
free Barchart API key signup: https://www.barchart.com/ondemand/free-market-data-api
to be entered in the Tools->Settings. Free account allows to download upto
150 symbols per day
- Now defunct Google Intraday option removed
WHAT'S NEW IN VERSION 3.30?
- Yahoo Fundamental Extra now downloads full name too
- Removed unused intervals
(3-minute, 120-minute)
- Now defunct Yahoo Fund. Basic option removed
- Google Intraday downloads now
support new intervals 10, 30 and 60 minutes with backfill length upto 1
year (for 30/60 minute interval)
- Google EOD downloads are back again. Market
coverage is greater than before and supports EXCHANGE:SYMBOL notation for
non-US markets (same
as for Google
Intraday)
WHAT'S NEW IN VERSION 3.29?
- AmiQuote detects if it is run
with wrong current working directory (such as C:\Windows\System32) and
changes the directory to correct one
WHAT'S NEW IN VERSION 3.28?
-
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.
WHAT'S NEW IN VERSION 3.27?
- 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.
WHAT'S NEW IN VERSION 3.25?
- 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
WHAT'S NEW IN VERSION 3.23?
- 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
WHAT'S NEW IN VERSION 3.22?
- Sometimes Yahoo created incorrect cookie. Workaround implemented.
- Service status bar adjust its height for HighDPI screens
- Large toolbar icon set implemented for HighDPI screens
- Yahoo data source errors are now prominently displayed (previously they
were only visible in downloaded file)
- AmiQuote now checks AmiBroker's codes returned by Import for better import
error handling
- Yahoo changed column layout so aqh.format file needed an update
WHAT'S NEW IN VERSION 3.21?
- Finam source might cause crash or not work in 3.20. Fixed
- Stooq source now allows date range selection so downloads eat less bandwidth
and are faster
- Other minor improvements
WHAT'S NEW IN VERSION 3.20?
- 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)
- 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
WHAT'S NEW IN VERSION 3.15?
- 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
WHAT'S NEW IN VERSION 3.14?
- Yahoo changed the format of Yahoo Historical download.
Incompatibility is fixed now.
WHAT'S NEW IN VERSION 3.13?
- Yahoo changed the format of Key Statistics / Fundamental
Extended download. Incompatibility is fixed now.
WHAT'S NEW IN VERSION 3.12?
- Yahoo changed the format slightly
causing problems with Yahoo Fundamental Basic download. Incompatibility is
fixed now.
WHAT'S NEW IN VERSION 3.10?
- 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
WHAT'S NEW IN VERSION 3.03?
- 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.
WHAT'S NEW IN VERSION 3.02?
- 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)
WHAT'S NEW IN VERSION 3.01?
- 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
WHAT'S NEW IN VERSION 3.00?
- 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
WHAT'S NEW IN VERSION 2.13?
- thousand separators (commas) are removed from value fields in "Key Statistics"
page to prevent interpretting them as field delimiters
WHAT'S NEW IN VERSION 2.12?
WHAT'S NEW IN VERSION 2.10?
- adjusted to work with changed "Key Statistics" Yahoo Finance page.
WHAT'S NEW IN VERSION 2.00?
- 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)
WHAT'S NEW IN VERSION 1.95?
- Adjusted Forex source to address Finam server change
WHAT'S NEW IN VERSION 1.94?
- OLE automation server registration checks registry access rights correctly
on Windows Vista now (this prevents "Failed to update registry. Try using
REGEDIT" message)
WHAT'S NEW IN VERSION 1.93?
- 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
WHAT'S NEW IN VERSION 1.92?
- Solved compatibility issue with AmiBroker 4.85
WHAT'S NEW IN VERSION 1.91?
- Fixed enabling of start/end date and run every controls after addition of new
data sources.
WHAT'S NEW IN VERSION 1.90?
- 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).
The following fundamental data fields are available:
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
Explanation of values:
http://help.yahoo.com/help/us/fin/quote/quote-03.html
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)
The following fundamental data fields are downloaded:
Forward P/E
PEG Ratio
Profit Margin
Operating Margin
Return on Assets
Return on Equity
Revenue (ttm)
Qtrly Revenue Growth
Gross Profit
EBITDA
(Diluted) EPS
Qtrly Earnings Growth
Book Value Per Share
Operating Cash Flow
Levered Free Cash Flow
Beta
Shares Outstanding
Float
% Held by Insiders
% Held by Institutions
Shares Short (prior month)
Shares Short
Forward Annual Dividend Rate
Trailing Annual Dividend Rate
Dividend Date
Ex-Dividend Date
Last Split Factor
Last Split Date
Explanation of values: http://help.yahoo.com/help/us/fin/research/research-12.html
You have to use AmiBroker 4.81 or higher to use automatic import feature of fundamental
data.
IMPORTANT NOTE: Unregistered version of AmiQuote allows you to download fundamental-ex
data
for first 20 tickers in the list. To download data for more symbols you need
to register AmiQuote ($59 one time fee)
- Removed not working servers F and G from the auto-rotate list (completed:
2006-05-28)
- Removed Integratir source as it stopped working (completed: 2006-05-28)
- Removed Britefutures source as it stopped working (Britefutures stopped
delivering free quotes) (completed: 2006-05-28)
- If symbol has slash (/) inside
it is replaced by underscore in the file name to allow creation of the
file (slash is file system reserved
character)
(completed: 2005-11-10)
- Implemented blocking message filter in AmiQuote
to disallow getting messages during OLE call (completed: 2005-11-10)
[#24535]
- Registration fee is now $59 (for lifetime license)
WHAT'S NEW IN VERSION 1.81?
- Additional checks added to late binding code that prevents from crashes
when AmiBroker is not installed or AmiBroker has no symbols in its database
WHAT'S NEW IN VERSION 1.80?
- 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
- Added handling of "CON" as special case
(like LPT, PRN, etc...)
- OLE: AmiQuote now reflects the TLS file name
in the title bar after calling Open() method - its was showing "Amiquote
- Untitled".
- OLE: Ability to assign the destination folder per
session.
AQ = new ActiveXObject("AmiQuote.Document");
OldPath
= AQ.DestinationFolder; // preserve old path !
AQ.DestinationFolder= "C:\\Program Files\\AmiBroker\\AmiQuote\\Download";
// without trailing backslash please
...your code...
AQ.DestinationFolder=
OldPath; // restore original path
- OLE: Ability to position and size window
AQ = new ActiveXObject("AmiQuote.Document");
AQ.MoveWindow(
10, 10, 600, 400 );
WHAT'S NEW IN VERSION 1.71?
- 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
WHAT'S NEW IN VERSION 1.70?
- added OLE automation interface.
Click here for more details. Note that OLE automation inteface is functional
only in registered version of AmiQuote
WHAT'S NEW IN VERSION 1.69?
- more Yahoo historical servers
to select from (from B..L) in Tools->Settings
- automatic server rotation mode
(registered version only) that switches servers B to L on round-robin
manner allowing to download in several threads with lowered risk of your
IP being blocked by Yahoo.
WHAT'S NEW IN VERSION 1.68?
- updated default Yahoo Historical URL to ichart.yahoo.com
- added ability to select particular Yahoo Historical server in Tools->Settings: Yahoo Historical Server
Yahoo uses server load-balancing so data are delivered by many servers
"appearing" under one URL. Problem is that some servers from timem to time
are not updated (offer only old data) while others are up-to-date. This new
setting allows to handle such cases by selecting the server that is up-to-date.
Default setting is "ichart.yahoo.com" which works in usual load-balancing scheme
(switched servers). But you can also select Server B, C, D, and E. As of today
(June 8th) servers B and D offer up-to-date data, while server C and E offer
old data (only upto 4th and 3rd of June respectively). This may however change
at any time. Please note that selection of Servers C, D and E is available
only in registered version of AmiQuote.
WHAT'S NEW IN VERSION 1.67?
- fix: when user-selected 'from'
date is earlier than last date of quote available in AmiBroker then earlier
date is used.
WHAT'S NEW IN VERSION 1.66?
- better detection if AmiBroker is or is not running
- eSigCentral option removed
- added new free FOREX
data source providing EOD and Intraday forex quotes.
FOREX data source works ONLY with the following symbols:
EURCHF, EURGBP, EURJPY, EURUSD, GBPUSD, USDCHF, USDJPY
Attempt to download any other symbol with "Forex" data source will
result in error message.
Intraday downloads are available only in registered version of AmiQuote
- last
update date for each ticker individually is retrieved only if database has
less than 50 symbols. Otherwise the update date of the first ticker is taken
for all.This speeds up ticker list retrieval in large databases.
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?
- 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
Example command line:
Quote.exe C:\mylist.tls /download /close
- 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
WHAT'S NEW IN VERSION 1.60?
- 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)
WHAT'S NEW IN VERSION 1.55?
- fixed misleading "import failed" message in 'Yahoo Current'
mode
- eSignalCentral symbol translation tables are saved between sessions
- updated addresses of Quote.com servers (Server #1 works now even without
Livecharts subscription)
WHAT'S NEW IN VERSION 1.54?
- fixed problem with sometimes misleading "import failed", "aqe.format missing"
messages
- Source: eSignal Central stays selected between sessions
- other bug fixes
WHAT'S NEW IN VERSION 1.53?
- 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.
WHAT'S NEW IN VERSION 1.52?
- 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.
WHAT'S NEW IN VERSION 1.51?
- 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.
WHAT'S NEW IN VERSION 1.50?
- 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
WHAT'S NEW IN VERSION 1.49?
- New URL for requesting historical data from Yahoo is used.
- Appropriate error message is displayed if downloaded file contains HTML
tags (message: "Error in downloading") or has only one header line
(message "No data for this symbol")
WHAT'S NEW IN VERSION 1.48?
- Definable proxy server, port, user name and password in the Settings dialog
allows using AmiQuote in corporate environments
- (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.
WHAT'S NEW IN VERSION 1.47?
- AmiQuote now supports 3 different intraday Quote.com servers. You can select
one in Tools->Settings "Intraday server"
WHAT'S NEW IN VERSION 1.46?
- 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
WHAT'S NEW IN VERSION 1.45?
- 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.
WHAT'S NEW IN VERSION 1.41?
- 5-min and larger intervals work correctly now
- daily interval added for downloads from Quote.com servers (allowing you
to get quotes of E-minis for example not supported by Yahoo)
WHAT'S NEW IN VERSION 1.4?
- 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
WHAT'S NEW IN VERSION 1.3?
- 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
WHAT'S NEW IN VERSION 1.2?
- 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)
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:
- Launch AmiBroker and AmiQuote
- 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:
- Launch AmiQuote
- Open supplied example file DJIA.TLS in the directory DJIA
This will load example ticker list (components of Dow Jones Industrial Average)
- Choose between downloading current or historical or intraday interval
bar quotes (intraday interval bars are available only for US exchanges)
- Click on green arrow toolbar button (Start download)
now for a couple of minutes you can watch the download operation progress
- 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
-
bool - lowercase italic represents the type of parameter/variable/return
value
-
AddSymbols - bold represents function / method / property
name
-
SymbolList - underline type face represents formal parameter
Methods of AmiQuote.Document object
AmiQuote.Document object exposes the following methods (functions) (in alphabetical
order):
-
bool AddSymbols( string SymbolList )
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.
-
bool Open( string FileName )
This method opens (loads) ticker list file (.TLS extension). FileName should
represent full path to the file name.
-
bool RemoveAllSymbols()
This method removes all symbols from the download list
-
bool RemoveSymbols( string SymbolList )
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.
-
bool SaveAs( string FileName )
This method saves the ticker list to the .TLS file under new name. FileName should represent full path to the file name.
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):
-
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 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");
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");