Tools for Visualizing Large Financial Time Series
Summary
The discussion compares tools for interactive charts of large market and backtest datasets, including Plotly, Highcharts, Altair Panopticon, Julia plotting libraries, and TradingView Lightweight Charts. The central practical point is that charting capacity depends on both the library and the computing environment, and that large datasets may need to be prepared again in a notebook or dashboard.
Examples include a Plotly chart with 200,000 candle bars and a report of Highcharts supporting more than three million microsecond-resolution points. Other contributors mention real-time use with a KDB database and Julia’s speed and flexible plotting backends. These are individual experiences rather than controlled comparisons; hardware, data representation, and application design affect results. The discussion does not establish one best option, and some tools are mentioned without enough detail to assess their limits or setup costs.
Key ideas
- Interactive range controls can make exploration of long financial time series easier.
- Plotly is reported to visualize 200,000 candle bars, with performance depending partly on the machine.
- Highcharts is reported in one demo to handle more than three million microsecond-resolution points.
- Julia plotting libraries offer interactive selection and multiple backends, while a KDB-connected platform is cited for real-time use.
- The examples are anecdotal and do not provide a controlled benchmark across tools.
Tags
Full text
# Looking for options to visualize large market timeseries data # Looking for options to visualize large market timeseries data I have a large dataset that includes my strategy back-test run data. The dataset columns include candle date, close price and many strategy related data. I’ve built a Mathplotlib visualization for my backtest run data. While my visualization works, working with Mathplotlib charts is tedious. I like to have something like Plotly.py’s Range Sliders shown here https://plotly.com/python/range-slider/ Before I spend time and migrate my visualization to another platform, I wanted to ask what are the efficient and productive options to visualize large timeseries market data? So far I’ve come up with the following options, but I am hoping to know if I am missing any common tool or library: - Tradingview’s Lightweight Charts - Open Source: Not sure if it can handle large datases - Plotly.py: Not sure if it can handle large datasest - Power BI Am I missing any better tool, library or option? ## Answer by Allan Xu (score 0, accepted) https://quant.stackexchange.com/a/70610 After spending sometime learning Plotly, Just wanted to share here and confirm that Plotly does an impressive job visualizing finance data. Below is an example of Plotly char visualizing 200,000 candle bars. It is work in progress (30% done) but Plotly features are promising. For larger dataset, the Pandas Datafarame should be re-populated in a Jupyter notebook or a presentable Dash UI dashboard. The power of the machine rendering the chart is a key factor for the such heavy chart. ## Answer by databento (score 2) https://quant.stackexchange.com/a/70404 I've been able to support a few demo applications with 3+ million data points in microsecond resolution on Highcharts, based around this example. ## Answer by Mayeul sgc (score 0) https://quant.stackexchange.com/a/70424 I know that in my company some of the algo traders are using Altair Panopticon to visualize real time trading data when plugged to a KDB database system. Not sure if they have a free version. ## Answer by AKdemy (score 0) https://quant.stackexchange.com/a/70435 If you like Plotly, Julia's graphing library can produce charts like this. It has the rangeslider, you can pan, box select, lasso select, all without adding much code. That's what it looks like in a Jupyter notebook: Not sure if it is of interest if you are unfamiliar with Julia, but the language does have a few good selling points though. The most notable one being speed. It is also open source. I did a speed comparison here which highlights the differences to Python. Since you asked about large data, Quantinsti has some good tests for Multiple operations on large datasets. For example, for 100 groups of ~10,000,000 rows, Python (pandas package) and R (dplyr package) resulted in an internal error and out of memory error, respectively while Julia took 2.4 seconds the first time and 1.8 seconds the second time. It is also a very well designed language that allows you to quickly deal with overflow and floating point math issues as can be seen here. There are other packages like Vegalite which are also very useful. Last but not least, you have Plots.jl with TimeSeries.jl which is very flexible itself. Plots lets you switch quickly between backends like PlotlyJs, GR,... without even changing the code. ## Answer by cdatwork (score 0) https://quant.stackexchange.com/a/78880 The cufflinks package in Python might suit this purpose well (its a wrapper around plotly). It makes it easy to produce common financial charts. Here's a article someone wrote that you might find useful: https://medium.com/geekculture/how-to-create-interactive-2d-charts-for-stock-investment-analysis-with-python-61fadeecec1c
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.