|Pakistan (under development)|
The Stock Information System maintains over 25 separate databases for each region, including:
|The Master Company Database|
|Ad Hoc Formulas Database|
|Market Sector Baskets Database|
|Database Validation Codes Database|
|Stock Connections (warrants, local/foreign, etc.)|
|Company Headlines Database|
|Historic Price & Turnover Database|
|Exchange Rates Database|
|Historic Recommendations Database|
|Revision History Database|
S.I.S. maintains separate comment data for each stock record for the following subjects:
|One Page Summary|
|Latest Morning Line|
|Recent Company Visits|
|Profit & Loss Breakdown|
|Balance Sheet & Gearing|
It is necessary to manage connections between local stocks and foreign board stocks, Hong Kong A & B shares, warrants to the parent stock, etc., so that the program can perform various calculations that depend on data from these source records. This logic is handled by the Connections Database Subsystem. All processes that require data from one or more related stock data sources utilize this subsystem.
S.I.S. permanently stores daily currency exchange rates for multiple foreign currencies (maximum of 3) used in each market. This data is then used to convert appropriate foreign currency values entered for trading or company reports, in order use a common currency when calculating sector or market figures. For example, in Honk Kong, certain stocks may trade in HK dollars but report in US dollars. S.I.S. displays appropriate figures & currency labels, and properly converts data to single currencies when necessary.
This database is also be used for:
|All-China data reporting; such as the All-China ‘B’ Share Index & AMV figures|
|Cross-market reporting; like generating a performance report for utilities stocks across a selection of regional markets|
|Multi-currency reporting; allowing the user to select the output currency for any S.I.S. report|
Much of the S.I.S. administration of databases & data integrity is managed by a data dictionary, allowing for modifications of key program behaviour without requiring programming changes.
The storage system used by S.I.S. to store all historic (actuals), interims and forecast data has been upgraded to a transaction-based system. S.I.S. will now retain, and therefore can include in reports, historic data older than nine years.
S.I.S. maintains permanent records of all changes to the constituents of up to 5 market indexes and up to 5 market sectors for each S.I.S. region. This means that we can view & recall, and use during processing, the baskets for any historic or forecast year. Multiple baskets for each year are stored where they exist.
In addition to having access to this information for a variety of specialized uses, this data allows us to generate more accurate reports; for example when the S.I.S. program is calculating sector or subsector aggregate values, it will use the correct sector basket for the exact date that it is processing. Other software would only be able to use today’s latest basket, even when calculating data for a date years in the past, when the baskets were certainly different.
The two recommendation fields that were used in S.I.S. v4, CUR_RECOM, and CUR_QUALIF, have been eliminated and replaced with a separate recommendations subsystem. Recommendations are now stored permanently, and can be reviewed in descending date order at any time in the Master Program (only the last recommendation is available in the Enquiry Program!). Analysts cannot change a recommendation once it has been entered and confirmed; they must enter a new one to supersede the old one.
This system stores the following data for each recommendation:
|The date the recommendation was input|
|The time the recommendation was input|
|The qualification for the recommendation|
|The price of the stock on the date of the recommendation|
|The analyst of the stock on the date of the recommendation|
|The user who was logged into the S.I.S. program when the recommendation was entered|
Recommendations are also optionally displayed on price performance charts, which allows analysis of the accuracy of analyst’s recommendations. The historic recommendations cannot be edited in any way.
Every single change to every single unit of data within S.I.S. is tracked and stored by the Data Revisions Subsystem. This allows for such things as:
Generating daily summary reports for Research Heads & the Senior Research Head, in order for them to monitor changes in company data. For instance, in the event of a dramatic change in a company’s forecasts, both the local research head and the Senior Research Head in Honk Kong would be aware of the change and could act accordingly. With the volume of information these people are dealing with, important data like this might otherwise easily be missed or delayed.
Generating the Analysts Forecast Performance Report. This report analyses and generates variance numbers for each analyst's forecasts, facilitating the assignment of bonuses and other credits. See the REPORTS section for more information.
In addition to maintains unlimited historic records of original unadjusted and adjusted prices and turnovers, S.I.S. recalculates and stores the following data for every stock in every region covered by S.I.S.:
|Total Turnover for last 7 days|
|Number of trading days in last 7 days’ data|
|Total Turnover for last 30 days|
|Number of trading days in last 30 days’ data|
|Total Turnover for last 90 days|
|Number of trading days in last 90 days’ data|
|Total Turnover for last 180 days|
|Number of trading days in last 180 days’ data|
|Total Turnover for last 365 days|
|Number of trading days in last 365 days’ data|
|Total Turnover for YTD|
|Number of trading days YTD|
The editing modules of S.I.S. are perhaps the most feature-rich in the system. Many operations are done completely automatically and transparently to the user, such as setting up the 10 edit screens used to edit various data in the system for each of the S.I.S. regions, mirroring & recalculating data for local/foreign board stocks, data validation during entry, storage of ALL edits in the revision history database, etc.
These are some of the editing functions that can be performed by an S.I.S. user:
|View and edit most of the 320 data fields for each company’s stock record.|
|View and edit unlimited connections to warrants, local/foreign board and Hong Kong ‘A/B’ shares.|
|View all Historic Recommendations and create new ones (existing recommendation history cannot be edited).|
|View and edit comments for: One Page Summary, Latest Morning Line, Recent Company Visits, Main Activities, Profit & Loss Breakdown, Balance Sheet & Gearing, News Clippings & Warrant Notes|
|Jump directly to view the Stock Enquiry Screen.|
|View and edit the data validation tables that control & verify entry of data.|
|View the stock's complete Revision History.|
|View the individual field’s Revision History.|
|View & edit Company Headlines.|
|Activate / de-activate a stock.|
|Update ‘Forecast Effective Date'.|
|Shift all historical data for Interim’s, Forecasts, Quant. Data & all Sector Constituent markers.|
|View Sector Baskets.|
|Force mirroring and recalculation of all fields for Local/Foreign stocks.|
|Delete or undelete a stock.|
S.I.S. incorporates a metafunction called the Code Symbols Subsystem, which is a management system for validating data during entry. This system stores valid codes for each field in the entire program, and verifies the validity of any code that the user enters in every relevant field, such as the Analyst Of Record, stock type codes, index and sector breakdowns, reporting/trading currency codes, etc.
Creating, editing and deletion of codes is also managed by this system. For example, the program:
Allows entry of new codes for new or existing fields.
Verifies that a code marked for deletion is not being used anywhere in the program before allowing the deletion to occur (in order to maintain integrity of existing database information & maintain accuracy during reporting)
Performs automatic global changes to all relevant databases when an authorized user changes an existing code that is in user.
Some actual entries for this system look like:
|Field Name||Code||Description||Action||Link To Field||Lock?|
|HONGKONG->ANALYST||BB||H K Research Team||R|
|HONGKONG->ANALYST||FUK||Linda Lee The B****||R|
|HONGKONG->CAT_5||C||Cook Islands Stock||R|
|HONGKONG->CAT_5||X||Cayman Islands Stock||R|
|HONGKONG->CUR_TRADE||HKD||Hong Kong Dollars||R||Yes|
|HONGKONG->F_IND||B||Foreign Board Stock||R|
|HONGKONG->INDEX_1||1||HS Index: Finance||R|
|HONGKONG->INDEX_1||2||HS Index: Utilities||R|
|And so on…|
This database maintains many hundreds of codes for fields & variables used in the S.I.S. programs.
S.I.S. collates all analysts’ forecasts for all regions, and automatically generates the entire back section of the Monthly Equity Guide, ready for Production to use. This is one of the most critical functions that S.I.S. performs, and is the result of many man-months of work. This module recently completed its third major upgrade, incorporating many changes to improve the accuracy of its output.
This version of the key Monthly Equity Guide module is used for certain markets that are not capturing the range of data that the sophisticated mk.III version requires.
This version of the key Monthly Equity Guide module is used for certain markets that are not capturing the range of data that the sophisticated mk.III version requires.
This report analyses analysts’ forecasts against actual company results, and generates a variance number for each of the following data items:
|Earnings Per Share (Basic)|
|Dividends Per Share|
Recommendations are also listed as part of stock’s entry. The variance number is calculated using the formula:
(( ACTUAL VALUE / FORECAST VALUE ) - 1 ) * 100
In the event that there are no recent actual company results, the report will use the analyst’s last forecast as a baseline, and then compare that figure to earlier figures. This is, of course, is highly subjective and should be treated as such. The user can tailor the report’s output according to the following parameters:
Tag Selected Analysts
When you press the F2 key at the report’s setup screen, the program will pop up a list of all of the analysts currently defined in S.I.S. You can tag one or more of the analysts to be included in the report. The program will cycle through the S.I.S. database, and prepare a list of all stocks that are covered by the tagged analysts, and the stocks in the list will then be included in the final output.
Select Effective Report Date
You can set the effective date for the report. In other words, the program will ignore all data later than the effective date. Normally, however, you would leave the default date in this field, which is set according to the date that the last prices update was done.
Select Local Board, Foreign Board or All Stocks
You can filter the report according to the S.I.S. ‘Foreign Indicator’ field, selecting only local board stocks or foreign board stocks or all stocks.
Select Number Of Months To Consider Results As ‘Current’
In order to present the user with output, the program retrieves the most recent actual company results. You may set how many months back from the effective date (see #2 above) to consider those results as ‘current’. If the results were announced earlier than the period you specify, then the program will calculate a semi-arbitrary variance number using the last forecast number as the base. See the example below.
The S.I.S. Enquiry Program is designed to allow analysts and other users to input brief comments about companies, which will then be automatically displayed for a selected number of days, when the users open the Enquiry Program. The user is then presented with a short list of company headlines which he or she can read or bypass, if desired.
The Flash Report mk.II has been added to S.I.S. Some features of this printed report are:
The user can elect to enter and print sales commentary for any stock. The commentary can be of any length.
The commentary can be positioned by the user at the top or bottom of the report, or can be skipped altogether.
The user may select the standard company logo, or an alternate special logo to appear on page one top right corner.
The user can select one or more (or none) of the six S.I.S. company comment sections that he wishes to include in the report. The comment areas currently include Analyst’s One-pager, News Clippings, Latest Morning Line, Balance Sheet, Main Activities, and Profit & Loss.
The user can select the order in which he wishes the comment sections to be output.
The user can now input table data as part of the comment text.
The user can select which charts to include, if any, and select the order that they will appear in the report. The charts currently available are 2-Year Price Performance Chart, Price Relative Chart and a PE Band Chart.
This report has been superceded by the more comprehensive Universal Rankings Engine module.
Turnover averages, local/foreign premia, price performances, relative performances and AML are supplied to analysts and sales desks.
This report can use used to rank ANY data in S.I.S., using actual field data or mathematical functions. The simplest use for this is to print a simple Price Leaders & Laggards report, but highly complex reports can also be created. This report can be configured for:
|How many ranking figures to include|
|Whether to include a top ranking|
|Whether to include a bottom ranking|
|Sort output in ascending or descending order|
|Include zero or blank values|
In addition to reporting on actual database field values, the user can input a formula or S.I.S. Function, to generate a custom ranking report.
A powerful ad hoc reporting module is built into S.I.S., based on the industry-standard xBASE language. Various pre-defined report formats are available. The S.I.S. Ad Hoc System allows:
Creation, storage and editing of complex data filtering formulas.
Creation, storage and editing of complex data output formulas.
Addition of user-defined functions in ad hoc formulas and output.
Ability to tag selected stocks to fine-tune selection criteria.
Output to ASCII text file, printer, or directly to spreadsheet file.
A user-defined output option also exists, so that users can easily define the output of their ad hoc query, using fields, built-in S.I.S. functions, or standard xBASE functions.
Some examples of formulas that have been created by S.I.S. users:
|Description||Filter Formula & Output Formula|
|Lynch Ratios greater than 2||(( F1_EPS / H1_EPS ) ^ ( ½ ) -1 ) * C0_EPS / PRICE_0 > 2 .AND. SIS_CAT $ "ABC"|
|Stocks listed in 1994||YEAR( CREATED ) = 1994|
|Stocks covered by Elvis Presley||SIS_CAT $ "ABC" .AND. ANALYST = "EP "|
|All Hong Kong Property Stocks||STOCK_TYPE $ "OAB" .AND. SECTOR_1 = '3'|
|PE Ratio Less Than X||SIS_CAT $ "ABC" .AND. PRICE_0 * 100 / C0_EPS < 10|
|Latest Forecasts||SIS_CAT $ "ABC" .AND. MONTH( FCST_DATE ) > 9 .AND. YEAR( FCST_DATE ) = 1994|
|Prospective Yields Greater Than 5%||SIS_CAT $ "ABC" .AND. C0_DPS / (100 * PRICE_0) > 0.05|
|Prospective PEx < 7 & Yield > 7%||PRICE_0 * 100/ C0_EPS < 7 .AND. C0_DPS / (PRICE_0 * 100) > 0.07|
There are virtually no limits to the possibilities and complexity of S.I.S. ad hoc formulas. Once the formulas are created and stored, novice users can use the formulas without needing to learn the language syntax.
Various pre-defined exports are available in S.I.S. for Lotus Format Exports.
This module permits global modification of a stocks price history, as a result of certain circumstances, such as:
|Add New Stock|
|Remove A Stock|
|Suspend A Stock|
|Resume A Stock|
|Rights + Rights|
|Rights + Bonus|
S.I.S. also retains the original unadjusted price at the time of trading, in order to allow rollbacks and disaster recovery.
S.I.S. generates custom spreadsheet files directly from its databases, in many instances where DataStream and other market data services would be unable to satisfy our needs.
This chart is designed to present a graphical depiction of the accuracy of an analyst's forecasts. It uses the comprehensive S.I.S. revision history database, and is designed to be run from the S.I.S. Master Program. The chart presented will contain all stocks for which the selected analyst is the current Analyst Of Record. The forecast data is displayed in the same format as a high-low-close chart, with a range of +100% to -100%.
The analyst's final forecast prior to the actual results being released is indicated as a round icon somewhere on the high-low bar. In the event that the variance figure is higher than +100 or lower than -100%, the icon will change to a triangle pointing up or down. If no forecast data is available at all, then an 'X' icon is displayed on the 0% line, simply to indicate the existence of the company for that analyst.
The user can configure the chart according to the following options:
The date range for the analysis
The subject to analyze; i.e. EPS, EPS Ex Exceptionals, EPS Fully Diluted, EPS Fully Diluted Ex Exceptionals, DPS, NET Ex Exceptionals, WAS (Weighted Avg. Shares) or FDS (Fully Diluted Shares).
The range of forecasts to include; i.e. current year, forecast year 1, etc.
Production-ready PE Band Charts can be automatically generated by S.I.S. for all regions currently maintaining an S.I.S. database.
This module generates a Price Performance Chart for the selected stock. The chart can be viewed, printed, or saved as a PCX or BMP file. It can also be saved as a print file, which can be printed using the DOS 'COPY' command, like: COPY CHART101.PRN PRN. There is also a batch mode for this chart allowing tagged lists of charts to be generated or printed, as well as all stocks for selected analysts.
The user may configure the chart according to the following parameters:
|Select the starting date and ending date for the chart|
|Whether to include analyst’s recommendations on the chart|
|Select graphic mode|
|Select alternate colour scheme|
All comments listed above for the Price Performance Chart apply to this chart. In addition, the user selects the ‘comparator’ index or stock, such as the Hang Seng Index for Hong Kong.
S.I.S. calculates the China Indexes each day for historic valuation purposes.
Once a month S.I.S. generates a data file containing analysts recommendations & forecasts that can be sent to First Call.
Each week S.I.S. generates a data file containing analysts recommendations & forecasts that can be sent to TED & IBES.
S.I.S. has incorporated various tools to allow the Research Heads and the Senior Research Head to monitor significant changes in company data, and the performance of the analysts that are monitoring those companies.
These charts now have the option of displaying all of the analyst’s recommendations on the chart. This chart’s setup screen allows the S.I.S. Administrator to print out ALL charts for a selected analyst, which can then be used by senior staff to monitor the results of the recommendations.
This chart plots the performance of the analyst’s forecasts over a selected time period (default is 1 year) for any of the items currently being forecast by Research, presenting the user with a clear graphical representation of the accuracy of the forecast data compared to the actual company results.
The data is presented in the form of a high-low-close chart, with a y-axis of +100% to –100%, with the analysts forecasts presented as a vertical line that hopefully is close to the center zero line (not always the case!). The available subjects are:
|EPS Ex Exceptionals|
|EPS Fully Diluted|
|EPS Fully Diluted Ex Exceptionals|
|NET Ex Exceptionals|
|WAS (Weighted Avg. Shares)|
|FDS (Fully Diluted Shares).|
This chart can be detailed in detail mode (7 companies) or summary mode (21 companies).
Similar in function to the Analyst Performance Chart, this report analyses analysts’ forecasts against actual company results, and generates a variance number for each of the following data items:
|Earnings Per Share (Basic)|
|Dividends Per Share|
Recommendations are also listed as part of stock’s entry.
All S.I.S. On-line Help System files have been converted from the DOS Expert Help system to an enhanced form of Windows Help files.
We are now using dedicated help system development software called ForeHelp, which dramatically enhances the usefulness of S.I.S. on-line help. This new software is a unique help-authoring tool that enables us to quickly and easily update our Windows help files, taking full advantage of all features of the Windows WinHelp system. ForeHelp allows us to:
|Create hypertext hot spots on text or graphics|
|Define window classes|
|Create and modify browse sequences|
|Create Help macros|
|Incorporate embedded data from other applications|
|Insert dynamic link libraries (DLLs)|
|Create bulleted lists with a wide variety of bullet pictures|
|Create numbered lists using single or multiple (outline) levels and different styles of numbers or letters|
|Generate context-Sensitive help|
This help system, UNLIKE REGULAR WINDOWS HELP, allows a user to perform searches on all text, not just on the keywords pre-defined as searchable. This is a very powerful feature!
PLUS INTERNET / INTRANET
This help system has a Windows Help To HTML Converter built-in, so that if and when we have a company Intranet, the S.I.S. Help System and the reference materials built into it, will be readily available with no extra effort.
PLUS PAPER MANUALS
This help system will automatically generate hardcopy manuals, as required.
This subsystem has been added to all S.I.S. programs to assist in making the process of upgrading S.I.S. programs or databases more automatic. In the past, if a new database was required, if a new field was needed in an existing database, if new values were required in the Code Symbols database, etc., it was necessary to dial up each country and make all changes manually.
Now, many of these functions are totally automatic, with the changes made by the new S.I.S. program the first time it's run by the S.I.S. Administrator in each region. This subsystem is used to perform such functions as:
|Update values in the reference (code symbols) databases|
|Create new S.I.S. directories.|
|Update all database structures.|
|Update memory file variables.|
|Delete redundant S.I.S. files.|
|Provide various technical reminders for S.I.S. Administrators.|
This reduces the system maintenance workload for each of the S.I.S. Administrators. Additionally, it improves the quality & operation of each region's S.I.S. system, since the accuracy and uniformity of the S.I.S. operating system & files can be assured.
S.I.S. programs are designed to use a highly sophisticated source-level debugger.
S.I.S. is designed for full multi-user operations, with a limit of simultaneous use of over 500+ users per network server.
The S.I.S. Master Program is protected by the S.I.S. Shield System, which is a copy protection scheme that prevents use of the S.I.S. programs on computer systems that have not been approved.
If the S.I.S. system is copied to a new computer and executed, the program must be initialized by Rocky Mountain Software Inc. by inputting a unique and dynamically changing 15-digit code. Without this initialization procedure, no significant S.I.S. features will be available for use. In addition, there is a second level of protection that causes the system to become automatically disabled after n months regardless of the computer the program is running on. This has been implemented so that even if the primary security is breached, the system will soon become disabled and useless to unauthorized parties.
This security is designed to prevent the client’s heavy investment of time and money in the system and the maintenance of its data from being lost due to departing employees, from security breaches such as through modems or company intranets, or from other negative circumstances.
The S.I.S. Master & Enquiry Programs both write to a central database with various login statistics and information. This allows S.I.S. Administrators to monitor who’s currently using the program, for how long that day, and how much activity each user is generating within the system.
This function has been created completely separate from normal network supervisory functions.
The S.I.S. Administrators manage the S.I.S. password subsystem, which assigns access levels to every S.I.S. user. The 4 general categories are:
|View enquiry screens and print reports only|
|All rights as in level 1, plus normal editing of stock records|
|All rights as in level 2, plus special editing functions & ability to execute various system functions|
|All rights as in level 3, plus highest level editing functions, ability to execute critical system functions, and ability to assign passwords|
The S.I.S. password system communicates with the network and uses network login data to verify the user’s access to S.I.S. This process is transparent, not requiring additional password entry after logging onto the network.
S.I.S. has been prepared as a 16 bit protected mode program, which provides transparent access to up to 16MB of directly addressable memory in 64 Kb segments. Large programs like S.I.S., which uses using large numbers of data structures (arrays, etc.) will run significantly faster in protected mode. Also, since there is usually no need for overlaying of code, execution of the code itself is faster because pauses to load code from disk are rare.
Most importantly, S.I.S. will load in conditions of minimum low DOS memory, thus eliminating ‘LOW MEMORY or OUT OF MEMORY errors. The need for careful fine-tuning of a computer’s memory configuration is eliminated for S.I.S. operations.
The S.I.S. Master & Enquiry programs create a temporary log file for each user which is erased when the program is exited in a proper fashion. If a user is shutting off his PC with closing the databases properly, or leaving his computer logging into S.I.S. 24 hours a day with no activity, these log files allow the S.I.S. Administrator to track down the culprit.
Recent modules added to or upgraded in S.I.S. now utilize a standard INI configuration file, to allow S.I.S. Administrators to further customize S.I.S. operations at a level between programming and the end user.
All S.I.S. programs create a detailed record of any program errors, should any occur. This information allows for quick diagnosis of the nature of an error and greatly facilitates its repair. An example of this error log is:
Run-time error occurred on 05 Mar
97 at 21:05:04
Program : R.M.S. STOCK INFORMATION
SYSTEM Version 6.55 Master Program
Executable : D:\CLIENTS\SIS6T\SIS_MAIN.EXE (1997.03.05 21:04:40)
Free Diskspace : 39055360
Active Alias : CODES
Novell Login :
Crucial environmental variables
COMSPEC = C:\WINDOWS\COMMAND.COM
CLIPPER = <none>
EPATH = SPECIAL
Traceback: Procedure/Method Name
Instance Variable Contents
description Argument error
genCode 1: EG_ARG
osCode (not an operating system error)
Free memory (0) 24431
Largest block (1) 64
Run area (2) 387
VM available (3) 35392
EMS available (4) 0
The Replaceable Database Driver (R.D.D.) incorporated into S.I.S. is used to control all database and index file functions in the software program. This R.D.D gives us the following capabilities:
|Compressed Index Files|
|Compound Index Files|
|Multi-Key, Free-Format Indexes|
|Conditional and Scoped Indexes|
|Ordinal Index Position Functions|
|Definable Memo Block Sizes|
|Record Edit Rollbacks|
|Maximum memo file size of 4GB|
|Array storage in memo fields|
|VariField (tm) Super Memos (Stores any data type)|
|Memo files reuse discarded blocks (Reduces memo bloat)|
|MEMOPACK command/function for memo files|
|Data Dictionary (.INI) Support|
|Database Event Triggers|
|Compatibility with protected mode linkers|
Essentially, this system makes S.I.S. faster, give us many powerful tools with which to add features to the system in the future, make it use much less hard disk space, and be more stable.
The program checks for and prevents multiple copies of the S.I.S. executable from being loaded.
S.I.S. automatically synchronizes the PC’s clock to the network’s, meaning that every PC that uses S.I.S. will always be using the correct date & time (assuming of course that the network is correct!).
S.I.S. is fully compatible with dates greater than 1999.
S.I.S. tracks all logged-in users.
Questions or problems regarding this web site should be directed to
Copyright © 1997-2014 Rocky Mountain Software Inc. All rights reserved.