Group 4 DesignBuilt

From Visual Analytics and Applications
Revision as of 12:02, 30 November 2017 by Hontak.yau.2017 (talk | contribs)
Jump to navigation Jump to search

Bitcoin.png Group 4 Project - A Tale of Bitcoin

Overview

Data Prep

Design & Built

Report

Poster

R Application

 


R Technology

We will be employing R to build an application to perform the necessary analytics.

R library packages used:

  1. Dplyr
  2. Prophet
  3. Shiny
  4. Tidyverse
  5. Lubridate
  6. Ggplot2
  7. Data.table
  8. Tibbletime
  9. Tidyquant
  10. Stringr
  11. KableExtra
  12. highcharter

Application Built and Design

The built was conceptualised around the idea on how to communicate our 2 motivations mentioned earlier in this paper. (Price patterns and trends and comparative returns)

We find the following visualisation useful to assist with our analytics

1. Time Series Chart

Time series chart with the ability to zoom in and zoom out. The bar at the bottom allows user to select the period of interest and the top chart will rescale to fit the screen. The data used is the bitcoin data set. The object type is dataframe. The data required for this chart to work is the daily close price and date. R HighCharter package is used to build this chart

[Attach Image]


2. Candle Stick Chart

This chart is useful to see how volatile the price is in a given period. For bitcoin, we are able to drill down to per minute transaction. To assist with quicker analysis, we have limited the 30 days of per minute transaction, each time the chart is refresh. Users get to select the starting point of the data, and the chart will refresh.

Per minute price close, low, high and open is required to have this chart built. R HighCharter is used to build this chart [Attach image]


3. Auto Correlation Chart

This chart helps to understand better if there are any evidence of cyclical effects. We used ACF function which comes with based R. The chart is then plotted using HighCharter package.

There are two variable inputs. Lags, ie shifting the time period forward, and date range. Date range is also another important variable. Because the underlying is a time series data, cyclical effects may change depending on the window which you are observing. Thus, it is also important to have this as a variable.

R ACF() function is used to compute the different lag points. Lags can be specifically defined in the ACF function. Sample code is as below:

acf(corr_data, lag.max = input$slider_corr, plot = FALSE)

For the example above, we have a slider input by R Shiny which will send a variable number into the ACF function.

R HighCharter is then used to build the chart below. [Attach image]


4. Price and Standard Deviation Facet by Year

Facet panels for multi-year comparatives. The first row is the price chart. The Y-axis scale is left to be auto adjusted so that patterns will be more apparent.

The 2nd row is standard deviation group by the respective year. Same as the price chart, the Y-axis has been left to be autoadjusted

We have used ggplot2 to build the below

[Attach Image]


5. Comparatives

Simple time series chart for comparative against other commodities. 5 year and 2 year base year comparative values were computed and stored. The scale factor is added to allow users to view the trend of the underlying comparative. It is required due to the massive return value of bitcoin. The first chart is an index value based on a certain based year. The second chart is index over standard deviation for either 5yr or 2yr period

[Attach Image]


6. Forecasting

Another chart of interest will be the forecasted values of bitcoin. We have utilised R package "Prophet" to provide the different forecasted data points. And the chart is build based on R HighCharter.

[Attach Image]