New Screener Features

This post introduces three new features for the screener:

  1. Hold Thru Rank Option
  2. Access to Previous Values
  3. Improved Error Detection

Hold Thru Rank is the ability to not sell a position in a backtest until it drops below a given screen rank.  For example, let’s say you develop a model to hold 3 positions.  That model will, by default, sell a position when it drops to position number 4.  Let us assume you want to reduce turnover and are satisfied that there is insignificant difference in position 3 and positions 4 and 5.  You might enter a Hold Thru Rank value of 5 to model this.  Here is a model where I did just that.

HTR entry imageThe Hold Thru Rank is entered just below the number of positions in the Backtest Entry Form.  I should note this is a Premium Access feature due to the additional processing required.

Accessing Previous Field Values is a potentially exciting addition to our screening parameters.  This allows for the testing of rising and falling RSf values, or rising and falling Moving Averages.  Many of you have requested the ability to test for rising RSf values, and this capability was added to the Price Alerts feature some time ago. It is now possible to test this setup within the screener.  Access to previous values is through the function PREVAL ( field, days ), where field is the database field such as [RSf] or [SMA-50], and days is the number of market days prior to the current date.  For example, PREVAL([RSf], 5) would return the value of RSf from 5 market days earlier.

In addition to a single field, you can also include a formula of multiple fields within this function, such as PREVAL([Rtn-1mo] + [Rtn-3mo] + [Rtn-6mo]), 10).  This would return the sum of those three values from 10 days prior.

So how is this used within the screen entry form?  While it can be used directly in a filter rule, my preference is to use it in a User Defined Variable, because the value of all UV’s are shown when you view a Current Screen Picks page.  In this example below, I define a UV called _preRSf to be the RSf value from 5-days prior.  This is a nice simple definition,  UV entry

and when the Current Picks page is viewed the previous RSf values are shown.  My goal in this screen was to view funds where the RSf value had risen by 5 points over the past 5 days.  In addition to this UV I need a filter such as [RSf] – [_preRSf] > 5, as shown here.    Unfortunately, all of the text is not visible in the first entry box, but it is [RSf] – [_preRSf].

This screen, which is also limited to World Sector Funds, can be viewed here, and as of this writing the results look like this:

Remember this is not just limited to RSf.  We could just as well be screening for funds where the 3-month return today is greater than the 3-month return one month ago, or funds where price is above some MA, but closer to the MA than it was a week ago.  Let your imagination run, but you will have to be a Premium Access user because this takes serious processing.

This is the first function we have tried to add to our backtester since moving to new server hardware a few months ago.  What other capabilities would you like to see added.  We have considered a Percentile Rank function that would allow us to have RSf like numbers based on any field or fields in the database.  Please let us know your thoughts.

We have also made some improvements in Error Detection on the Screen Entry Form.   Some of you may have noticed this recently in the UV section of the form, but we have now broadened it to the filter sections as well.  I mention it here because it is possible we could be preventing a perfectly legitimate entry, and if you believe that is the case then we need to know about it.  We have increased our monitoring of system errors recently and made several changes to improve entries, validate entries, and restate some vague error messages that were being sent back.  This is all in an effort to improve the user friendliness of the site and decrease the frustration level some users have been experiencing.  Rest assured we are not through with this process and would appreciate your input into improvements you would like to see made.

19 thoughts on “New Screener Features

  1. Two valuable (and interesting!) upgrades, for sure.

    Always appreciative of the hard work and the great site.

    Baltassar

  2. I agree with Ashok. Stop loss is a “real-life” tool of many traders and so it would be nice also here. It could for example work so that if “stop loss” (-10%) comes true, you would have that part as cash until the beginning of next cycle.
    Also agree with Baltassar, great site!
    Seb

    • Percentage based stop loss modeling may be added to the site at some point in the future, but not in the short term for a couple of reasons. First, it is technically difficult to add given the basic assumptions of our system. Second, such models have had a poor performance record in the backtests I have seen, particularly when funds are not immediately rolled into new positions.
      – Hugh

  3. Is it possible to change the holding period to two months or six months, in addition to the one and three months periods we already have?

  4. Hugh, I have a doubt. When backtesting, does the CAGR means total return, including dividends or it is only the asset price difference without dividends?

      • The CAGR includes price change and distributions (including dividends).

        By ETF maintenace fees I assume you are referring to the managament fees the issuer takes. These fees should be properly considered by the market prices and therefore would be included in our calculations in an indirect manner. If you are referring to fees charged by a broker or other third party, then these fees would not be included.
        – Hugh

  5. Several questions, Hugh:

    1- I noticed you can backtest with EMAs but you cannot set up alerts for them, only for SMAs. Can you please fix this?

    2- I understand when you have a list of ETFs with a filter but there is only a partial fill (for example, I choose to sort 2 ETFs from 5 on the portfolio, but the filters only pick one) the rest of the money is on cash, according to the backtest results. Is that true?

    3- When would it be possible to have more flexibility regarding the ETFs to choose from a list? For example, right now I can only pick 1 to 5 and then 10. I would like to be able to pick 7, for example.

    4- It would be nice to be able to give different weights to the ETFs picked from one list. For example, if I have VXX and SVXY I would like to choose both but give twice as much cash to SVXY. When would it be possible?

    5- And last, for the time being. Is there a forum where we users can comment about the site, backtesting and support queries? I am unable to find it.

    • Hugh, could you please answer these questions? Maybe I’ve missed something, but I don’t think I received an answer.

      One additional question: is there any way we can backtest going short as well as long? If not, when will it be available?

      • Sorry, I remember the question coming in and thought I had answered it, but apparently not or didn’t hit the post button.

        1. EMA’s should be easy to add to the Alerts Feature. It is on the list.

        2. You are correct, when fewer than the maximum positions are filled, the unfilled positions are held as cash with zero return.

        3. On specifying holdings between 5 and 10, that is easy enough to support. We had chosen not to in the beginning to focus attention on the major models. Let us consider that.

        4. Regarding the ability to apply more cash to SVXY than to VXX, I don’t see a clear way to support that within our framework.

        5. Currently we have no forum support. This has been suggested before and, although I am not convinced it will find significant usage, is probably something we should try.

        6. On modeling short positions, I need to look into that. I don’t believe it would be a difficult change and could provide some interesting results.

        Sorry for the delayed reply.. – Hugh

        • Hi, Hugh, any further news regarding the questions above? Will some of the suggestions be available on the site shortly? If so, when do you expect them to be?

          Further suggestions:

          – Making maximum the rebalancing period longer than 3 months (up to one year).
          – Calculating Total Return on periods longer than one year (up to 3 years).

          The site is good and I like it, but it would be helpful having more options developed to avoid the risk of letting the backtester go stale. Please, Hugh, let us know what you are planning to implement and when, if possible.

          Regards,

          Francisco.

          • We have several additions to roll out soon and a good number on our list. I’m not sure which of your requests will be in the first batch, but should be some. We should know more next week. One major enhancement has been difficult to get nailed down due to performance issues, but I think we are about to reach an acceptable level. If so, we should be rolling some features out soon.

            Given our screening algorithms I’m not sure holding periods beyond 3 months is really applicable.

            Return data for 3 years is on our list along with some additional risk measures and hopefully a shorter term RS measure.

            If anyone has a data field they would like to see added please speak up.

            – Hugh

          • Thank you, Hugh. If you don’t tell us, it is impossible for us to know how much better you are making the site. It is good to know there will be improvements soon.

            Regarding the new data fields, would it be possible to have some fundamental data, such as the CAPE value and maximum, minimum and average CAPE for the last 10 years? More useful performance data fields could be the máximum drawdown and the Sharpe and Sortino ratios, if possible.

  6. Great improvement!

    I have a question on the screener. My screener hold two positions with monthly holding. If one or two holding positions change, does the screener balance the value of the two positions for each new holdings? For instance, my original $10,000 invested in two positions increase value to $12,000, which include $8,000 for position A and $4,000 for position B. In the coming month, the screener has one or two new ETFs in the current holdings. It is (JNK and TLH) rather than (JNK and BND). I assume the screener to put $6,000 on each of the new positions. Will it be the case?

      • Is it possible to keep the holding position with the same value? In the previous example, the screener will not change value of the holding JNK. This will be a bit practical in real trading. If the value of one position increase only 5% for $10,000, the benefit of balancing will diminish with trading cost of $10/transaction.

        The related discussion, it may be good to allow inputting trading cost. Say $10/trade. This will provide better decision for trader with only $10,000 or less.

Leave a Reply

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