I'm creating this thread for the purpose of gauging what demand there may be for a solution that would allow AmiBroker users to integrate Norgate price/volume data with AAII's Stock Investor Pro historical point-in-time fundamental data snapshots in the same backtests.
Besides AmiBroker, you would need a Norgate Platinum (or higher) subscription and a Stock Investor Pro (SI Pro) subscription from AAII. The latter costs $199 per year (available only to AAII members, which costs $30 per year), though one can sometimes find two-year subscriptions offered for $299. So currently, the annual costs of the required data would be $630 for Norgate and $30 + $199 for SI Pro, or $859 total. (You would also probably need a version of AmiBroker that is very recent, which would add to the costs.) And of course there would be the cost for this service itself.
Here's how I envision this working for the user:
-
You would need to download whatever portion of the SI Pro data archive you wish to include in backtests from https://www.aaii.com/stock-investor-pro/archives . A supplied utility would assist with extracting data from the exe files and exporting it as text. So you'd have a directory on your hard drive with a bunch of extracted text files, each corresponding to a snapshot of fundamental data as of a certain date. A program that helps automate this process as much as it can is a possibility, but for now, assume the user is on their own at this stage. The important point is that the service will not actually provide you with any data from AAII--it's up to you to supply it.
-
You would be responsible for keeping your Norgate data clean and up-to-date in AmiBroker with the Norgate Data Updater. As with (1), the service would not be providing you with any Norgate data.
-
A program would be provided that would perform maintenance (either on demand, scheduled, etc) on a binary database that mirrors your SI Pro data directory set up at (1). This would be somewhat similar to the Norgate Data Updaer. Before each maintenance update, the program would download the latest "linking table" from a server. This linking table would be the key to the whole thing working: It would provide the time-series relationship between Norgate AssetID and SI Pro COMPANY_ID (this relationship would not be one-to-one across time!). Keeping this linking table up-to-date and accurate is no trivial task, but it's one I excel at, having worked with integrating various big stock market databases for many years.
-
Finally, a C++ plug-in for AmiBroker would be provided that would allow you to populate time series arrays in AmiBroker with fundamental data pulled from the SI Pro data. For example, you could do something like
sales12m = SIProFnData("SALES_12m", NorgateAssetID());
or just
sales12m = SIProFnData("SALES_12m");
with the NorgateAssetID() call implicit. This would give you the array sales12m containing the value of the SI Pro field "SALES_12m" that was the latest at each bar.
With any data-juggling enterprise, there are potential legal landmines to navigate, but those can be considered later. Right now I'm just curious about whether interest in the rigorous backtesting capability that this service would bring is high enough to justify the headaches.
By the way, note that one SI Pro field is EXCHANGE. So for those wishing that Norgate provided historical point-in-time primary exchange via indicator functions, this would be one way of getting that.
Thanks for reading and responding.