Portfolio Design

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

Stock Factor Discovery

At this stage of my development process, I want to find the best stock factors to use for the target universe (see previous post). For this purpose I have assembled a list of 107 stock factors. When I talk about "stock factors", I really mean "stock formulae" as I don't make a distinction between the two.

The 107 factors are located in a spreadsheet located here:


The spreadsheet has five worksheets and the second last sheet lists the factors. They are labeled FACT01, FACT02, FACT03, ...., FACT107. Labels in red signify that "lower is better". And labels in black signify that "higher is better".

NOTE: I have just given everyone the stock factors that I use for free. I would appreciate it if you could provide me with any additional factors that you find useful. You can use the contact form to send me any additional factors.

While I am at it, I might as well explain how the stock factor discovery process will be performed and how the spreadsheet calculates the best stock factors. I am going to test each factor individually using the screen backtester and target universe. The most recent 10 years are tested with a rebalance frequency of 3 months. This is certainly a brute force approach and is extremely time consuming but the results are worth it.

Sheet 5 (RawData)

This is where the backtester raw results are deposited, starting with the stock universe. The backtester is executed 108 times, the first time the target universe is tested as is. The backtest results are downloaded and the date plus Ret% fields are copied/pasted into factor discovery spreadsheet as shown below.

For the 2nd to 108th run, only the Ret% field is cut/pasted into the factor discovery spreadsheet.  For these runs, each stock factor is tested individually by using a ranking system with one factor only.  The screen has one Rule:  Rank>80.

This is a lot of work, isn't it?  If someone out there has the programming skills to automate this effort then I would love to hear from you. 

Sheet 2 (Rating) 

On this worksheet, the delta between each factor and the target universe as a whole is calculated for each three month period.  Then a rating is calculated for each stock factor.  The rating is essentially a crude version of the Sharpe Ratio, except it is not annualized and uses the target universe in place of the no risk return.  This sheet also determines and lists the top 25 stock factors in order of rating.





Sheet 3 (Correlation) 

This worksheet calculates the correlation between each of the 107 stock factors based on the 3 month dela returns calculated on Sheet 2.



Sheet 1 (Summary) 

The first worksheet lists the top stock factors with lower rated factors that are highly correlated to higher rated factors being "grey'ed out".  Factors below a certain rating threshold are also grey'ed out.  These thresholds are programmable.


Donation box

That's enough info for one post.  Next time I will attempt to describe the test environment, or how the tests are set up to make it easier (on me) :) 

by Steve Auger