Crude Oil Prices: Brent - Europe
Untuk menganalisa harga minyak Crude Brent Europe bisa menggunakan Dataset dari FRED
Kita mengambil datanya menggunakan library Quandl
. Quandl adalah resources yang bagus dan populer dalam industri keuangan.
library(Quandl)
library(forecast)
library(highcharter)
Download Data Menggunakan Quandl
Quandl memudahkan untuk memilih jenis objek bisa berupa raw/dataframe, xts, atau zoo. Selain itu juga dapat memilih periode (Harian/Mingguan/Bulanan), serta tanggal mulai dan akhir.
# And monthly using xts as the type.
oil_monthly <- Quandl("FRED/MCOILBRENTEU",
type = "xts",
collapse = "monthly",
start_date = "2010-01-01",
end_date = "2020-12-01")
head
untuk mengetahui data awal dari dataset yang sudah didownload.
head(oil_monthly)
[,1]
Jan 2010 76.17
Feb 2010 73.75
Mar 2010 78.83
Apr 2010 84.82
May 2010 75.95
Jun 2010 74.76
tail
untuk melihat data akhir dari dataset yang sudah didownload.
tail(oil_monthly)
[,1]
Jul 2020 43.24
Aug 2020 44.74
Sep 2020 40.91
Oct 2020 40.19
Nov 2020 42.69
Dec 2020 49.99
Data yang akan kita pakai adalah data 10 tahun, yakni data mulai tahun 2010 awal hingga 2020 akhir. Agar format tanggal tampak lebih bagus, maka perlu mengunakan fungsi seq()
dan mdy()
.
index(oil_monthly) <- seq(mdy('01/01/2010'), mdy(last(index(oil_monthly))), by = 'months')
Setelah itu kita lihat hasilnya dengan menggunakan fungsi head
head(index(oil_monthly))
[1] "2010-01-01" "2010-02-01" "2010-03-01" "2010-04-01" "2010-05-01" "2010-06-01"
Sekarang format tanggal sudah lebih baik, maka perlu divisualisasikan dengan menggunakan library highcharter
, karena kita mengimport data dari Quandl dalam bentuk xts maka kita dapat menghubungkannya lansung ke fungsi htchart().
hchart(oil_monthly)
Atau kita juga bisa menggunakan kode highchart(type= "stock")
untuk menghasilkan chart yang sama. Tambahkan label $
ke y-axis dengan hc_yAxis
highchart(type = "stock") %>%
hc_add_series(oil_monthly, color = "cornflowerblue") %>%
hc_yAxis(title = list(text = "Monthly Price"),
labels = list(format = "${value}"),
opposite = FALSE) %>%
hc_add_theme(hc_theme_flat())
Terlihat penurunan harga di pertengahan tahun 2014 hingga awal tahun 2015. Sekarang kita akan mencoba mengekstrak beberapa data agar lebih menarik dengan menggunakan model arima, gunakan fungsi auto.arima()
untuk memprediksi harnya minyak.
Arima
auto.arima(oil_monthly)
Series: oil_monthly
ARIMA(0,1,1)
Coefficients:
ma1
0.3955
s.e. 0.0806
sigma^2 estimated as 31.35: log likelihood=-411.13
AIC=826.26 AICc=826.35 BIC=832.01
Selanjutnya kita akan menggunakan fungsi forecast()
untuk memprediksi harga minyak 6 bulan kedepan berdasarkan model arima yang sudah dibuat.
auto.arima(oil_monthly) %>%
forecast(h = 6)
Point Forecast berada di sekitar $53. Sekarang kita akan memvisualisasikan hasil dari forecast. Kita akan menggunakan fitur dari highcharter
, hebatnya fitur ini adalah dapat menerima hasil dari forecast
secara langsung. Kita dapat menyalurkan model dan hasil forecast lansung menggunakan hchart()
.
auto.arima(oil_monthly) %>%
forecast(h = 6) %>%
hchart() %>%
hc_title(text = "Oil historical and forecast") %>%
hc_yAxis(title = list(text = "monthly price"),
labels = list(format = "${value}"),
opposite = FALSE) %>%
hc_add_theme(hc_theme_flat()) %>%
hc_navigator(enabled = TRUE)
LS0tDQp0aXRsZTogIlRpbWUgU2VyaWVzIENydWRlIE9pbCBQcmljZXM6IEJyZW50IC0gRXVyb3BlIE1lbmdndW5ha2FuIFIiDQphdXRob3I6ICJQcm9mLiBEciBTdWhhcnRvbm8gTS5Lb20gJiBVJ3VuIFNldGlhd2F0aSwgUy5Lb20iDQpkYXRlOiAiMTEvMjkvMjAyMSINCm91dHB1dDoNCiAgaHRtbF9ub3RlYm9vazoNCiAgICBudW1iZXJfc2VjdGlvbnM6IG5vDQogICAgdGhlbWU6IHNwYWNlbGFiDQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogICAgdG9jOiB0cnVlDQogICAgdG9jX2RlcHRoOiAyDQogICAgdG9jX2Zsb2F0OiB0cnVlDQpzdWJ0aXRsZTogTWFnaXN0ZXIgSW5mb3JtYXRpa2EgVUlOIE1hdWxhbmEgTWFsaWsgSWJyYWhpbSBNYWxhbmcgDQotLS0NCg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCg0KYm9keXsgLyogTm9ybWFsICAqLw0KICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICB9DQp0ZCB7ICAvKiBUYWJsZSAgKi8NCiAgZm9udC1zaXplOiAxMnB4Ow0KfQ0KaDEudGl0bGUgew0KICBmb250LXNpemU6IDM4cHg7DQogIGNvbG9yOiBsaWdodGJsdWU7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KaDEgeyAvKiBIZWFkZXIgMSAqLw0KICBmb250LXNpemU6IDI0cHg7DQogIGNvbG9yOiBEYXJrQmx1ZTsNCn0NCmgyIHsgLyogSGVhZGVyIDIgKi8NCiAgZm9udC1zaXplOiAyMHB4Ow0KICBjb2xvcjogRGFya0JsdWU7DQp9DQpoMyB7IC8qIEhlYWRlciAzICovDQogIGZvbnQtc2l6ZTogMTZweDsNCiMgIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOw0KICBjb2xvcjogRGFya0JsdWU7DQp9DQpoNCB7IC8qIEhlYWRlciA0ICovDQogIGZvbnQtc2l6ZTogMTRweDsNCiAgY29sb3I6IERhcmtCbHVlOw0KfQ0KY29kZS5yeyAvKiBDb2RlIGJsb2NrICovDQogICAgZm9udC1zaXplOiAxMnB4Ow0KfQ0KcHJlIHsgLyogQ29kZSBibG9jayAtIGRldGVybWluZXMgY29kZSBzcGFjaW5nIGJldHdlZW4gbGluZXMgKi8NCiAgICBmb250LXNpemU6IDEycHg7DQp9DQo8L3N0eWxlPg0KLS0tDQoNCiMgQ3J1ZGUgT2lsIFByaWNlczogQnJlbnQgLSBFdXJvcGUNCg0KVW50dWsgbWVuZ2FuYWxpc2EgaGFyZ2EgbWlueWFrIENydWRlIEJyZW50IEV1cm9wZSBiaXNhIG1lbmdndW5ha2FuIERhdGFzZXQgZGFyaSA8YSBocmVmID0gImh0dHBzOi8vZnJlZC5zdGxvdWlzZmVkLm9yZy9zZXJpZXMvTUNPSUxCUkVOVEVVIj4gRlJFRCA8L2E+DQoNCktpdGEgbWVuZ2FtYmlsIGRhdGFueWEgbWVuZ2d1bmFrYW4gbGlicmFyeSBgUXVhbmRsYC4gUXVhbmRsIGFkYWxhaCByZXNvdXJjZXMgeWFuZyBiYWd1cyBkYW4gcG9wdWxlciBkYWxhbSBpbmR1c3RyaSBrZXVhbmdhbi4gDQoNCmBgYHtyfQ0KbGlicmFyeShRdWFuZGwpDQpsaWJyYXJ5KGZvcmVjYXN0KQ0KbGlicmFyeShoaWdoY2hhcnRlcikNCg0KYGBgDQoNCiMgRG93bmxvYWQgRGF0YSBNZW5nZ3VuYWthbiBRdWFuZGwNCg0KUXVhbmRsIG1lbXVkYWhrYW4gdW50dWsgbWVtaWxpaCBqZW5pcyBvYmplayBiaXNhIGJlcnVwYSByYXcvZGF0YWZyYW1lLCB4dHMsIGF0YXUgem9vLiBTZWxhaW4gaXR1IGp1Z2EgZGFwYXQgbWVtaWxpaCBwZXJpb2RlIChIYXJpYW4vTWluZ2d1YW4vQnVsYW5hbiksIHNlcnRhIHRhbmdnYWwgbXVsYWkgZGFuIGFraGlyLg0KDQpgYGB7cn0NCiMgQW5kIG1vbnRobHkgdXNpbmcgeHRzIGFzIHRoZSB0eXBlLg0Kb2lsX21vbnRobHkgPC0gUXVhbmRsKCJGUkVEL01DT0lMQlJFTlRFVSIsIA0KICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAieHRzIiwgDQogICAgICAgICAgICAgICAgICAgICAgY29sbGFwc2UgPSAibW9udGhseSIsICANCiAgICAgICAgICAgICAgICAgICAgc3RhcnRfZGF0ZSA9ICIyMDEwLTAxLTAxIiwgDQogICAgICAgICAgICAgICAgICAgIGVuZF9kYXRlID0gIjIwMjAtMTItMDEiKQ0KDQpgYGANCg0KYGhlYWRgIHVudHVrIG1lbmdldGFodWkgZGF0YSBhd2FsIGRhcmkgZGF0YXNldCB5YW5nIHN1ZGFoIGRpZG93bmxvYWQuDQoNCmBgYHtyfQ0KaGVhZChvaWxfbW9udGhseSkNCmBgYA0KYHRhaWxgIHVudHVrIG1lbGloYXQgZGF0YSBha2hpciBkYXJpIGRhdGFzZXQgeWFuZyBzdWRhaCBkaWRvd25sb2FkLg0KYGBge3J9DQp0YWlsKG9pbF9tb250aGx5KQ0KYGBgDQpEYXRhIHlhbmcgYWthbiBraXRhIHBha2FpIGFkYWxhaCBkYXRhIDEwIHRhaHVuLCB5YWtuaSBkYXRhIG11bGFpIHRhaHVuIDIwMTAgYXdhbCBoaW5nZ2EgMjAyMCBha2hpci4gQWdhciBmb3JtYXQgdGFuZ2dhbCB0YW1wYWsgbGViaWggYmFndXMsIG1ha2EgcGVybHUgbWVuZ3VuYWthbiBmdW5nc2kgYHNlcSgpYCBkYW4gYG1keSgpYC4NCg0KYGBge3J9DQppbmRleChvaWxfbW9udGhseSkgPC0gc2VxKG1keSgnMDEvMDEvMjAxMCcpLCBtZHkobGFzdChpbmRleChvaWxfbW9udGhseSkpKSwgYnkgPSAnbW9udGhzJykNCmBgYA0KDQpTZXRlbGFoIGl0dSBraXRhIGxpaGF0IGhhc2lsbnlhIGRlbmdhbiBtZW5nZ3VuYWthbiBmdW5nc2kgYGhlYWRgDQoNCmBgYHtyfQ0KaGVhZChpbmRleChvaWxfbW9udGhseSkpDQpgYGANClNla2FyYW5nIGZvcm1hdCB0YW5nZ2FsIHN1ZGFoIGxlYmloIGJhaWssIG1ha2EgcGVybHUgZGl2aXN1YWxpc2FzaWthbiBkZW5nYW4gbWVuZ2d1bmFrYW4gbGlicmFyeSBgaGlnaGNoYXJ0ZXJgLCBrYXJlbmEga2l0YSBtZW5naW1wb3J0IGRhdGEgZGFyaSBRdWFuZGwgZGFsYW0gYmVudHVrIHh0cyBtYWthIGtpdGEgZGFwYXQgbWVuZ2h1YnVuZ2thbm55YSBsYW5zdW5nIGtlIGZ1bmdzaSBodGNoYXJ0KCkuICANCg0KYGBge3J9DQpoY2hhcnQob2lsX21vbnRobHkpDQpgYGANCiBBdGF1IGtpdGEganVnYSBiaXNhIG1lbmdndW5ha2FuIGtvZGUgYGhpZ2hjaGFydCh0eXBlPSAic3RvY2siKWAgdW50dWsgbWVuZ2hhc2lsa2FuIGNoYXJ0IHlhbmcgc2FtYS4gVGFtYmFoa2FuIGxhYmVsIGAkYCBrZSB5LWF4aXMgZGVuZ2FuIGBoY195QXhpc2ANCg0KYGBge3J9DQpoaWdoY2hhcnQodHlwZSA9ICJzdG9jayIpICU+JSANCiAgaGNfYWRkX3NlcmllcyhvaWxfbW9udGhseSwgY29sb3IgPSAiY29ybmZsb3dlcmJsdWUiKSAlPiUgDQogIGhjX3lBeGlzKHRpdGxlID0gbGlzdCh0ZXh0ID0gIk1vbnRobHkgUHJpY2UiKSwNCiAgICAgICAgICAgbGFiZWxzID0gbGlzdChmb3JtYXQgPSAiJHt2YWx1ZX0iKSwNCiAgICAgICAgICAgb3Bwb3NpdGUgPSBGQUxTRSkgJT4lIA0KICBoY19hZGRfdGhlbWUoaGNfdGhlbWVfZmxhdCgpKQ0KYGBgDQoNClRlcmxpaGF0IHBlbnVydW5hbiBoYXJnYSBkaSBwZXJ0ZW5nYWhhbiB0YWh1biAyMDE0IGhpbmdnYSBhd2FsIHRhaHVuIDIwMTUuIFNla2FyYW5nIGtpdGEgYWthbiBtZW5jb2JhIG1lbmdla3N0cmFrIGJlYmVyYXBhIGRhdGEgYWdhciBsZWJpaCBtZW5hcmlrIGRlbmdhbiBtZW5nZ3VuYWthbiBtb2RlbCBhcmltYSwgZ3VuYWthbiBmdW5nc2kgYGF1dG8uYXJpbWEoKWAgdW50dWsgbWVtcHJlZGlrc2kgaGFybnlhIG1pbnlhay4NCg0KIyBBcmltYQ0KYGBge3J9DQphdXRvLmFyaW1hKG9pbF9tb250aGx5KQ0KYGBgDQpTZWxhbmp1dG55YSBraXRhIGFrYW4gbWVuZ2d1bmFrYW4gZnVuZ3NpIGBmb3JlY2FzdCgpYCB1bnR1ayBtZW1wcmVkaWtzaSBoYXJnYSBtaW55YWsgNiBidWxhbiBrZWRlcGFuIGJlcmRhc2Fya2FuIG1vZGVsIGFyaW1hIHlhbmcgc3VkYWggZGlidWF0Lg0KDQpgYGB7cn0NCmF1dG8uYXJpbWEob2lsX21vbnRobHkpICU+JSANCiAgZm9yZWNhc3QoaCA9IDYpDQpgYGANClBvaW50IEZvcmVjYXN0IGJlcmFkYSBkaSBzZWtpdGFyICQ1My4gU2VrYXJhbmcga2l0YSBha2FuIG1lbXZpc3VhbGlzYXNpa2FuIGhhc2lsIGRhcmkgZm9yZWNhc3QuIEtpdGEgYWthbiBtZW5nZ3VuYWthbiBmaXR1ciBkYXJpIGBoaWdoY2hhcnRlcmAsIGhlYmF0bnlhIGZpdHVyIGluaSBhZGFsYWggZGFwYXQgbWVuZXJpbWEgaGFzaWwgZGFyaSBgZm9yZWNhc3RgIHNlY2FyYSBsYW5nc3VuZy4gS2l0YSBkYXBhdCBtZW55YWx1cmthbiBtb2RlbCBkYW4gaGFzaWwgZm9yZWNhc3QgbGFuc3VuZyBtZW5nZ3VuYWthbiBgaGNoYXJ0KClgLg0KDQpgYGB7cn0NCmF1dG8uYXJpbWEob2lsX21vbnRobHkpICU+JSANCiAgZm9yZWNhc3QoaCA9IDYpICU+JSANCiAgaGNoYXJ0KCkgJT4lIA0KICBoY190aXRsZSh0ZXh0ID0gIk9pbCBoaXN0b3JpY2FsIGFuZCBmb3JlY2FzdCIpICU+JSANCiAgaGNfeUF4aXModGl0bGUgPSBsaXN0KHRleHQgPSAibW9udGhseSBwcmljZSIpLA0KICAgICAgICAgICBsYWJlbHMgPSBsaXN0KGZvcm1hdCA9ICIke3ZhbHVlfSIpLA0KICAgICAgICAgICBvcHBvc2l0ZSA9IEZBTFNFKSAlPiUgDQogIGhjX2FkZF90aGVtZShoY190aGVtZV9mbGF0KCkpICU+JSANCiAgaGNfbmF2aWdhdG9yKGVuYWJsZWQgPSBUUlVFKQ0KYGBgDQoNCiMgRGFmdGFyIFB1c3Rha2ENCg0KPGEgaHJlZj0iaHR0cHM6Ly9ydmlld3MucnN0dWRpby5jb20vMjAxNy8wMy8xNy9xdWFuZGwtYW5kLWZvcmVjYXN0aW5nLyI+aHR0cHM6Ly9ydmlld3MucnN0dWRpby5jb20vMjAxNy8wMy8xNy9xdWFuZGwtYW5kLWZvcmVjYXN0aW5nLzwvYT4NCg0KPGEgaHJlZj0iaHR0cHM6Ly9mcmVkLnN0bG91aXNmZWQub3JnL3Nlcmllcy9NQ09JTEJSRU5URVUiPmh0dHBzOi8vZnJlZC5zdGxvdWlzZmVkLm9yZy9zZXJpZXMvTUNPSUxCUkVOVEVVPC9hPg0K