Fill forward vs fill Backward for Data within Charts
This feedback comes from Gary Smart at Freestone. Currently they have 5 users for $6k but they are a huge firm with big upsell potential. Gary has also been in the industry a while, has a ton of experience using different platforms, and is quick to share feedback. Dave was working with him to expand the relationship and the below feedback is one item that surfaced as an issue for him
"Another annoying data issue which I had pointed out before and was hopeful for a systemic change.
Y Charts is backfilling close prices from the next active trading day to previous non-trading days rather than bringing forward prior close prices. This forces charts to be run on a “last-trading-day” to “last-trading-day” basis which creates confusion when the time period starts on a weekend or a holiday. Industry norm is to be able to run reports from a month end or year-end without having to consider if the year-end/month-end fell on a weekend or holiday. The Y Charts methodology generates erroneous data when run on a weekend/holiday using a typical year-end/month-end basis.
For example, at the end of this year, the last trading day was Friday 12/30/16. The first trading day of the next year was Tuesday 1/3/17. Y Charts is taking the prices from 1/3/17 and populating 12/31/16 with those prices. When I run a chart from 12/31/16 I get bad output:
Incorrect data as of 12/31/16 (uses 1/3/17 closing prices):
Correct data as of 12/30/16 (uses 12/31/16 closing prices):
Would strongly recommend that the Y Chart methodology be changed to be more consistent with industry norms and practices. Otherwise, confusion and frustration among users will inevitably arise on an ongoing basis."
I definitely understand the issue... But need more details... Is the expectation that when you set 12/31/15 as your start date we find the first day of data before that date as the "real" start date?
Or is he talking about a specific pre-set chart somewhere in our quote pages that shows this behavior?
I definitely understand the issue... But need more details... Is the expectation that when you set 12/31/15 as your start date we find the first day of data before that date as the "real" start date?
Or is he talking about a specific pre-set chart somewhere in our quote pages that shows this behavior?
Yes, the expectation is that when you use 12/31/16 as your start date we pull the first day of data before it. He's using the fundamental chart, not any of the pre-set charts.
I think the easiest way to break it down would be by looking at custom return period from the end of last year. I believe naturally most people would select 12/31/16 as the start date. Since 12/31 wasn't a trading day, the close price from the last trading day of the year (12/30/16) should be used. Instead, we look forward to the next trading day, which was 1/3/17 and results in incorrect returns data. I've had a handful of clients contact me with issues or confusion with the logic. My advice to them was to simply use 12/30 as the start date.
Yes, the expectation is that when you use 12/31/16 as your start date we pull the first day of data before it. He's using the fundamental chart, not any of the pre-set charts.
I think the easiest way to break it down would be by looking at custom return period from the end of last year. I believe naturally most people would select 12/31/16 as the start date. Since 12/31 wasn't a trading day, the close price from the last trading day of the year (12/30/16) should be used. Instead, we look forward to the next trading day, which was 1/3/17 and results in incorrect returns data. I've had a handful of clients contact me with issues or confusion with the logic. My advice to them was to simply use 12/30 as the start date.
Yeah i get his point that you should have to know the last trading day of the year .... it gets complicated though when you are using multiple securities and technically they could have different last trading days since they trade on different markets...
Yeah i get his point that you should have to know the last trading day of the year .... it gets complicated though when you are using multiple securities and technically they could have different last trading days since they trade on different markets...
From Franklin Pang - Dowling and Yahnke - Deal size $16,500
Hi Kyle,
Hope all is well. Just had a piece of feedback that I think is quite important. For the price chart online, you guys really need to change the dating convention where it rolls forward instead of backwards if the date falls on a weekend. For example, 12/31/2016 was a Saturday. So if you type in 12/31/16 to 1/31/17, the program will give you the return from 1/2/17 – 1/31/17. Nobody in this industry would expect this kind of behavior. They would expect 12/30/16 – 1/31/17. Can you please take this up with your developers? Thank you.
Best,
Franklin
From Franklin Pang - Dowling and Yahnke - Deal size $16,500
Hi Kyle,
Hope all is well. Just had a piece of feedback that I think is quite important. For the price chart online, you guys really need to change the dating convention where it rolls forward instead of backwards if the date falls on a weekend. For example, 12/31/2016 was a Saturday. So if you type in 12/31/16 to 1/31/17, the program will give you the return from 1/2/17 – 1/31/17. Nobody in this industry would expect this kind of behavior. They would expect 12/30/16 – 1/31/17. Can you please take this up with your developers? Thank you.
Best,
Franklin
From Robb Peterson - Peterson Investment Management - 1 seat pro
I wanted to alert you to an observation and suggest that you consider a change. In checking the quarterly benchmark returns, as computed by our portfolio management system (Schwab's PortfolioCenter), I noticed that your system uses the next business day's data, rather than the convention of prior business day, when the specified date is a non-trading date. For example, search for security ^SPXTR, select Fundamental Chart, Date Range: 12/31/2016 to 03/31/2017, Data Format: Normalized (% Change). You'd expect it to give you the % return for the index for Q1:2016. Wrong. Because 12/31/2016 was not a trading day, the calculation is performed from the next trading day, 01/03/2017. You get an incorrect total return of 4.97%. To get the true quarterly return, you have to be aware that 12/31/2016 can't be selected and that you have to select the last trade date of the year, 12/30/2016. Because the convention is to measure performance from last calendar day of a month or quarter to last calendar day, you should look back (not forward) for the last closing data. Schwab's PortfolioCenter (used by more advisers than any other system) uses this AIMR-compliant methodology. I suggest that YCharts adopts the same convention. What do you think?
From Robb Peterson - Peterson Investment Management - 1 seat pro
I wanted to alert you to an observation and suggest that you consider a change. In checking the quarterly benchmark returns, as computed by our portfolio management system (Schwab's PortfolioCenter), I noticed that your system uses the next business day's data, rather than the convention of prior business day, when the specified date is a non-trading date. For example, search for security ^SPXTR, select Fundamental Chart, Date Range: 12/31/2016 to 03/31/2017, Data Format: Normalized (% Change). You'd expect it to give you the % return for the index for Q1:2016. Wrong. Because 12/31/2016 was not a trading day, the calculation is performed from the next trading day, 01/03/2017. You get an incorrect total return of 4.97%. To get the true quarterly return, you have to be aware that 12/31/2016 can't be selected and that you have to select the last trade date of the year, 12/30/2016. Because the convention is to measure performance from last calendar day of a month or quarter to last calendar day, you should look back (not forward) for the last closing data. Schwab's PortfolioCenter (used by more advisers than any other system) uses this AIMR-compliant methodology. I suggest that YCharts adopts the same convention. What do you think?
Replies have been locked on this page!