Exploring financial data in the third dimension
With VisionInvestor we explore what data visualisation looks like in the era of spatial computing
Project overview
Technologies
- Swift Charts
- RealityKit
- SwiftUI
- Polygon API
- API Layer (Financial News)
Tools
- Xcode
- Apple Vision Pro
Key features
- Multiple windows for chart comparison
- 3D charts
- Drill into more granular data with chart annotations
- Fully accessible native charts using screen readers for the visually impaired
- Market news
Contributors
What we wanted to build
- A third era financial markets data dashboard app for a spatial computer that could be used for financial and portfolio analysis, trading, business intelligence or research.
- Look into the feasibility of building custom 3D charts
Methodology
It all started with an idea... and a grid
Most dashboards are just a collection of widgets that each display different data visuals like grids, charts, or maps, etc. This is what we had in mind for this prototype, following some other examples as inspiration.
We chose to create a financial markets dashboard because the market data is easily accessible and open source. However this tool can easily be extended to other use cases and workflows that are common within a trading or portfolio management environment. Whilst some common features of a markets dashboard are best visualised in standard 2D grids and charts, there is a lot of potential to explore other more complicated workflows such as scenario analysis or certain aspects of risk management and modelling within a spatial environment.
Apple's native Swift Charts is perfect for building good looking, highly accessible charts that work across their platforms.
Widgets as windows
Until this point the app didn't feel very spatial. A key advantage of the Vision Pro's infinite canvas is that you could use as much space as you need. With a financial markets application for example, that would mean making it resemble a trader’s Bloomberg terminal as closely as possible.
I added the ability to "pop out" widgets as windows from the main dashboard so that a user can have a holistic view of the charts showing the performance of various portfolios and assets within those portfolios, more like a trader’s desktop. This provides a highly visual and effective way to compare data.
The third spatial dimension
To add even more spatial sugar into the mix I built a custom 3D bar chart using a series of procedurally generated rectangles with the heights being relative to the respective allocations of the positions.
For now this is a fairly basic 3D chart but with visionOS 2.0 coming out in a few weeks, there are more ways to add depth to pre-existing 2D path with a new extrusion API for SwiftUI.
This would make it easier to procedurally generate custom 3D shapes on the fly including more complex ones like charts with discrete data.
The prototype
Not just for playing the markets
Power(ful) BI: for rich business intelligence
An obvious use case for this sort of thing is in Business Intelligence (BI) tools, similar to Microsoft's Power BI or Google's Looker, where having high level access to dynamically changing data is key.
Business leaders could hold spatial meetings with FaceTime and present their dashboards in a virtual space using VR.
There is a great example of what is possible shown by the Numerics app.
Financial advice
Financial advice would be a good use case for this kind of tool. Things like wealth management and mortgage advice could be more easily discussed leveraging the visuals for showing projections.
Cyber security dashboard
Like the work we did for Tesco a while ago, this kind of tool would be useful for tracking cyber security threats and overall system health across your digital resources.