Prices
Chapter 9 - Prices
All the price information is consolidated into this chapter. You reach the tables and forms described here via the Local Security Table or Global Security Table. There are several ways to update security prices:
- Use the Price Update key on the Local Security Table or Global Security Table, and cycle through securities, updating the prices from a form. From the Local Security Table, you cycle through all securities in the current portfolio. From the Global Security Table, you cycle through all securities.
- Use the Price Update key on the Local Security Table or Global Security Table, and update prices from a comma-delimited ASCII file. Any or all securities can be listed in this file.
- Choose the Price Update key on the Local Security Form or Global Security Form, after highlighting a security and hitting Enter from the Local or Global Security Table. This lets you update the price of that security only, and is the same as adding an entry to the Price History Table.
- Use the Price History Table key on the Local Security Table or Global Security Table to bring up the Price History Table for the highlighted security. Then, use the Ins key to add a price.
9.1 Price History Table
[[Screen not in online version of documentation.]]
When you choose the Price History function key from the Local Security Table or Global Security Table, you are asked if you want to see all dates or a range of dates. Then, the Price History Table for the highlighted local or global security and requested range of dates is shown.
The Price History Table shows:
- The associated global security symbol and name. Remember that the price information is related to the global security, not the local security.
Price history records are interleaved with distribution records and stock split information, sorted in descending date order. For price records, you're shown:
- The Date of the price.
- The Price.
For distribution records, you're shown:
- The Date of the distribution.
- The type of distribution.
- The distribution amount per share, Distribution/share.
For stock splits, you're shown:
- The Date of the split.
- The split ratio.
At the bottom of the table, you're shown:
- The High price and date, Low price and date.
- The Monthly Average price. See Chapter 20 for details.
- The total Distribution per share.
The table includes distribution per share amounts to explain price drops due to dividend or capital gain payouts. Stock split information is shown for historical reference only. The highest price for the period is flagged with an H, and the lowest price for the period is flagged with an L. If the highest and lowest prices are the same, it is flagged with an *.
Function keys at the bottom of the screen are:
- Ctrl-F1:Function List - popup a list of functions to choose from.
- Ins:Add - add price, distribution, or split information for the global security.
- Enter:Change - change the highlighted price, distribution, or split information for the global security.
- Del:Delete - delete the highlighted price, distribution, or split information for the global security.
- Esc:Exit - exit from the Price History Table.
- Ctrl-PgUp:Top - go to the first record.
- Ctrl-PgDn:Bottom - go to the last record.
- F2:Delete Range - delete the displayed range of price history information.
- F3:Price History Report - print the Price History Report for the displayed global security and date range.
- F10:More - scroll the list of functions.
The Price History Table and Price History Report are valuable tools for investment analysis. See Chapter 20 for details.
9.1.1 Add a Price History Entry
[[Screen not in online version of documentation.]]
The Price Form is brought up to add a Price History File entry when you hit the Ins key from the Price History Table. It is also used when you choose Price Update from the Local Security Form or Global Security Form. The global security's symbol and name are displayed, and you enter:
- (Required) The Date for the price information.
- (Required) The Type of price history data. If you leave this field blank, or enter an invalid value, the Price Type Lookup Table pops up for you to select from. This table is described below.
If you selected the Price type, you also enter:
- (Required) The Price of the security.
If you selected the Dividend, Interest, Long Term Capital Gain, or Short Term Capital Gain type, you also enter:
- (Required) The distribution Per Share.
If you selected the Split type, you also enter:
- (Required) The stock split ratio.
Function keys at the bottom of the screen are:
- Form Accept - accept all entries, the same as hitting Enter on each field. This key is only displayed when changing records.
- Form Reject - exit immediately, the same as hitting Esc to back out of the form. This key is only displayed when adding or changing records.
- F5:Price From Value - let Capital Gainz calculate the price based on an entered value. This function is described below. This key is only displayed when adding or changing records.
- F6:Calc Load/Comm - calculate the net asset value of a mutual fund based on the entered price, which includes a load. This key is only displayed when adding or changing records.
===>>> If an existing record has the same type/date, it is deleted before adding the new one. Thus, only a single price can be recorded for a given date.
After completing the form, the price history record is added. You return to the Price History Table, and the just added price history entry is highlighted.
9.1.1.1 Price Type Lookup Table
[[Screen not in online version of documentation.]]
The Price Type Lookup Table is brought up if you enter an invalid price type. This table is similar to the Distribution Type Lookup Table described in Chapter 7, but has a few different values. Hitting Enter selects the highlighted price type.
The price types are:
- PRC - Price
- DIV - Dividend or INT - Interest
- STCG - Short Term Capital Gain
- LTCG - Long Term Capital Gain
- SPLT - Stock Split
Entering a Stock Split here simply records it - the split is not executed.
9.1.1.2 Price From Value
[[Screen not in online version of documentation.]]
===>>> The Price From Value function lets you track securities for which you don't know the share price. Often, this is the case in retirement plans, such as a company-sponsored 401k plan. You typically receive a statement showing your contributions, and the value of your holdings at the end of the period. To track such plans:
- Set up the local security to use the average selling method. This takes care of partial withdrawals.
- Record the initial purchase at a price of $100. This allows more precision than $1.
- When you receive a statement, use the Value listed on the statement to calculate a Price in the Calculate Price From Value Form.
- On subsequent purchases, use the most recently calculated price.
Since the gains and losses are determined by the calculated price, this strategy works well. Other approaches, such as using fees or fabricated sales, should be avoided since they result in realized gains and losses.
Since the price is derived from the local security's value, this feature requires:
- Price updates from the Local Security Table or Form.
- Only a single local security can be linked to the global security.
For example, say you have a 401K plan, and your monthly payroll deduction is $500. Over the quarter, you'll record three purchases:
Date Price Amount Calculated Shares
1/1/92 100.0000 500.00 5.0000
2/1/92 100.0000 500.00 5.0000
3/1/92 100.0000 500.00 5.0000
-------------------------------------------
Total 1500.00 15.0000
Value: 15.0000 shares at 100.0000 = 1500.00
At the end of the quarter, you receive a statement indicating:
Your investment plan is worth $1575.00 on 3/31/92.
Update the price with the Price From Value function, entering the $1575 value. Capital Gainz calculates the new price to be $105. You now have:
Value: 15.0000 shares at 105.0000 = 1575.00
Purchases over the next three months are recorded with a price of $105, an amount of $500, and a calculated 4.7619 (500/105) shares:
Date Price Amount Calculated Shares
1/1/92 100.0000 500.00 5.0000
2/1/92 100.0000 500.00 5.0000
3/1/92 100.0000 500.00 5.0000
4/1/92 105.0000 500.00 4.7619
5/1/92 105.0000 500.00 4.7619
6/1/92 105.0000 500.00 4.7619
-------------------------------------------
Total 3000.00 29.2857
Value: 29.2857 shares at 105.0000 = 3075.00
At the end of the quarter, you receive a statement indicating:
Your investment plan is worth $3200.00 on 6/31/92.
Update the price with the Price From Value function, entering the $3200 value. Capital Gainz calculates the new price to be $109.2683.
You now have:
Value: 29.2857 shares at 109.2683 = 3200.00
Your cost is $3000, as it should be, and your gain is $200:
Value - Amount = 3200.00 - 3000.00 = 200.00
No gains have been realized. If you make a partial withdrawal, let the Sell Shares Form calculate the number of shares based on the amount and the last price.
9.1.1.3 Calculate Load/Commission
The Calc Load/Comm function lets you determine the net asset value based on the loaded price. See Chapter 7 for details and examples.
9.1.1.4 Example - Add a Price Entry
Say you insert a price record:
Global Symbol:CPL
Date :01/02/92
Type :PRC
Price :$54.00
- If a price history entry exists for the Price and Type, it is deleted.
- The price history record is added.
- Any open shares or closed shares records with this Date are not changed.
9.1.2 Change a Price History Entry
The Price Form is brought up to change the highlighted price history record when you hit the Enter key. The Price Form, described in the Add a Price History Entry section, is initialized to the current values of the price history record to be changed. You can't change the price history type. Instead, you should delete the original and then add the new one.
If you change a Price record, then the original is deleted and the new record is added. On return to the Price History Table, the new record is highlighted.
9.1.2.1 Example - Change a Price Entry
Using the previous example, say you change the Date to 1/31/92.
- The old price history entry is deleted.
- The price history record is added.
- Any open shares or closed shares records with the old Date or new Date are not changed.
9.1.3 Delete a Price History Entry
The Price Form is brought up to delete the highlighted price history record when you hit the Del key. The Price Form, described in the Add a Price History Entry section, is initialized to the current values of the price history record to be deleted.
After deleting the price history record, you return to the Price History Table, and the record after the deleted record is highlighted.
9.1.3.1 Example - Delete a Price Entry
Using the previous example, say you delete the price on 1/31/92.
- The old price history entry is deleted.
- Any open shares or closed shares records with this Date are not changed.
9.1.4 Delete Range of Price History Entries
The Delete Range function key allows you to delete the displayed range of price history records, based on the previously entered date range. You are given the option of deleting the displayed prices, the displayed distributions, or both.
[[Screen not in online version of documentation.]]
You will always be prompted for confirmation, regardless of the Confirm Delete global setting, since many records could be affected.
To calculate total return, you should keep both prices and distributions.
After the deletion, you return to the Local Security Table.
9.1.5 Price History Report
The Price History Report is generated for the previously entered date range. See Chapter 15 for a description of this report.
9.2 Price Update
[[Screen not in online version of documentation.]]
After selecting the Price Update function key from the Local Security Table or Global Security Table, you are asked if you want to update security prices from the screen or from a file. Also, a function key lets you:
- F2:Create Skeleton File - create an example price update file, showing all global security symbols and their latest price/date information. This gives you a template to use in creating your own update file.
9.2.1 Price Update From the Screen
[[Screen not in online version of documentation.]]
===>>>
To update prices from the screen, you are stepped through each security and prompted for the date and share price. This is a quick way to prepare for printing reports at the end of the month, quarter, or year. If called from the Local Security Table, you only update prices in the current portfolio. From the Global Security Table, you'd update the prices of all securities.
The Price Update Form shows the global security name and symbol, and accepts:
- (Required) Date for the price. The first entry automatically displays the current system date, and subsequent securities show the last entered date. You can accept this date or enter a different one.
- (Required) Price of the security. If all you have is a fractional figure, use the Fraction-to-Decimal Table displayed to convert it to a decimal value.
Function keys at the bottom of the screen are:
- Form Reject - exit immediately.
- F2:Skip Forward - skip the currently displayed global security, and go to the next one.
- F3:Skip Backward - skip the currently displayed global security, and go to the previous one.
- F5:Price From Value - let Capital Gainz calculate the price based on an entered value.
- F6:Calc Load/Comm - calculate the net asset value of a mutual fund based on the entered price, which includes a load.
After completing a form, the record is written to the Price History File.
9.2.1.1 Price From Value
The Price From Value function, described earlier, lets you track securities for which you don't know the share price.
9.2.1.2 Calculate Load/Commission
The Calc Load/Comm function lets you determine the net asset value based on the loaded price. See Chapter 7 for details and examples.
9.2.2 Price Update From a File
===>>> To update prices from a file, you are prompted to enter the name of the comma-delimited price file to read in. The format of this file is:
Global Security Symbol, Price, Date
where:
- Global Security Symbol - 1-5 characters, quotes optional
- Price - decimal value, format 9999.9999
- Date - MM/DD/YY, quotes optional
If you omit the date for a record, the previously specified date is used. If you did not specify any dates, the current date is used.
As described previously, you can generate an example price file containing all global security symbols.
For each record read in the price file, a price history entry is added. The global securities in the file can be in any portfolio - you aren't limited to the current portfolio's securities if called from the Local Security Table. Also, a given global security can have more than one date/price added from this file.
See Chapter 16 for information on how you can get Capital Gainz to automatically read in the price file at start up.
9.2.2.1 Example - Price Update File
Here's an example of a price update file:
"CPL",52.5," 5/30/92"
"FPEUR",12.4
"FPINC",11.38
"FPTXF",15.74
"GRACE",34
"KRG",17.75
"PFZ",74.625
"PSNC",20.25
"TCHTG",8.98
"TCTXI",102.17
"TCVIS",10.90
- Only the first record has a listed date. All the following records use this date.
- The file was created with the Generate Skeleton Price File function, then modified with a text editor.