New Screener’s Debut

Well, it may not really be it’s debut since a good number of you have been using it for the past week, but The New Screener is now the default screener, the one you get to by clicking ‘Screener’ on the menu bar.  There will probably be a few more problems found, given that one was found this morning, but I expect they will be minor.

If you have links saved to either of the two screeners they should still work.   At some point the older version of the screener will be discontinued but we will give people plenty of time to transition over before that happens.  We’re in no hurry.

Have  a nice weekend, and if you see something that’s not working right, or just needs to be changed, let us know.

20 thoughts on “New Screener’s Debut

  1. Not sure if this is intended, but the name filter only allows a single word, e.g. ‘ishares’ works but not ‘ishares dow jones’. It gives an error “Name filter must be alpha-numeric”, whereas the previous screener would match the entire phrase.

    Another thing I noticed is that the sort arrows at the top of each column don’t work, just return an empty page. It’s not a big deal since you can just change the sort field.

    • The name field was not intended to work that way. We added a little code to close it down a bit and over-did it. Sorry, but it’s fixed now.

      The arrows are going to take a little work.

  2. I like the new screener.

    How can I use the Rsf trend or previous values? What I want to screen on are ETFs with positive changes over time.

    • Shaun,

      This is not a feature that is available in this screener. Trend would be difficult to add given our target design parameters, but referencing prior values might be achievable given the processing times what we have experienced with cross-over type models. Cross-overs are doing the same thing, referencing a ratio one day and comparing it to a ratio the previous day, and they have performed fairly well. Let us consider it, and please let us know any design considerations you are particularly looking for. – Hugh

  3. I am new to site and I am enjoying immensely. Thanks.

    When doing backtests, I have noticed an apparent inconsistency between the calculated CAGR and the graphical representations of 5-year performance.

    Sometimes, a screen with a higher CAGR will show on the graph as having a lower ending value than a screen with a lower CAGR.

    For an example, someone posted a screen today with an astonishing 86.3% CAGR. But the final value on the graph is about 3,000. The CAGR should be about 25%.

    Yet there are other screen with CAGRs in the 40s that have final values in the 5,000s.

    Is the CAGR calculation using something other than the initial and final values?

    Thanks.

    • Good perception and excellent question. The short answer to your question is yes, the CAGR calculations use somewhat different data than what is depicted in the graph. The complete answer is that the statistics are the average results from a rolling starts backtest and the graph is from the median result of those tests. This subject was briefly touched on in this blog entry, but I’ll take advantage of your question to go into more detail. The model you reference has a 5-day holding period. The rolling starts backtest would therefore produce 5 independent model runs, one starting on each of the first 5 days in our test period. In this case, the 5 models produced the following CAGR’s, starting with the model beginning day 1: -1.9%, 25.0, 17.4, 62.1, 328.8%.. The average is 86.3%, as reported. Obviously there is a lot of volatility in these returns which is why we like to present average returns from a rolling starts test than to present a single test result.

      The graph is from the median outcome, or the one producing a 25% CAGR, as you perceived.

      I don’t want to get into critiquing screens, but if you look at the rules of this screen I think one might think some amount of data-mining was going on. Sure it creates a great CAGR, but the volatility statistics imply a rough ride and the graph supports that. The inconsistencies of all the data combined should encourage one to stay far away from this model with real dollars – in this man’s opinion.

      In a less curve-fit screen the models are more closely grouped and averaging provides good results and protection from basing a decision on an outlier. With models this diverse one could consider them all outliers.

      Obvious questions: Is average the correct statistic to present? Would median be better? What about something else?

  4. Thanks so much for your detailed and clear response.

    “Obvious questions: Is average the correct statistic to present? Would median be better? What about something else?”

    My initial reaction, until I hear well-reasoned arguments from others, is that I would prefer to have the numbers match the graphs. That’s not a reason either way with respect to median or average.

    But more important than that, I would like to be given some kind of measure of the dispersion of the CAGRs.

    Now that you’ve explained the nuts and bolts a little more, I will start being more diligent in comparing the CAGR the system gives me and the implied CAGR of the graph. The more they differ, the more that I can assume that the screen I am reviewing has a wide dispersion in its performance values.

    Of course if you made either the mean alone or the average alone the determinant of both CAGR and graph, then I would not be able to do the rough calculation of dispersion that I mention above. So, again, it would be helpful if the system gave this as one of its outputs.

    Thanks again for this great tool and for taking the time to educate me about it.

  5. As a future enhancement, you may want to think about a way to show the frequency that an ETF was selected. For example, suppose I have 20 ETFs in my model and I am selecting 5 each month. It would be nice to know that ETF #17 was included in the set of 5 about 25% of the time and EFT # 4 was never used. It could help to tune the ETFs used in the model. Ideally, you could show which ETFs are used in which time period. I noticed that you are running the model multiple times, which is outstanding. I can see where this might complicate my suggestion(especially the second one).

  6. I have been working with the new screener for a few days. It is very impressive. Thanks for the hard work and for sharing it.

    I have a couple of questions to make sure that I understand how to implement the model properly. I want to make sure that I use the model in the same way that it works on the website.

    Here is an example:

    • We have 10 ETFs, call them A, B, C, D, E, F, G, H, I and S. All ETFs are long, except S, which is a Short ETF. None are leveraged.

    • We are using SMA>200 as a filter, ranked by RSf decending, monthly rebalance and 5 stocks.

    • Today, we have 7 stocks that are SMA>200. They are (1) A, (2) B, (3) C, 4(D), 5 (E), 6 (F) and (7) G. The other three (H, I, and S) are below the SMA 200 and don’t qualify. The RSf decending sort yields the same order A, B, C, D, E, F, and G. Based on RSf sorting, we select the first 5 (A, B, C, D, and E).

    • We have $100k to invest in the 5 ETFs, so each of the 5 stocks gets $20k.

    • A month later (21 bars) we are ready to rebalance. The new balance totals $101,000, broken down as follows:

    o A = $21,000
    o B = $20,000
    o C = $19,000
    o D = $18,000
    o E = $23,000

    • The market has declined in the last month and now there are only 3 stocks that have SMA>200. They are A, E, and now the short ETF, S.

    • At long last we get to my questions. (1) Since we only have 3 stocks that qualify but we are modeling 5 stocks, do we pretend that there are still 5 stocks and allocate $101,000/5 = $20,200 to each ETF, with 2 times $20,200 = $40,400 in cash? Is that the way the model that is used on the website works? (2) Does the model assume that rebalance completely, as if you had sold everything and repurchased? It does not, for example, leave $23,000 in EFT E if it is selected again? Instead, it lowers the investment to $20,200.

    Once again, thanks for creating a great model and website.

    Bob

    • Bob, Thanks for your positive comments on the new screener and we appreciate the suggestions and questions. Regarding your question #1, where there are three qualifying symbols for a five stock portfolio, the model does assume cash for the two open positions. We do not include a return on cash so this means a zero return on the two positions in cash.

      Regarding rebalancing in your question #2, the positions are assumed to be rebalanced to even, or $20,200 in your example. You will find calculations done both ways in backtesters, so it’s a very good question. It is not the way I typically trade a system like this and, therefore, not my preferred way to backtest results (but probably my most common). Design parameters pushed us to simplification for this system.

      Thanks, Hugh

      • Have you attempted to run the model using a daily rebalance instead of the current minimum of 5 days? I am curious if the results would be better or worse. A daily model certainly would be more difficult to manage in real life, but does it produce a better result?

  7. I have been running a number of tests and tuning my model. I would like to share some of my work and gather feedback. Is this the correct place to post these results or is there another blog somewhere else?

    • bbrown302,

      I would like to share models and ideas as well. Please post and we can try to refine them.

      I would be happy to show you the models that I am using. I just started trading real money using mine.

  8. H, What are the screeners buy/sell parameters, (e.g., sell close day 1 – buy open day 2), sorry if this was previously explained mentioned.

  9. I have made a couple of hundred runs of the screener in the last month or so. It is an excellent tool. I also developed my own version in Excel because I wanted to test daily balancing.

    My current model contains 36 funds and invests in up to 10 at a time with a 5 day rebalance period. Here the current results: CAGR 26.8, Std Dev 19.6, Ulcer 6.3, and Exposure 82.6. The green screener chart peaks at about 3300. The time period for this result was 4/17/2006 through 4/15/2011. I added 5 funds this week to add a little more diversity. This change dropped the CAGR down from 28.0 and increased the Ulcer up from 5.8, but I thought it was important. The maximum drawdown is about 10%.

    Here is how I developed the model.

    (1) I did a large number of runs to try to develop a model that would work for a variety of funds. I found the Price > SMA 100 and Price > 50 SMA 50 worked well with the selection criteria being RSf descending. You can see why this works be looking at a stock chart. The model gets out of funds quickly when the market turns down, but also gets in relatedly fast.

    (2) I wanted to use 10 funds to add a bit of stability and diversity. I found that I needed to limit the total number of funds in the model to about 30. The model will drop funds when the market goes down and funds fall below the SMA thresholds. For example, if only 5 funds meet the selection criteria, the model will be 50% cash. In my Excel testing, I found that the model dropped from 10 funds down to 0 really fast in the 2008 crash. The model dropped down to 3 funds during the 2010 market correction. During each drawdown, the model would move to cash. This is why you need to limit the funds. If you have a large number of funds (>30), the model does not move to cash quickly enough.

    (3) I tried to select about 30 funds from a variety of sectors. My thinking was that I did not want a single sector to dominate the model. I tried to limit each sector to no more than 3 or 4 funds. Some of the sectors that I used are large cap, mid cap, small cap, metals, materials, currency, international, real estate, etc. Within each sector, I screened out smaller funds (<$5 million per day). I then ran each fund through the model (described above) one by one and compared the charts in that sector. I looked for funds that worked well during different time periods. I found that in some cases the funds in a given sector were nearly identical, for example large caps. I picked a couple of funds even though their results were nearly identical. This just gives this sector a better chance of being selected in the group of 10.

    (4) I then ran the entire group of funds together and was very pleased with the initial results. I then went through and ran the model repeatedly, deleted each fund one by one and looked to see the impact of that fund on the overall results. I used this to tune the model.

    (5) I experimented with different ranking schemes and found that the RSf is very hard to beat. In my Excel model I tried a variety of slopes and other exotic approaches. I did find one criteria that works a little better than the RSf, but I will save that discussion for another day.

    Here are a couple of things that I learned along the way.

    (1) Most models do not show significant difference from SPY in 2006 – 2007. The reason is because most funds were not launched at that time. As a result, you have few funds for the model to pick from. It is hard to beat the SPY when all you have is the DIA, QQQ, and SPY to pick from.

    (2) The screener chart can be a bit deceiving when you look at recent results. My model looked like it was really outperforming the SPY in 2010, but in reality it was beating the market but not by as much as it appears. The base was much higher at 2200 (model) vs. 750 (SPY), so the same percentage makes the lines appear to diverge. I found this out when I started charting my Excel results. As an enhancement to the website, I suggest showing 5 annual charts in addition to the five year chart.

    (3) Don’t bother with inverse or leverage funds. I found that they move took quickly. We saw a good example of that this week. The market was down sharply one day and back up the next. You can understand why they don’t work by looking at the inverse fund charts. Look at the SMA 50 and SMA 100 crossings. They just don’t work well.

    (4) Daily rebalancing is challenging. I run the screener from the website about 30 minutes before the close and place orders to transact “Market on Close” (this is why the funds had to have high volume in my initial criteria). At first I was doing strict daily rebalancing, but there were too many transactions. I am now holding the fund until it falls out of the top 15.

    I paper traded my model for about two weeks and was earning about 0.50% to 0.75% per day. I started real trading on April 4 and did pretty well and then got my butt kicked this week. The model had moved aggressively into energy and metals. After two weeks, I am down about 2%. As you might expect, the high fliers get hit the hardest when the market turns. It was interesting, however, to see that funds quickly dropped below the SMA 50 and became ineligible for selection. The first week about 25 out of 30 funds were eligible, but when the market started to fall and the eligible list fell to about 15. The model would have started to move to cash had the fall continued. This week I saw the model rotate out of energy and into international. This was due in part to a weakening dollar. The funds that I added to the model were currency funds. I also added some biotech funds. Biotech is doing quite well at the moment. They were not in the initial model because they did not perform well in the past. I added them, however, for diversification. I am also a bit concerned that my model may be tuned to the past a bit more that what I would like. I run my model against the full set of funds periodically to see if any particular sector or funds in getting hot.

    Here are today’s picks using my ranking scheme: SLV (Silver), REMX (rare earth), EPOL (Poland), TUR (Turkey), THD (Thailand), IBB (Biotech), IDX (Indonesia), USO (Oil), BRF (Brazil), EWA (Australia). Looking at this makes me wonder if I have too many international funds. I added TUR, EPOL and IDX this week. I guess I will find out soon this was a bad decision.

    If the model was using RSf for selections, the ranking would be: SLV (Silver), XOP (Oil), IEZ (Oil), REMX (rare earth), THD (Thailand), DBC (Commodities), CU (Copper), EPOL (Poland), KOL (Coal), VBK (Small Cap). (I guess I just told you a good bit about the funds that I am using.)

    I would be interested to hear what other people are learning. It would be nice if we had a separate blog section to discuss results. I can be reached at bbrown302 @ yahoo.com if someone would like to discuss off line.

    Happy Modeling – Bob Brown

  10. Hi Hugh:

    Very good web site. I just signed up and try to use the screener. I created a protfolio using a name with ‘ in it, like “jack’s” portfolio. I can pick it from the screener. I run it the first time it worked fine. But if you try to run it again, it gives you an error. I think when you try to excape the ‘ with \’, you need to strip it when you display it on the screen. Because the next time “\\\'” caused an error.

    Thanks

    Dick

    • Hello Dick,

      Glad you like the site. I was able to duplicate your error and will have it fixed as soon as possible. In the mean time, you can scroll down the drop-down list to where Jack’s portfolio is listed and select it from there. I tried this with a portfolio I just created and it works.

      Thanks for letting us know about the problem, Hugh

      • Hi Hugh:

        Another problem related to the name contains ‘. I try to edit Jack’s portfolio, the save will not succeed. I try it a couple of hours ago, the web page will time out. I just try it again, it will redisplay the edit page but the changes I made is not reflected in the display.

        Thanks

        Dick

  11. Mr. Todd,
    I am so grateful for all the work you have done in putting this site together. I’ve been using the screen somewhat obsessively, but I want to be able to get results using the parameters that I’ve entered that give reliable past returns using many different sets of funds. Though I’m somewhat of a novice I have an analytical bent and am good with numbers both in concrete and intuitive ways, thanks to my creator. Though many funds didn’t begin until the last five years I’d like to be able to back test the older funds back through 10 years. Is there a free site where I can do this? And if not, what paid sites would you recommend? (Tradestation seems a bit pricey for my purposes, but I’m willing to utilize them if I need to.) My parents and I currently have funds invested based on a screen (from your site) that I’ve run on a broadly diversified set of 40 etfs, including 4 short etfs, but no leverage. I’ve found with the parameters I’ve used including short funds actually improves returns and reduces the ulcer index. I’ve come to rely on this site. Pardon my curiousity, and I don’t intend to be morbid, but do you have someone to continue your work should anything occur which makes it impossible for you to continue? I think this site is invaluable, I’m more than slightly addicted to it, and want it to exist forever!
    Becca

    • Becca, Thanks for the kind words and I’m glad you find the site useful. The screener was not intended to be addictive, but you are not the first to admit to an obsessive use of it. I understand your desire to test some screens over an extended duration. It is always best to utilize as much data as possible for your testing purposes. The current screener was limited to five years for primarily performance reasons. We have received several requests to extend that period and are looking at options in that area. I wish I could refer you to another site today where you could test portfolios of funds, but I don’t know of one to refer you to.

      As for continuation planning, that’s something we rarely do enough of.

      Hugh

Leave a Reply

Your email address will not be published. Required fields are marked *