Split-adjusted prices; dividend history; automatic updating

Hello all, I'm happy to present a new build for your Easter-time financial pleasure; as before, you may download it here: https://www.zygoat.ca/software/tradesy/Tradesy.zip I've been working for the past several weeks on plumbing related to price transformation in order to support conversions and caching of data representing various pricing types, in part to fix the portfolio graphs, and moreover for greater flexibility in historical analysis. Here's a blurb from Investopedia that describes the concepts at hand: https://www.investopedia.com/terms/a/adjusted_closing_price.asp Heretofore, Tradesy was always working with split-adjusted prices, because that's what the Yahoo API sends back. This was mostly fine because it meant you could look at a given stock's price graph over time and it would be coherent in respect of its value, not showing any strange spikes due to splits or consolidations. However, it was a problem when looking at portfolio returns, because the latter plotted each day's total value based on the stocks' daily closing prices -- which should have been adjusted in respect of splits, but weren't. (For example: on 13 June last year, BBD-B.TO underwent a 1:25 consolidation. The day prior I held 5000 shares at ~$1.13; afterwards I held 200 shares at ~$26.86. Because all the price data were split-adjusted and not raw market values, Tradesy's graph misrepresented the value of my holdings prior to 13 June by a factor of 25X.) Anyhow, that's all fixed now, and furthermore you can also purposefully choose to view (or not view) prices adjusted for splits and/or dividends when examining stocks' historical performance. This should also be the last build you need to download and unzip to install, because Tradesy now supports automatic updating! The next there's a new build you'll be able to update it with zero or one clicks (and it'll notify you about it, even if you stop reading this mailing list). Here's the summary of fixes and improvements in today's build: • Portfolio performance graphs now properly account for historical stock splits or consolidations. • A summary of an equity’s past splits and dividends is shown in the Overview tab. • The price adjustment for quotes and historical performance data shown in the Overview and History tabs can be chosen via a new View → Price Adjustment menu command: • As At Market: The values reflect actual raw market prices. • Adjusted for Splits: The values are adjusted in respect of splits/consolidations. (This is the default.) • Adjusted for Splits & Dividends: The values are adjusted in respect of splits/consolidations as well as dividends. • Tradesy will look periodically for updates, and can now update itself when a new version becomes available. You can check proactively with the Tradesy → Check for Updates…menu command. • Fixed a bug where the Buy/Sell submit button might be disabled when editing a transaction. • Better selection handling, drag-reordering, and undo/redo behaviour in the watchlist. • Other minor UI adjustments in the document window (search field is larger; redundant thumbnail graph is removed; a more prominent “Add to Watchlist” button is shown; untitled documents have a better name). A note about dividends shown in the overview: because Yahoo also serves these amounts as split-adjusted values, Tradesy has to back-calculate them according to splits. Since dividends are typically small amounts (often only several cents per share), these values can come in as comically-small numbers sometimes, and I'm concerned there might be risk for rounding errors. Furthermore, Yahoo seems to occasionally vend abjectly wrong data; using BBD-A.TO/BBD-B.TO again as an example, Yahoo is giving dividend prices that are off by orders of magnitude compared to other references. Please let me know if you see similar strange things that warrant investigation. Also the schema for the local cache database has changed in this build, and as such the cache will be flushed on first launch, but you shouldn't notice this at all. (If something goes awry though, let me know.) cheers, -ben

On 7 Apr 2023, at 4:54 pm, Ben Kennedy <ben@zygoat.ca> wrote:
However, it was a problem when looking at portfolio returns, because the latter plotted each day's total value based on the stocks' daily closing prices -- which should have been adjusted in respect of splits, but weren't.
Whoops, I mean "which SHOULDN'T have been adjusted in respect of splits, but were". (Since Yahoo returns "adjusted" prices, they need to be "unadjusted" to get the raw prices. Which is confusing. Anyway, you get the idea.) -b
participants (1)
-
Ben Kennedy