I've scraped a set of data, and I was wandering what the best way to start analyzing it was. My initial thoughts were to use a multi y axis graph, like this:


The reason I was thinking about a multi axis graph was because if they were using the same axis some of the data would be way overstretched for the axis. That is, some of the data sets are 10-100 others are 10,000-100,000, but I wasn't sure if this is best suited.

I'm comparing tweet sentiment of a particular stock, to the performance of that stock, I've got up to 7 data sets to compare -

  • tweet volume
  • sentiment-pos
  • sentiment-nue
  • sentiment-neg
  • stock trade volume
  • stock buy price
  • stock sell price

Any idea of the best way to visualize this, is to allow me to view patterns and correlations?

Also is this usually done on a chart or can it be done by running VBA or other scripting language to find correlations in the data?

  • 4
    $\begingroup$ @Bitwise We welcome questions here that ask for creative methods to visualize and analyze data. This one doesn't sound like it's just looking for some canned code. $\endgroup$
    – whuber
    Commented Jun 19, 2013 at 22:09
  • 1
    $\begingroup$ @whuber Ok sorry. I thought the question is mostly about how to implement this kind of overlayed plot. Reading through it again I believe you are right. $\endgroup$
    – Bitwise
    Commented Jun 20, 2013 at 0:59
  • 1
    $\begingroup$ @bitwise - Just to clarify, im just trying to work out the best way to visulise the data so i can see if there are any correlations between the sentiment and stock price / volume, my initial thoughts were to use the above line chart and try and see a pattern visulay. But if theres a more scientific or automated way to try a see correlations im open to that aswell. $\endgroup$
    – sam
    Commented Jun 20, 2013 at 9:46
  • $\begingroup$ I would plot in dimensionless coordinates. For each series, subtract the min, then divide by the range of that series. When you plot it, they will all range from 0 (minimum) to 1 (maximum). When comparing a number of items, a radar or polar plot can be more informative. You might consider one of those. $\endgroup$ Commented Aug 20, 2013 at 19:22

1 Answer 1


Your 7 data sets fall naturally into 3 distinct groups: {tweet vol, sentiment+, sentiment_neut, sentiment-}, {stock_vol}, {stock_buy, stock_sell} and, as you want to evaluate stock performance, this means you do need stock price vs. time. However stock buy price & stock sell price differ only by the bid-ask spread which is usually very small for stocks that trade with significant volume. If you use last-traded price, which is usually be the average of the buy & sell prices and if you are mainly interested in day-to-day changes then you can use % change in price = 100.0*(last traded price / yesterday's price -1.0) to remove the problem of differing price scales for each particular stock that you are looking at. You can also do the same with % stock trading volume change from day-to-day. If you are intending to use this to assist you in actual stock trading, then what you need to see is stock price starting to rise on rising stock volume. You might like to consider displaying the correlation coefficient between the net positive social media data (indicators) and price. If you do plan to start stock trading then try reading some of the excellent books on the topic by Van Tharp to help you avoid losing money while you build up your trading experience.


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.