Hi guys, on my plan to diversify my freelance activities I had since some time in mind to start winning some experience in the Power Platform, sadly the Dynamics 365 Finance/SCM market here in Germany and everywhere else is so strong that I did not have time to focus on this till early this year 2021. So after the acquisition of the books Pro Microsoft Power Platform and Microsoft Power Platform Enterprise Architecture and some lecture, I could make a reality this new year engagement through the development of a real scenario App that could motivate me to learn more and more, serve as showcase for customers and leads and make some money on the way. Let me present you the Power Apps Finance App!
The case of this application should be similar to the one that multiple customers worldwide would have in order to create their own Power Apps. In my case, I have since years used an Excel file in order to manage my list of favourite stocks.
In this list I notated till 100 interesting stocks and I dedicated some hours each weekend in order to update their information like prices, dividends and classification points. Information that would allow me to focus on good opportunities. The work of updating prices was quite hand-work intensive as I needed to use several sources of information like Finanzen.net, Yahoo Finance or Microsoft Finance App. So the wish of automate this work was always on my mind.
Before Power Apps became a Low Code mainstream alternative, I was thinking about developing with .NET , even some small Cloud apps using available and affordable finance APIs. Lack of time made this a not started project.
And then came Power Apps!
So as mentioned, this year I promised myself to spend some time and money on building my Power Platform practise, which in the long time would allow me to participate is some of the lucrative big projects that are now offered for contractors, and after some tests with a small Canvas App I inmediately saw that Power Apps was really what I needed to agilize my stock investment processes and at the same time learn quick about the Power App platform.
The actual result is a complete Power Platform solution for managing stocks, based on Microsoft Dataverse as database technology, Power Apps Model-driven as main desktop App, Power Apps Canvas as App on the go, Power Automate as automation engine and several finance and news APIs that provide information to the App.
The Power App Model-driven App
The Model-driven App is the main App of the solution. It is based on the same framework that use Microsoft Applications like Dynamics 365 Sales or Field Services.
In the current version it allows to create, edit and visualize a list of stocks, their prices, related news and create tasks associated with each of the stocks. As you can see in the video, the stocks can be visualized in different views, all the active stocks, stocks in portfolio, cyclical stocks and dividend stocks. In each view relevant fields are show on the list view.
When you click on one of the stocks you can see all the managed information for that stock like basic stock official information, stock exchange where it is traded as their symbols, prices information, price levels where the stock would be interesting to acquire and a small price graph on the last weeks that serve as orientation of the current price trend.
Together with the price levels buy and sell and the points field, in the future the application would be in the situation to update automatically the action field (observe, maintain, buy and sell).
From where come the prices?
For my purposes, around 100 stocks prices updated every morning, was enough to acquire a basic license at Marketstack API, although till a determined limit you can also use it for free. I am using the API from now around 3 weeks and it works very nice without any major incident and you have access to almost all the stocks worlwide but also some other instruments like ETFs.
Prices are automatically downloaded with the help of Power Automate every morning at 8:00am.
Here the strategy that I follow is to configure each stock with a Stock Exchange and the Microsoft Flow will loop through all the configured stocks, making a request to Marketstack API, which will respond with a JSON with the price data of that stock in the last few days.
I analyse that JSON, and I update the Stock Prices table in Dataverse. The Stock Prices table is related with the Stocks table so it is very easy to get a relation later in the App.
Another Flow executes after the main prices Flow, just to update the stocks with the last price available.
Wait, we have also News!
Also with the help of Power Automate and some News API the App is able to provide actual news about the different stocks that could be relevant for investment decisions. Last news are downloaded, like the prices, every morning. See a video below for the user experience.
Good stuff! Lets make money with it!
Final objective of the App is to provide good insights into the selected stocks that generate reliable and quick investment or desinvestment decisions. For this I have used the standard Dataverse table Tasks that you will also find in Microsoft Applications like Dynamics 365 Sales. The difference is these Tasks are not related to customers, prospects or opportunities but Stocks.
Here I reveal some real decisions that I have planned for next week like to invest in National Grid, acquire more Ebro Foods shares if they fall below 17€, Buy Fresnillo and follow up the Nordex company debt which looks very interesting.
The Canvas App - Finance App on the go!
The Canvas Apps was very all the idea started and for now is quite simple and useful, in future releases it will be improved. Accessing the same information available in Dataverse you can follow your favourite stocks meanwhile you are on the go with a design perfect for mobile devices.
Virtual Asistent!
In current release, with the help of Power Automate, the solution send me every morning at 09:00am two emails. One with the list of stocks to sell or partially sell, and another with a list of stocks that I should acquire as they have become cheaper. I have tested this information for a week and it works very nice.
Future improvements
This is a project in on going that will be used to showcase new usefull features provided by the Power Platform. Between the planned features that will be implemented and detailed later on my site d365free.com are the following:
- Notifications in the Power Apps Canvas App.
- Integrate with Power BI to create an usefull Dashboard.
- Use Model-driven Workflows in the process of selecting a stock as candidate the the list of active stocks.
- Improve the Canvas App with more functions than listing the stocks.
- Update prices of a simple stock by demand maybe with a Power Automate button.
- Integrate with a Dividends API in order to get Dividends information automatically.
- Create algorithm in order to calculate the points that each stock deserves based on diferent paramenters.
- Improve the buy/sell decision based in points, buy/sell levels and some market sentiment.
- Incorporate some AI experiments.
As you see, there is still some nice features to be done but for sure I will keep you informed. Welcome to the new era of investment with the help of Power Apps!