Portfolio Design

Advanced concepts in stock investment portfolio design.  Fundamentals, technical analysis and many other related topics are discussed.

Sector Rotation And Market Timing Combined Part 2 - Custom Series Setup

Part 1 of Sector Rotation And Market Timing Combined provided an overview of the sector rotation model and new market timing indicator. Part 2 describes how to set up the nine custom series representing the Income Available to Common / Market Capitalization aggregates for the nine sectors on the Market Wheel

Stock market analysis fueled by Portfolio123.


The nine sectors are those traditionally found in market cycle / sector rotation diagrams - Discretionary, Technology, Industrials, Materials, Energy, Staples, Health Care, Utilities, and Financials. The two remaining sectors, Telecom and Real Estate, are ignored by this model. The "Market Wheel", introduced in Part 1, is repeated below as a reminder for the objective of this model.

Sector Rotation in the form of Market Wheel

The Market Wheel illustrates the dominant sector during the progression of the business cycle. Traditionally, the Staples, Health Care, Utilities, Financials, and Discretionary sectors "perform" better than the others during the soft or recessionary portion of the business cycle. However, in order to have a profitable trading model, it is necessary to rotate counter-clockwise (or rotate the sectors clockwise) the dividing line between bull and bear as shown.  Using the traditional divisions is too late to detect the transitions from bull to bear and vice versa.

This post is all about how to create the nine sector aggregate custom series. So lets get started.

First a little preparation is required. The Global Industry Classification Standard (GICS) sector codes will be needed during this exercise so they need to be readily available. The codes can be found within Portfolio123 by going to the online reference.

Selecting Portfolio123 Help Reference

Scroll down and expand where necessary until you find the Global Industry Classification.  Click on Full Description.  

Finding the Global Industry Classification System (GICS)

A separate window will pop up listing all sectors, sub-sectors, industries, and sub-industries. The sectors are highlighted in pink. The sector code is displayed at the left.  For example, the code for Consumer Discretionary is 25.

Finding the Consumer Discretionary GICS code

You can leave this window open as a reference for the remainder of this exercise, or you can write down the sector codes for eight sectors: the nine sectors listed above excluding the financial sector. For the financial sector, use the subsector codes 4010, 4020, and 4030 as shown below.  This is necessary for maintaining continuity with the pre-2016 version of GICS which had Real Estate listed as part of the finincial sector.

Subsector codes for the Financial sector

Now lets cut to the chase. From within Portfolio123, click on Custom Series from the TOOLS pull-down on the main menu.

Selecting Custom Series from the TOOLS drop-down menu

Select New  -> Custom Series.

Create a new Custom Series

Find UnivGICS(gcode,...) from the list of functions and click on ADD to insert this function into the first rule text box.

Adding the first rule: UnivGICS

The function UnivGICS provides a means for whittling the stock universe down to specific sectors, subsectors, etc. We will start by creating the Discretionary custom series, so replace the generic "gcode, gcode, gcode" with the Discretionary GICS code 25.

Now find the Universe Average (UnivCapAvg) function and add it to the second rule text box by clicking on ADD.

Adding the second rule: UnivCapAvg

The function UnivCapAvg calculates the market capitalization-weighted aggregate value for the specified stock universe, in this case stocks in the Discretionary sector. The parameters for the function UnivCapAvg are Criteria and Formula.

  • Criteria: this parameter provides a filter for what stocks will be processed.  For this application, all stocks that have a value for Income Available to Common Trailing Twelve Months (IACTTM) will be processed. Therefore, enter the text "IACTTM != NA" in place of "criteria".
  • Formula: The custom series calculates the income yield. Enter the text "100 * IACTTM / MktCap" in place of "formula".

The custom series definition is almost complete, all except for the universe definition. Select Prussell 3000 (NEW) from the pull-down as shown below. Then click on Save As to save and name the custom series.

Finishing the Custom Series definition and saving the design

Give the custom series a name, preferably a short name related in some way to Discretionary.  In the example below, the custom series is named after the SPDR Consumer Discretionary ETF symbol XLY.

Naming the Custom Series during the Save As process

The chart for the custom series has to be generated before it can be used. Click on the CHART tab to migrate to the chart screen.

Selecting the CHART tab.

Set the date range to the maximum that your membership will support.  Select Weekly for the Rebalance Frequency. The click on UPDATE.

Setting the Chart parameters

The chart should look similar to the screenshot below.

Updated chart of the sector aggregate

Click on Save in order to save the updated chart series.

Note: You must save before leaving this screen, otherwise the updated series will be lost.

That takes care of one of the nine custom series. The other eight now need to be generated. They are: Technology, Industrials, Materials, Energy, Staples, Health Care, Utilities, and Financials.

Remember that the Financial sector will use the subsector codes 4010, 4020, and 4030.Good luck and I hope you come back for Part 3, which will focus on the new market timer.