Building a Portfolio Analysis Tool with Simply Wall St’s Snowflake Widget API
The following is a guest post from Simply Wall St, an Australian-based startup backed by AWI Ventures. Simply Wall St aims to simplify investing for everyone. The most daunting aspect first-time investors face when entering the market can be choosing the most appropriate stock to buy, particularly if the user is unfamiliar with complex tables and dense financial reports. Simply Wall St addresses this by presenting stock data in a new, visual format, one that can be easily appreciated by the new investor and veterans alike. The result is the Snowflake, a graphical interpretation of live stock data, which with once glance provides insight into the most relevant aspects of the investment. Don’t forget to consume their Snowflake Widget API on Mashape!
The launch of Simply Wall St’s Snowflake Widget API allows 3rd party websites and apps to display the Simply Wall St ‘Snowflake’ and access data on its shape for any company in our database, or for a random company fitting a specific criteria.
Simply Wall St generates a ‘Snowflake’ and associated infographic daily for companies on the NYSE, Nasdaq, LSE and ASX.
The Simply Wall St ‘Snowflake’ is generated daily from 30 financial checks in 5 different core areas of a company, specifically:
- Value – value based on future cash flows and price relative to the market
- Future Performance –expected performance in the next 3 years
- Past Performance – historical performance over the past 5 years
- Health –financial health and the level of debt
- Income – the current dividend yield, its volatility and sustainability
Here’s a short video explaining the ‘Snowflake’.
Example Use Case: Portfolio Analysis
How can the API be used? Let us look at an example of a simple app to analyse a user’s existing stock portfolio.
Basic workflow of the portfolio analysis app:
- Import or allow user to enter the details of their existing portfolio;
- Present user with a visual representation of their portfolio via a grid of snowflakes and analysis of scores;
- (Optional) Provide suggestions for improvements based on their returns for each stock and the average snowflake size in their portfolio.
There are many ways to build this example app, as guidance the main components that could be used:
Stock ticker search tool
Whilst not essential (we could expect users to know the ticker symbols of their entire portfolio), this functionality helps user search for stocks via company name. One tool that can be used to provide search functionality is this.
Recording the portfolio constituents
In its simplest form this can be stored as a variable. But ideally either on the cache or on a database if users are allowed to login.
Grid of snowflakes
See the example on this page on how to display a snowflake tile. A grid can be created easily using a framework like Twitter Bootstrap or GetSkeleton.
Analysis of the total snowflake scores
Using the API you can also retrieve the actual individual axis scores that make up the snowflake. Easy to do analysis ideas could be a sum of the scores, the average or median for each axis. Taking this a step further it is possible to automatically generate sentences based on the scores, see the Simply Wall St app or @WarrenofWallSt for an example of this.
Including portfolio returns
By including portfolio returns in the app it then becomes possible to make suggestions. E.g. if the return on a stock is >5% and the snowflake is small, the app could suggest selling and vice versa. Note the snowflake is not intended for making stock recommendations!
To account for portfolio returns you can use API’s such as Yahoo Finance.