Introduction to the Custom Field EditorDownload printable PDF
Stock Investor Pro has plenty to offer for individual investors looking to perform fundamental analysis for long-term investing. However, no matter how powerful a stock screening program is, inevitably there will be data fields that are not listed. If you find that a data field of interest is not included in Stock Investor Pro, fear not. Users have the ability to go beyond the thousands of data points available for each company by creating their own custom fields. These custom fields can then be used for screening as well as creating custom views and reports. One feature that many users may not be familiar with is the collection of mathematical expressions that is available to perform more advanced calculations. Here we discuss how to utilize some of the more useful expressions.
Custom fields are created with the Custom Field Editor. To open the Custom Field Editor, select Custom Field Editor from the Tools menu (Tools-Custom Field Editor), click on the Custom Field Editor icon from the toolbar, or use the Alt+C key command.
Once you are in the Custom Field Editor, you can access the mathematical functions from the pull-down menu on the right side of the editor [showing ABS()]. In this installment of Stock Investor News, we discuss three expressions found in this menu: growth rate (GrowthRate[x], [y], [z]), in-line if (IIF[x], [y], [z]), and is field null (IsFieldNull([x])).
We begin by creating a new custom field that makes use of the GrowthRate function. At the Custom Field Editor, select the GrowthRate() function from the pull-down menu that is right above the “Add Function” button. After selecting it from the list, GrowthRate() should appear in the area just above the “Add Function” button. Click on the “Add Function” button so that GrowthRate() now appears in the Expression area of the Custom Field Editor. The setup for the growth rate function is GrowthRate([x], [y], [z]), which is the growth in a data field from value [y] to [x] over [z] periods. You can see this by moving the mouse cursor over the function name in the drop-down menu, prompting a pop-up window with a brief description of the field.
To calculate the annualized growth in accounts receivable over the last five years, we examine the total change in accounts receivable from six years ago (Y6) to last year( Y1). Using years Y6 and Y1 means we are calculating the percentage change using five compounding periods: Y6 to Y5, Y5 to Y4, Y4 to Y3, Y3 to Y2, and Y2 to Y1.
In simple terms, we are calculating the annual growth rate in accounts receivable from its level in Y6 [y] to its level in Y1 [x], which covers five years or compounding periods [z]. To enter this expression into the Custom Field Editor, first make sure that the cursor is positioned between the parentheses () in the function. Then, scroll down the list of data categories until you come to Balance Sheet - Annual and click on the “+” sign next to it. This will expand this data category so that you can see all the individual data fields that make up the category. Scroll down the list of data fields until you come to Accounts receivable Y1 and double-click on it. This data field should appear in the expression area (clicking once on Accounts receivable Y1 and then clicking on the Add Field button will produce the same result). Once this is done, add a comma (,) after [Accounts receivable Y1] and then add Accounts receivable Y6 by selecting it from the list. Lastly, add another comma after [Accounts receivable Y6] and the number “5” so that the custom growth rate expression reads as follows: GrowthRate([Accounts receivable Y1],[Accounts receivable Y6],5)
Now that you have entered in the full expression, you will want to verify that it is mathematically correct. You do so by clicking the Verify button. If the program is able to understand the expression, a box pops up saying the field is valid. The next step is to the save your new field. Click on the Save or Save As button in the Custom Field Editor, name the field, and click OK. Once you save the field, the program will ask if you want to calculate this field for all the companies in the database. We strongly suggest you choose Yes.
After the calculations are complete, close the Custom Field Editor. You can go to the Custom tab to see the value of each user-defined field (as well as the underlying calculation of each custom field) for each company in the database. You can also perform screens using this field (or any custom field) and add it to a View.
Is Field Null
No matter what type of calculations you are performing with a custom field, having a “null” (empty) value for any data field used to create a custom field will render the entire value for a particular company null as well. The IsFieldNull expression allows users to identify null values for a particular data point for a given company. It also converts null values into a “real” number—in this case, zero.
The setup for the IsFieldNull expression is as follows: IsFieldNull([x]). If the value of [x] is null, the field will return a zero value. Otherwise, a value of one is returned.
By itself, the IsFieldNull expression is not very useful. Its true value becomes apparent when using it in conjunction with other expressions, such as an In-Line If statement (see below). It can be used in other custom fields to bypass null values and still arrive at a valid figure. The underlying assumption for using the IsFieldNull expression is that null values will be treated as zero.
The In-Line If expression is an “if-then” statement, where one action is taken if ‘something’ is true, or a different action is taken if that ‘something’ is false. The set up for the In-Line If expression is: IIF([x], [y], [z]), where the logical expression [x] is evaluated and then one of the two expressions is processed. If [x] is true, IIF() returns [y]. If [x] is false, IIF() returns [z].