6
$\begingroup$

For my recent project I am looking to build a software capable of visualizing financial charts in a dynamically and interactive matter. The workflow is as follows:

  1. I gather data from my data provider of choice (real-time, asynchronous)
  2. I do some statistical analysis of my data (mostly using R and C)
  3. From (2) I get a new bunch of different time series data that I'd like to visualize (chart) using some nice GUI/ Rendering

As you'd guess step 3 drives me nuts. I've found a bunch of nice APIs for Browser based visualization like StockChart SL or Highcharts but what I really need seems to be rare: A library for an arbitrary programming language that I can use to build a standalone application. My needs are simple: I want it to be able to interact with the chart (thus, paning and if possible zooming), to be able to update the chart dynamically as new input data arrives (async.), and to be able to add "objects" to the Charts like standard deviations or moving averages (I don't need the library for the calculations but for the drawing).

However, there is one more additional requirement: The software should come with a free license for non-commercial application as I am not willing to pay before I am perfectly comfortable with it).

Does anyone happen to know or worked with a library like this?

I hope this question complies with the rules of this site but I guess chances are that you guys have more specialized knowledge in the specific requirements I have for this library in contrast to standard plotting libs.

$\endgroup$
3
  • 1
    $\begingroup$ I use Spotfire for some exploratory analysis (it's quite intuitive, but can't do super sophisticated stuff) and also publishing interactive dashboards. Heard similar good things about Tableau. I think there are free/trial versions of these things, but not completely sure. There is an R plugin for Spotfire, but I haven't used it personally. $\endgroup$
    – quasi
    Commented Nov 15, 2013 at 21:42
  • 2
    $\begingroup$ Did you look at GoogleVis? It comes as an R package too and should be quite easy to modify although I didn't put a lot of effort into it.developers.google.com/chart/interactive/docs/gallery $\endgroup$
    – vanguard2k
    Commented Nov 18, 2013 at 7:55
  • $\begingroup$ Have you tried shiny? $\endgroup$
    – xgdgsc
    Commented Jan 14, 2015 at 9:11

5 Answers 5

1
$\begingroup$

Let me give you the perfect solution.

Use Python.

The charting, graphing and analysis can be done using the PyLab environment.

You can integrate the code into R using the package called rPython.

You can integrate it to C and many other languages.

Python also comes with infinite more features. So instead of looking for a particular library, use Python.

$\endgroup$
1
  • 1
    $\begingroup$ whoever gave me a negative score for this should argue that the solution i have given is not better than any library which satisfies all the constraints that the person has asked for. $\endgroup$
    – htrahdis
    Commented Nov 21, 2013 at 13:39
0
$\begingroup$

I see the point of your requirement that can adopt to an arbitrary language; but in my perspective mastering one UI language dedicated for your need is still useful; and it helps you to nail down to a set of APIs optimized for one language.

You might want to use languages like C# which is advanced in terms of presentation and UI experience; or Java. I doubt the performance of JavaScript-based web-UI apps if the data set is big. But web is the future of all the apps so the judgement is on your own ;)

Just a suggestion: I am a dedicated UI programmer in C# in a financial firm, currently using (or have some experience in) these APIs:

  • Infragistics: average performance for big data; relatively easy to use (not free).
  • DevExpress: slow performance for big data; very easy to use (not free either).

Cheers.

$\endgroup$
1
  • $\begingroup$ take a look at sciChart, you will be blown away. I tried your suggestions some time ago for a C# UI project and performance was abysmal for large data sets (or my development guys could not get a good handle at optimizing the library during the trial) $\endgroup$
    – Matt Wolf
    Commented Dec 23, 2013 at 15:48
0
$\begingroup$

It seems to me that JavaScript charting is becoming relatively poplar see google trends.

The main example is d3js and things that run on top of it like c3js and nvd3. I recently wrote a simple python wrapper for c3 and called it python-c3 which demonstrates how simple it is to get something up and running which does javascript plots. The source code is very small.

$\endgroup$
0
$\begingroup$

R is finally getting interactive charts, zooming and panning included.

Take a look:

http://timelyportfolio.blogspot.hk/2015/02/financial-charts-pan-and-zoom.html http://www.buildingwidgets.com/blog http://www.htmlwidgets.org/showcase_threejs.html

$\endgroup$
-1
$\begingroup$

For Windows desktop, best interactivity and performance can be achieved with LightningChart .NET Trader. It's DirectX accelerated to achieve maximum FPS and minimal lag.

See this short LightningChart Trader video

Technical indicators in LightningChart Trader

For JavaScript, web and mobile, you can consider using WebGL accelerated LightningChart JS. See this Github project.

enter image description here

I'm tech lead LightningChart.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.