Components section offers the following functionality:
Here, you can identify a group of stocks or ETFs by ticker. These lists can be inclusionary (i.e use a screening rule limiting consideration only to stocks on the list) or they can be exclusionary (i.e. a rule barring listed tickers from the screen).
When you start screening, your universe is All Stocks or All ETFs. We give you a variety of additional pre-defined universes (such as S&P 500 stocks). You can also go into the My123 and create other kinds of universe that may be more to your liking.
This determines what information you see for each stock after you run your screen. If you ignore this altogether, you will get the P123 Default Report, which, as you probably have already noticed, lists Market Cap, 4-week % price change, EPS % Change for the latest quarter and trailing 12 month period, three variations of P/E, and Dividend Yield. The “Run” section of the screening application itself gives you some additional pre-defined alternatives. Beyond that, the My123 section gives you considerable leeway to create your own report.
The My123 Ticker Link feature allows you to dramatically enhance the range of information you can see, as well as the sources of information, when you look for more information on a particular ticker.
Are you interested in Enterprise Value? It’s not included among the many items we get from our data provider Thomson Reuters. However, Portfoilio123 does include the items needed to create an Enterprise Value formula which, ultimately, looks like this: MktCap+ DbtTotQ-( CashPSQ* ShsOutMR); in plain English, that’s market cap + debt minus cash per share multiplied by the number of shares. You can certainly use that formula exactly as is. But as you do so, over and over and over again, you may find it inconvenient to re-type it every time. You don’t have to. You can store MktCap+ DbtTotQ-( CashPSQ* ShsOutMR) as a custom formula called, for example, $EV (all custom formulas begin with $) and simply use that. As you continue to use Portfolio123, you’ll see that this is a tremendous benefit, especially if you like to create interesting Reports.
The following sections will explore each of these features.
Usually, when we screen, we specify certain quantitative rules, accept whatever stocks pass muster, and reject those that don’t. Assuming we designed our screen well – i.e. the rules accurately target the kinds of stocks we’re looking for – we should be agnostic about specific stocks. We accept those that pass, we ignore those that don’t, case closed.
Sometimes, though, we’re not willing to take such a stance. Regardless of the rules we use, there may be some stocks we do not want to consider, or others that we do want to work with. Situations like this can be handled with user-created lists.
A list is simply a group of tickers you specify, whether one or two, in the dozens or in the hundreds.
The benefit of using lists is that they are easy to create and are amenable to any sort of mix-and-match you can imagine.
The downside lies in the area of survivorship bias. In other words, the collection of tickers you specify is static. If, for example, you want to screen against a list based on the buy recommendations of XYZ Brokerage firm, bear in mind you'll be working with the current buy list only. If you wanted to test year-ago results, the purest way to do that would be to create a second list based on the year-ago buy list, assuming you can get it. If you stick only with the basic list, your year-ago screen will be run against today's list.
Survivorship bias isn't necessarily the end of the world, as long as you understand its presence and implications. Backtests will not really be time-machine type exercises. Instead, they will produce hypothetical pro forma insights. Whether this can work for you depends on whether the list is likely to be very fluid over time. A brokerage-firm buy list probably would be troublesome in the context of a backtest. It would be less troublesome if it's something that could conceivably be more, albeit imperfectly, stable, such as a brokerage firm coverage list.
I'll illustrate with a real-life list I created called "SmallCap_Specials."
If I just want to focus on small caps, I could use the pre-set Portfolio123 Small Cap universe, or I could establish a screening rule or custom universe using market capitalization requirement.
But that's not what I'm looking for here. I want a list of attractive small caps. I don't require that all of them be here-and-now buys; I'll use my Portfolio123 models to help me make those decisions. But I do want to start with a well established, pre-vetted collection of pretty good companies that have merit even if their shares aren't indisputable immediate Buys. To accomplish that, I decided to use the 434 stocks in the coverage universe of a former colleague who presently runs his own, very successful, small-cap research firm.
The coverage universe has not been perfectly stable over the years. Successful stocks outgrow the small-cap category and new ones come in. So I do have to take backtest results with a grain of salt. Nevertheless my respect for the firm’s vetting methods makes me willing to do some work with its coverage universe even if I do have to rely less than usual on backtesting.
To create this list in Portfolio123, start on the home page and look for the "My P123" link. After you do this, you'll see "Lists" among the choices that appear in the body the page.
Click on "Lists." After you do that, you'll see an interface that allows you to create a new List. (After you've done this once, you'll also see your existing lists along with links that allow you delete or edit them.)
I type the name of my list, "SmallCap_Specials," into the "Name" area. And I put the tickers into the large box below the name area.
Don’t panic. . . I did not type all those tickers!
If it's a small list, you could simply type the tickers in one at a time, with different tickers separated by commas, spaces or new lines. But I'm working with 434 tickers, too many to type manually. That's no problem. If I can get the tickers into my Windows clipboard, something that can almost always be done (by copying from a spreadsheet, a text file, a word processing file, or sometimes even by running as mouse over tickers shown in a web site), I can simply put my cursor into the box and paste. That's what I did with my 434 SmallCap_Specials. After doing that, I click on "Save."
That's it. We're done.
Notice that the top of custom-list interface provided instructions for getting your list into a Portfolio123 screen. Figure 4 shows what the screening interface looks like after I follow that procedure.
Now, I can simply continue to build my screen.
I know that all 38 stocks (or less if I narrow further with a Ranking System or Quick Rank) will have passed muster under the vetting principles applied at my friend’s firm.
The Flip Side
Use of lists is actually a two-way street.
The list doesn’t have to identify stocks you like. You can also create one for stocks you hate.
Let’s suppose I’ve had it up to here with iPhone, Blackberry, Google and all the popular tech names. I’m tired of them. I hate them. I don’t want to see them and I don’t care how grwat they may look in terms of the data.
I can crate a FedUpWithBigNames list as follows:
Now, watch how I make darn sure none of those names will get into my screen no matter how wonderful their numbers might be.
The InList(“FedUpwithBigNames”)=false rule did the trick. Notice, from the running totals along the right, how those 10 stocks were knocked out even before we got down to serious screening.
If you haven’t yet read through the preceding section on Lists, I recommend that you do so now. A universe is very similar to a list; some might even say it’s a better and more useful version of a List.
- Unlike a list, a universe is created using rules (the same sort we use to create screens. Here, we aren’t focused on specific tickers but are instead looking to base inclusion/exclusion decisions on rules.
- Unlike a ticker-specific list, a rules-based universe will change over time. That means you can feel comfortable backtesting. Survivorship bias is not an issue.
To access the Universe section of the site, click on "MyP123" in the upper menu and choose "Stock Universes" from among the items on the list that will then appear in the body of the page. After doing that, click on "New" which you'll find on the menu that will appear on the left side of the page. That will bring you to the Stock Universe interface.
This should be very familiar; it looks a lot like the screening interface.
That should come as no surprise since, as noted above, a Universe is a starting list created programmatically using rules, rather than typing or pasting user-selected tickers. That's the same task screening performs; use of rules to create a list of stocks. The difference between a screen and a universe is a matter of how you use the resulting list.
The default "All Stocks" universe seems impressive, numbering more than 8,000 stocks. But practically speaking, many of these are penny stocks. Most Portfolio123 users prefer to eliminate these from their models. There are many ways to do this. Figure 8 illustrates one way you might create a custom universe to generate such a list, which you can later apply to many, or all, of the screens you create.
There are three universe-creation rules here:
- No OTC Stocks
- Market Cap greater than or equal to $250 million
- Share price greater than or equal to $5
I saved this universe under the name Basic.
Figure 9 shows another example, this one adding a sector-industry mix-and-match.
Here, I used the above-mentioned basic rules but added additional criteria excluding stocks in the Finance sector, excluding stocks in the Real Estate Operations and Miscellaneous Financial Services industries, and confining the list to those tickers that are tradable in the low-price "window" setup in the online brokerage firm FOLIOfn.com. I named this universe Enhanced Basic.
Both of these universes could just as easily have been created in the screener. And in the custom universe interface, I could add additional rules relating to growth, value, and so forth that are normally used in screening.
So how should one decide when to use which interface.
One consideration is convenience.
If the collection of rules you have in mind is one you believe you'll want to use over and over again, in screens or in ranking systems, use the universe functionality.
Figures 10 and 11 show how you can combine a universe with a one-off screen.
We start with a simple growth screen. I’ll open the Setting area to make it visible; you’ll see why shortly.
Do you see the difference?
The screen in Figure 10 started with the default All Stocks universe consisting of 8,198 stocks and wound up with 401 passing stocks.
The screen in Figure 11 started with the custom Enhanced Basic universe consisting of 2.358 stocks and wound up with 121 passing stocks.
Use of a custom universe made the second screen much easier to create. We needed only the four growth rules. We were able to dispense with the need to individually articulate the seven other universe-creation rules. Better still, the universe is also available for use with other screens.
There is another substantive difference.
Figure 12 depicts a growth screen designed to identify companies for which various growth rates have ranked in the upper half.
Notice that the first screening rule matches the Basic universe demonstrated above in Figure 8. As a matter of convenience, I’ll eliminate that rule and select Basic as my Universe.
Notice that the number of passing stocks is different!
Why is that? The three-part rule I eliminated at the top is identical with the three criteria used to create the Basic universe. Hence the results ought to match.
Often, it will turn out that way.
Here, however, identification of universe has a substantive impact on the screen itself. All three growth rules seek companies ranked in the upper half. Actually, though, that is an incomplete explanation. We should ask: upper half compared to what.
The #All parameters tell us to compare each company’s growth rates to those of all others in the universe. Some companies may rank above 50 when their growth rates are compared to those of all others in the All Stocks universe, but fail when compared against the more restrictive Enhanced Basic universe.
Note, from Figure 12, that my use of Universe(NOOTC) as a screening rule did not count when it came to identifying the universe to be used when evaluating the FRank function. The latter looks only to the universe specified in the settings.
Portfolio123 has pre-defined some universes. Those that may be of greatest interest, those based mainly on common stock market benchmarks, can be seen and accessed via the dropdown menu contained in the Settings area.
There is also the Universe function that can be specified as a screening rule. We already saw that a bit in Figure 12 with Universe(NOOTC). A universe specified this way will not be used to evaluate FRank and similar functions. Nevertheless you can use the rule to screen in useful ways.
The function can be seen through FUNCTIONS >> GROUPINGS >> Universe.
Be sure to click on the Full Desc link. For information on other more specialized choices.
Any pre-defined universe, whether or not included in the Settings drop-down menu, can be accessed by the Universe function within the screener. So you can, for example, confine yourself to American Depositary Receipts, by using the following universe-identification rule:
You can also use an automated interface to create ETF Universes.
This, essentially, is the same functionality as what you can get from the taxonomy based rules described in Part 5. You have the option, here, to click checkboxes in lieu of using functions like ETFMethod, ETFSectorSet, and so forth.
When you start, the interface looks like this:
To limit your universe to equities and fixed income, click on the Add button on the Asset Class row. Then, make your choices using the pop-up menu.
Notice, after you click on Update, how the universe has been re-defined from 731 ETFs to 658.
Here it is after are a couple more sets of choices:
Suppose, now, I want to eliminate Municipal Fixed Income. That’s part of the Sector taxonomy. I could click to open that menu, but if I went that route, I’d have to check every sector except that one. That’s a lot of sectors to check. It might be a lot more convenient to simply use a screening rule: ETFSector!=MUNIS.
Hence you can mix and match between use of the interface and use of rules.
The only time it would make a difference is if you want to use FRank or a similar function and have it compute with reference to the universe. If that’s the case, you would need to do everything in the interface; universes saved that way are accessed via the drop-down menu in the Settings area. But that may not come up too often. ETF investors are more likely to prefer to rank relative to something like Asset Class instead of Universe.
Often Portfolio123 users don't focus on specific attributes of the individual companies and stocks that move into and out of their models. Performance characteristics of the overall model often suffice. But there are times when you will want to know more about the companies, and on those occasions the Portfolio123 screener reports give you a lot of valuable information.
The basic report
Figure 20 shows a simple screen I built to find stocks with reasonable PEG ratios and promising technical characteristics.
Figure 21 depicts what I see when I retrieve the results by clicking on "Run."
These are some good basics: latest price, market cap, rank (based on the system I chose), four-week share price performance, two measures of EPS growth, three versions of P/E, and yield. If you click on a column heading, the report will be sorted, in descending order, on the basis of that data item. Click again on the same heading and the sort will shift to ascending. Click again and the report will be re-sorted on a descending basis, and so on and so forth.
That's a good starting point and it appears as long as the "Report" drop-down menu has not been altered from its default status.
Change of pace
Suppose we are wondering about different aspects of the list. Being a PEG screen, growth is certainly a topic that could be top of mind. Let's change the report to give us more information along those lines.
Look just above the table that shows the default report.
Notice that you have an opportunity to select a different pre-defined Report. You can use the horizontal menu (click arrow keys on either side of the interface to scroll in that direction) or the drop-down menu.
Here’s what I see if I choose Quality.
I now get a completely different set of perspectives on the companies that pass the screen. Notice, too, that there’s a download link (just above the sixth column) that allows us to get the results in Excel format.
Notice that I activated the freeze-pane feature of Excel. This can make for much better usability, compared to an HTML web page, when working with many columns or rows.
We can also create our own reports.
Go into My123. Click on Reports and then on New.
Enter a name and click on Create.
This should look familiar; it bears a close resemblance to the free-form screener interface. Does that lead you to believe you’re getting an opportunity to select the same kinds of data items you used to build rules, perhaps to use them in custom reports? If you do get that impression, you’re on target. That’s exactly what’s happening here. When I select an item, it will appear in the box on the right, which collects those items that will appear in my report. Notice the buttons that allow me to move items up and down the list so I can get the sequence just the way I want it.
Here are the items I select.
Notice the last item, $StopLoss. This involves peeking ahead to the section on Custom Formulas. You can see from the description in the left portion of the interface that it’s based on:
This means closing price offset back by zero bars (in other words, the last close) divided by the high achieved in the past 10 bars (trading days). Figure 28 shows the report sorted, on an ascending basis, based on $StopLoss.
The stop loss concept here is for informational purposes only; it's not an automatic sell trigger. Nevertheless a report like this, which spotlights stocks that would have been or are close to being stopped out can be very valuable. The other information can also be interesting. Look, for example, at Kodak, the stock most likely to be triggering stop-loss selling. We see from the reports that there’s already a lot of short interest and that analysts are pretty bearish. Note, though, that the current-year earnings estimate came up in the past four weeks. Is the bearishness overdone? Maybe. Remember, to make the screen, Kodak had to pass some technical tests based on exponential moving average. These are the kinds of supplemental food for thought that can be inspired by an interesting Report.
Notice what happens I move my cursor near a ticker that I see in a report. A little window pops up.
The first three items are undoubtedly things you’ve already seen. They are present in Portfolio123 by default and will open for you a new browser window containing, respectively, data panels for the stock in question, a Portfolio123 stock profile, or the company’s web site.
The next three items are there because I went into the Ticker Link feature and set them up.
- MSFnd opens a browser window that shows me mutual fund ownership data as reported on the MoneyCentral.msn web site:
- KeyDev opens a different window on MoneyCentral.msn, one that shows me its report of a company’s “Key Developments” (a more selective news feed omits trivia and limits itself to stories that have been vetted for importance):
- Talk opens a window that takes me to a “fun” part of Yahoo! Finance, the message board for the company in question:
These aren’t the only ticker links I created. They are just the three that I have activated (turned on) at the moment. Here is my full ticker-link collection:
Does anything here interest you? If so, feel free to copy it/them. All have been set for Public visibility.
Is there anything you’d prefer to see but don’t. That’s no problem. Create your own ticker link. Perhaps you have an interesting technical analysis. Here, for example, is a something I created on BigCharts.com using Bollinger Bands, the Ultimate Oscillator and MACD. I stored those settings in BigCharts so I’ll see them every time as a default view I go back there and input a ticker.
Here’s how I can turn it into a Portfolio123 Ticker Link.
I start by selecting Ticker Link from the My123 menu and then clicking on New.
The only mandatory fields are the first three.
- The first item, limited to 5 characters, is the name I’ll see in the window that appears when I’m in a report and move my mouse close to a ticker. You already saw MSFund, KeyDev and Talk. I’ll call this one BgCh, which stands for BigCharts.
- The second item is a plain English title.
- The third item is the trickiest. It’s the URL you want to see when you click on the link. To set the URL, I go to Big.Charts.com, retrieve a chart for NUE, set it up the way I want, and click on the button that saves my settings in BigCharts (those of you who use BigCharts should be quite familiar with this process).
Then, I go up to the address bar of the browser, copy the url, and paste it in as the third item in the Portfolio123 Ticker Link interface.
But there’s a problem. Note the presence of nue in the url. That’s the ticker I inputted. Every time this link is activated, we’ll get the BigCharts price chart for NUE.
To get it to work for whatever ticker we click on in our Portfolio123 report, substitute TICKER for nue.
Don’t worry about BigCharts knowing what to show you. A script in Portfolio123 will take whatever ticker you clicked on and swap it into the url in place of TICKER before actually retrieving the page.
Whether it’s a BigCharts price chart, something on Yahoo Finance! or anything else, as long as you modify the destination url by substituting the word TICKER for the specific ticker, you’ll get to the right place very time.
Here’s what the completed Ticker Link looks like in the Portfolio123 interface.
Folr the most part, the optional inputs are self evident. But one requires explanation: the Hover URL.
A Hover URL, if used, tells you what you’ll see if you move your mouse over the Ticker Link without clicking. Here’s an example for NUE.
Sometimes, this alone will serve your needs. You may just want to look at the chart without necessarily having to go to a separate browser window containing the BigCharts page.
To get the hover URL, I start out on BigCharts with my NUE price chart visible. Next, right click from someplace within the chart. On the menu that appears, click on Copy Image Location.
The following url will be placed into the clipboard.
Go to the Portfolio123 Ticker Link interface and put your cursor into the Hover URL area and click paste.
Hunt around for the ticker of the stock you used. These hover URLs are likely to be long and complex so put your cursor into the box and move slowly and patiently until you find it.
When you do find it, substitute the word TICKER.
That all. Now you can save. If you want, you can go back and adjust the size dimensions of the hover url from the default values, 512 pixels by 288 pixels.
That’s all there is to it. Give it a try. Once you do one of them, you’ll see it’s really quite easy.
Strictly speaking, you don't really need to use this custom formulas. But as ideas flow, you may come to see this capability as a great convenience, a faster and easier way to accomplish that which you already know how to do.
A sample idea
Suppose we want to create a screening rule that measures EPS acceleration. We want to favor companies whose recent, say prior year quarter (PYQ), EPS growth rates are much greater than their trailing 12 month (TTM) EPS growth rates.
The easiest way to accomplish this would be to create a screening rule based on:
EPS%ChgPYQ / EPS%ChgTTM
Actually, that could produce undesirable results. Suppose TTM EPS declined three percent while the PYQ growth rate was plus 12 percent. That's a big improvement, so we expect to see a positive number. But if we divide 12 by minus three we get minus four, a large negative number.
We can fix this by using the following formula to compute a modified growth rate:
(x1 - x0) / Abs(x0)
"Abs" stands for absolute value, which means for x0, we look at the number only, acting as if it's positive (whether or not it really is). Applying this to our screening rule, we would use:
(EPS%ChgPYQ - EPS%ChgTTM) / Abs(EPS%ChgTTM)
Now, an improvement from minus three to plus 12 calculates as:
(12 - (-3)) / 3 = +5
That's more like it.
Applying the idea to a screen
We could create a screening rule that does this:
(EPS%ChgPYQ - EPS%ChgTTM) / Abs(EPS%ChgTTM) >= 1
But it's a less-then-great solution in two respects.
First, as easy as it seems to create the rule through typing and/or clicking, if we find ourselves doing things like this or working with even more complex expressions often enough, the whole process can get very cumbersome very quickly and the more cumbersome it gets, the more exposed we are to typographic error and the more discouraged we get.
Second, if we want to study our results using Portfolio123 reports, we'll find we can look separately at EPS%ChgPYQ and EPS%ChgTTM, but that we can't see the overall acceleration values: There is no such data point as (EPS%ChgPYQ-EPS%ChgTTM)/Abs(EPS%ChgTTM), so we can't get the item into a report.
We can solve both of these problems by using Custom Formulas. We'll create the formula the hard way just once. Then we'll save it under a new name. Any time we need it in the future, we simply retrieve it. And the name we give to that formula will represent a new data point that can be used in a Portfolio123 report.
Creating a Custom Formula
Start by clicking into My P123 and then into the Custom formula area. Click on New to open the Custom Formula interface.
To create a custom formula . . .
- Type in a name for your new item. Note that in Portfolio123, all custom formulas are signified by the $ prefix at the head of the name. You don't need to type $; Portfolio123 will add it for you.
- Create the formula exactly as you would in the screener by typing and/or pointing-and-clicking using the different TYPES, CATEGORY, and FACOTR/FUNCTION items. The only difference here is that you usually create the factor/function only. Be careful about going further and articulating and equalities, greater than relationships, less than relationships, and so forth.
This is a correctly articulated custom formula:
(EPS%ChgPYQ - EPS%ChgTTM) / Abs(EPS%ChgTTM)
Now, consider this:
(EPS%ChgPYQ - EPS%ChgTTM) / Abs(EPS%ChgTTM) >= 1
This may not be correct since it goes further and requires the factor to be greater than or equal to 1. But you won't get an error message. If you save it this way, Portfolio123 will evaluate it as a true/false statement, and return 1 if it's true or 0 if it's false. Sometimes, that may be OK (or even preferable) for your purposes. Often it won't be. Either way, make sure you're aware of this issue.
- Type in a description if you wish.
- Click "Save" when you are finished.
Figure 43 shows what the interface looks like when you've completed your work.
Using the custom formula
Figure 44 shows an EPS Acceleration screen created to illustrate use of the custom formula. I eliminate extreme situations (cases where either the PYQ or TTM growth rate is below minus 30 percent or above plus 30 percent. Then, I require that for remaining companies, the EPS Acceleration factor, as defined in my custom formula, be equal to or above 1.00 (practically speaking, that means the PYQ growth rate should be at least double (100 percent greater than) the TTM growth rate.
Notice the way I got to the custom formula. In the screening interface, under TYPE, I click on CUSTOM FORMULAS, and then under CATEGORY, I click on MY FORMULAS.
Figure 45 shows a simple report I created for use with this screen. The columns are EPS%ChgPYQ, EPS%ChgTTM, and the custom formula named $EPSAccelTTM2PYQ. The report is sorted (in descending order) based on the custom formula.
Notice again the last column of the Report depicted in Figure 45. It shows the custom formula, $EPSAccelTTM2PYQ. There’s no way I could have created that column, and used it as a basis for sorting, in Portfolio123. I’d have had to download to Excel and create a new formula in a new column within the spreadsheet. On a one-off basis, that’s not a big deal. But over time, it can become burdensome. Use of Custom Formulas in this manner is a much easier way to handle it.
This capability can get quite interesting if we let our imaginations run. Consider some of the technical-analysis relationships we can create and evaluate in this manner using custom formulas.
The excess of the fifty day exponential moving average over the 200 day exponential moving average
- (EMA(50)-EMA(200)) - (EMA(50,20)-EMA(200,20))
The excess of the fifty day moving average over the 200 day moving average now versus where it was twenty trading days ago.
A true/false test that tells us whether or not the stock had a gap up of at least five percent with a 100 percent volume increase relative to the average of the last twenty days
The difference between the MACD (based on a 12 day exponential moving average minus a 26 day exponential moving average) and the MACD's nine-period exponential moving average
- Etc. etc. etc.
It's not possible to quickly scan or sort 10, 20, 50 or 100 price charts. But those interested in technical analysis can quickly scan and sort 10, 20, 50 or 100 numeric indicators. Reports like this can help us set priorities in deciding which charts we want to study up close.
A good library of Custom Formulas can do quite a lot to enhance your experience with Portfolio123.