New Members: Be sure to confirm your email address by clicking on the link that was sent to your email inbox. You will not be able to post messages until you click that link.

simple scan for etfs with annual returns over 5%

I'm trying to build a simple scan for etfs with annual returns over 5%.
Can I assume that "yield" would NOT be the correct Ticket Property since it is only for annual dividend yield?
Is there a ticket property for annual return that i can use in a scan?
what would the script look like?


  • Options
    markdmarkd mod
    edited April 17
    I don't see an entry for annual return in the Ticker Properties drop down.

    It's a fairly complicated formula (see this link)

    and I don't think the scan language designed to do that kind of calculation. Also, you would need historical data on dividends, not just the current dividend. I'm pretty sure the Stockcharts database only keeps the most recent dividend.

    The finviz screener lets you screen for ETF annual return.

    There may be other ETF-specific sites, too.
  • Options
    i didnt see an entry under Ticker Properties also...
    the data point i'm looking for is the 1 Year Performance that shows up under "Performance" view when looking at a "Chartlist".
  • Options
    lmkwinlmkwin ✭✭
    Under the Technical Indicators dropdown you have a few options to use perhaps.

    PctChange defaults into the workbench like this:

    and [PctChange(10,close) > 10]

    It's asking for the Percentage change on the screen security to be greater than 10% from 10 closes ago. You can modify all three values, the period and the property to use and the percentage required.

    PctDiff defaults into the workbench like this:

    and [PctDiff(close,sma(50,close)) < 5]

    It allows the comparison of two things on a percentage basis. The default is asking for the percentage difference between the close and the SMA 50 of the close, to be less than 5 percent apart. You can modify all the parts on this as well.

    There is also the ROC or Rate of Change, further down the Technical Indicators dropdown.

    ROC defaults into the workbench like this:

    and [ROC(12) > 0.0]

    It's asking for the difference between the current close minus the close 12 periods ago to be greater than 0 in value. ROC is expressed as a percentage.

    So you have the option to use any of these to get 1 year return values.

    To get the values to show in a scan results, you would need to use one as a Rank By statement.

    So as you are only looking at ETFs, your 1 year return scan may look like:

    // only ETFs
    [group is ETF]

    // To limit the results and filter out ones that haven't been around for the period
    and [PctChange(251,close) > 5]

    // puts the results in descending PctChange order
    Rank By [PctChange(251,close)]

    This results in ETFs from ALL available exchanges showing. You can limit the exchanges to use using the Ticker Properties dropdown. You could also limit even more, like to a particular ETF provider, using the Name filter in the Ticker Properties dropdown. Put your Ticker properties restriction at the top lines in the scan.

    Defaults on some of the Ticker Property options:
    and [exchange is NYSE]
    and [region is NorthAmerica]
    and [country is US]
    and [name contains 'DOW']
  • Options
    perfect, thank you!
Sign In or Register to comment.