home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Der Mediaplex Sampler - Die 6 von Plex
/
6_v_plex.zip
/
6_v_plex
/
DISK4
/
BUSIN_09
/
CGZDC31A.ZIP
/
CG17.DOC
< prev
next >
Wrap
Text File
|
1992-10-19
|
19KB
|
407 lines
Chapter 17 - Data Consistency Check
===>>> The Check Data Consistency option on the Main Menu processes
the Capital Gainz data you've entered, looking for anomalies and
inconsistencies. This powerful tool lets you discover the source of
potential problems, instead of reacting to odd symptoms.
[[Screen not in online version of documentation.]]
The Consistency Check Form lets you tweak the default parameters
to your preferences. Each value is described below, along with
examples:
o Maximum Days Between Prices: The number of days between consecutive
price records in the Price History File before reporting a message.
The main use for this setting is to catch price entry errors with
incorrect year values, such as a price with a date of 1/1/1. Stray
dates such as this will significantly lower total return
calculations. You usually won't have consecutive prices recorded
more that a year apart. (Default = 365)
o Maximum Security Yield: The maximum yield of a global security
allowed before reporting a message. One of the most common data
entry errors is incorrectly using the security's price for the per
share value when recording distributions. This will cause
overinflated yield calculations. Dividend yields should rarely
exceed 20% or so. (Default = 50.00%)
o Maximum Commission Pct of Amount: The maximum percentage of
purchase/sale commissions relative to purchase/sale amount.
Accidental entry of $3500, instead of $35.00, for a commission on a
$2000 purchase should trigger a message, since 3500/2000 is an
excessive 175% commission. You can also use this to make sure your
broker isn't taking unfair advantage of you. Even with full service
brokers, commissions shouldn't exceed 10% or so, unless the
security is a penny stock. (Default = 25.00%)
o Maximum Open/Close Gain/Loss Pct: The maximum gain/loss percentage
for one, or all, of a security's open/close records. If you enter a
purchase at a price of $1, instead of $11, and correctly enter
subsequent purchases, then the $1 purchase should trigger a
message. If the current price is $11, a 1000% gain is excessive.
But, if a speculative, low-priced stock takes off, or you hold
shares for several decades, or you use a warrant price for the
purchase price, then the gain percentage can get fairly high.
(Default = 999.99%)
o Maximum Calculated Amount Difference: The maximum allowed
difference between the purchase/sale amount and the amount
calculated by multiplying shares by the buy/sell price before
triggering a message. If you enter a 100 share purchase at a price
Capital Gainz Users Manual 17-1
of $10 for $100, then something is incorrect. Some variance should
be allowed for rounding. This calculation even applies to
securities that use the averaging method, since the actual amounts
are kept proportional to the number of shares. Total open values
stored in the local security record are also compared to the total
open values calculated by summing the activity logs. A mismatch in
the two is a serious problem. (Default = 1.50)
o Maximum Adjacent Price Diff: The maximum allowed percentage
difference between consecutive prices in the Price History File
before triggering a message. If you executed a price update from a
file, but entered 4 instead of 40 for one of the prices, then
there's a significant discrepancy in prices for this security. If
you own a security that gets bought out, goes bankrupt, or just
fluctuates in price a lot, then this message does not signify a
problem. Adjacent dividends per share are also checked, and the
first time the difference exceeds this limit a warning is issued.
The reason only the first instance is reported is that most non-
income mutual funds pay erratic dividends. (Default = 50.00%)
o Maximum Selling Price Diff: The maximum allowed difference between
the open price used for the selling date and the calculated open
price for the selling date. This actually checks three things.
First, if you use the average selling method, the calculated
average open price on the selling date should match the one used.
If you changed open information for previous sales, then a
difference here indicates an error. However, if you switched from a
non-average method to the average method, then differences in sales
executed before you switched can be ignored. The second thing this
checks is if you switched from an average method to a different
method. Here, the sales using an average price will be reported.
You should not switch from the average selling method. Finally,
this checks if you incorrectly modified the open information for a
sale. (Default = 1.50)
o Check For Unreferenced Keys: If you have a portfolio with no global
securities, or a global security with no local securities, or a
broker not referenced by any local or global securities, then a
message is triggered. This is not the same as having an orphan
record, such as a local security linked to a non-existent global
security. Unreferenced keys are perfectly valid, and you may want
to disable this check. (Default = YES)
o Check For Too Many Div/Fees: If you have more dividend or interest
payments in a year than specified in the global security, or make
pay more than one fee, then a message is triggered. If you
specified annual dividend payments for the security, but receive
quarterly dividends, then your yield will be about 1/4 of what it
should be. Too many dividend, interest, or fee payments is nearly
always an error. An exception is a security that quit paying
dividends. (Default = YES)
17-2 Capital Gainz Users Manual
o Check For Duplicate Activity: If you have duplicate purchase, sale,
or distribution entries, then a message is triggered. This is
almost always an error, as you normally don't buy the same number
of shares for the same amount on a given day. (Default = YES)
o Check For Activity/Price Diff: If an activity entry's price differs
from the price history price, or a distribution per share differs
from the price history per share entry, then a message is
triggered. If you make multiple purchases at different prices on a
given date, then this message is not a problem. (Default = YES)
The following inconsistencies are usually errors, so they are always
checked for:
o Negative/Zero: negative or zero amounts for number of shares or
amount triggers a message. These errors are usually caused by
corrupted data files or internal program bugs. They can also be
caused by incorrect importing of data. Return of principal and
uncovered short sales are skipped.
o Invalid Dates: the date fields in a record could be set to 0 due to
data corruption or internal program bugs. Also, incorrect importing
of data can cause this.
o Open/Close Dates: it's usually an error if the open date in a
closed shares record is later than the sell date. Short sales are
an exception. Other than short sales, this situation can be caused
by incorrect program use, incorrect importing of data, or incorrect
closed shares record modification.
o Settings: suspicious values are checked for, such as a very high or
low holding period. Sometimes, you may want these odd settings.
Otherwise, they may be caused by data corruption or internal
program bugs.
o Orphans: these are references to non-existent records, such as
broker names in securities that have no corresponding broker
defined, global security links in local securities with no
corresponding global security defined, or activity logs records for
non-existent local securities. Orphans are usually errors, caused
by data corruption, internal program bugs, incorrect data
importing, or abnormal program termination.
You can check the consistency of one or all portfolios:
o F2:Toggle All/Current Portfolio - toggles the selection of current
or all portfolios, as shown at the top of the form.
Function keys at the bottom of the screen are:
o Form Accept - accept all entries, the same as hitting Enter on each
field.
Capital Gainz Users Manual 17-3
o Form Reject - exit immediately, the same as hitting Esc to back out
of the form.
After completing the form, the consistency check procedure is
executed. All data records for specified portfolios are checked. This
process may take awhile, depending on how much data you've entered.
Upon completion, a log of all suspicious records found is displayed.
Like reports, this log can be sent to the printer or a DOS file.
Each suspicious record is identified in the log, numbered, and
associated with a short message. The short message, in turn, includes
a reference number that points to a longer message. The longer
messages for all errors found are displayed in order at the end of the
log, and include suggestions for correcting the problem. Of course, it
would be nice if Capital Gainz could automatically correct the errors,
but it's not always clear if there is a problem, and even then it's
not clear which records should be changed.
17.1 Output Log
The first part of the output log identifies a record, and provides
a brief message along with an index into the list of long messages at
the end of the report. In the log output, files and records are
identified using a logical hierarchy. The general format is:
Data File:Record Id:Data File:Record Id:...:[Index]Message
where
Data File identifies the Capital Gainz data file
Record Id is some way to identify a record, such as a date or
symbol
Index points to a longer message
Message is a brief message
The formats for specific Capital Gainz data files are:
User Settings File:
SET::[SETnn]message
Portfolio File:
POR:portfolio ID:[PORnn]message
Broker/Investment Company File:
BRK:broker/inv co name:[BRKnn]message
Global Security File:
GSC:global symbol:[GSCnn]message
Price History File:
GSC:global symbol:PRC:date:[PRCnn]message
Local Security File:
17-4 Capital Gainz Users Manual
POR:portfolio ID:LSC:local symbol:[LSCnn]message
Open Shares File:
POR:portfolio ID:LSC:local symbol:OPN:buy date:[OPNnn]message
Closed Shares File:
POR:portfolio ID:LSC:local symbol:CLS:sell date:buy
date:[CLSnn]message
Distributions File:
POR:portfolio ID:LSC:local symbol:DIS:distribution
date:[DISnn]message
For instance,
GSC:CPL:PRC: 2/02/87:[PRC02]Adjacent dates differ a lot.
refers to the Price History (PRC) entry on 2/02/87, for the global
security (GSC) symbol CPL. PRC02 is the index into the expanded
messages. Similarly,
POR:001:LSC:CPL:OPN:10/01/91:[OPN11]Duplicate purchase.
refers to the open shares (OPN) record dated 10/01/91, for the local
security (LSC) symbol CPL, in the portfolio (POR) number 001. OPN11 is
the index into the expanded messages.
Closed shares have two Record Ids. The first is the date of the
sale, and the second is the date of the associated purchase:
POR:001:LSC:VISTA:CLS: 9/03/87: 1/16/87:[CLS06]Closed price <>
price history.
refers to the closed shares (CLS) record with 9/03/87 sell date and
1/16/87 purchase date, for the local security (LSC) symbol VISTA, in
the portfolio (POR) number 001. OPN06 is the index into the expanded
messages.
17.2 Example - Consistency Check
Here's an example of the consistency check output.
[[Report not in online version of documentation.]]
Let's look at each of the messages:
1-3) Several brokers are defined, but no global or local securities
reference them. I can keep them around or save space by deleting them.
4) Looking at the Price History Table, I have an entry dated 1/03/09
for CPL. I made an error entering 1/03/90, and need to remove it.
5) There's an entry in the Price History File for the non-existent
Capital Gainz Users Manual 17-5
global security symbol F. This entry doesn't have a date, either.
Normally, you wouldn't get such an error, but some strange things can
happen during early testing of new features. There's no way to bring
up the Price History Table for a non-existent global security. So, to
clean up this record, I have to first define the global security, then
delete it.
6) FPEUR is a foreign stock mutual fund, and dividends are erratic.
The per share amounts differ considerably, but it's not a problem.
Only the first instance is shown for a given security.
7) Checking the Price History Table, it looks like I entered the
reinvestment price instead of the dividend per share when I recorded a
dividend for GRACE. I need to change the entry in the Distribution
Log, which will also fix the price history entry for that date. If I
consistently made this mistake, I'd also see a message indicating that
the yield is too high.
8) HTG is a growth fund, and dividends are erratic. The per share
amounts differ considerably, but it's not a problem.
9) NUVNC is a unit trust I bought at the end of the first distribution
period. I only received partial dividends, so the per share amount
calculated was lower than it should be. I need to adjust this.
10) The same thing happened to TCTXI as described in 9). The initial
dividend is the culprit, and should be adjusted.
11-12) These are serious problems - the open shares and open amount
totals in the local security file for CPL don't match the totals
calculated for the Open Shares File. More that likely, this
inconsistency was caused by abnormal program termination while
recording a purchase. This caused the open shares record to be
written, but the local security totals weren't updated. As the
expanded message suggests, this can be fixed by running the Fixup
Security option from the Local Security Table, and using the Totals
function on the Fixup Form. This resynchronizes the values in the
local security and the open shares records.
13) Checking the Open Shares Log, I see that the 10/01/91 purchase for
CPL was incorrectly entered twice. Deleting one of them fixes the
problem. Actually, this problem is related to 11) and 12).
14) There is a duplicate purchase recorded for GRACE on 8/12/91, but
checking the Open Shares Log I see that this is OK. This is a dividend
reinvestment plan, and I sent in two $50 checks that were both used to
buy shares on the designated purchase date.
15) PSNC is a dividend reinvestment plan where dividends are
reinvested at a 5% price discount. I used the Calc Load/Comm function
to determine the price before discount. I also had regular cash
purchases on these dates, and, because of rounding, one of the
17-6 Capital Gainz Users Manual
calculated prices was slightly different from the actual investment
price. I can fix this, but it's not a big problem.
16) Checking the Open Shares Log and Price History Table, I can see
that I inadvertently changed the price in the Price History Table for
VISTA on 11/07/91. This change made it different than the price in the
corresponding Open Shares Log entry. I need to fix the entry in the
Price History Table.
As you can see, messages don't always point out errors. Here, less
than half of the messages need to be addressed. Also, some errors may
trigger multiple messages. Depending on your data and settings, you
may have many or few messages generated by the consistency check.
There's no point in trying to eliminate them all if some aren't really
problems. If you frequently get a large number of messages that aren't
errors, you may want to adjust the execution parameters. For example,
if you track the prices of a number of global securities, but only
have a handful of actual holdings, you can set Check for Unreferenced
Keys to NO, avoiding messages pointing out global securities with no
local security links. In any case, it's a good idea to periodically
run the consistency checker in order to catch potential problems as
early as possible.
Capital Gainz Users Manual 17-7