Prediksi Harga Emas
Pendahuluan
Latar Belakang
Investasi sempat menjadi hal yang tabu di Indonesia. Di era digital saat ini, Informasi bisa tersebar dengan cepat kepada masyarakat umum. Masyarakat bisa mengakses Informasi yang mereka inginkan dengan mudah melalui gawai yang dimiliki. Salah satu manfaat yang cukup dirasakan oleh masyarakat adalah semakin meleknya masyarakat terhadap investasi dan segala instumennya.
Sebelum maraknya investasi, masyarakat Indonesia banyak yang berinvestasi pada bidang property dimana investasi dalam bidang property pada umumnya membutuhkan modal yang cukup besar dan memiliki likuiditas yang rendah. Semakin maraknya investasi di kalangan masyarakat, semakin banyak pula pilihan instumen investasi yang bisa dipilih. Akan tetapi tidak luput pula menjamurnya investasi bodong di kalangan masyarakat. Maka dari itu perlu dipertimbangkan dengan matang untuk menentukan instrument investasi apa yang akan diambil, salah satunya dengan menyesuaikan profil resiko masing-masing.
Investasi emas pada mulanya belum banyak dikenal oleh masyarakat Indonesia. Hal itu karena emas lebih dikenal sebagai perhiasan atau logam mulia. Namun saat ini emas sudah menjadi salah satu instrument investasi yang sudah cukup dikenal oleh masyarakat. Selain itu, masyarakat Indonesia sudah cukup banyak yang berinvestasi pada emas.
Emas merupakan instrumen investasi yang cukup likuid jika dibandingkan dengan property dan bisa dibeli dengan modal kecil. Selain itu, emas juga memiliki harga yang relatif stabil dan tidak terpengaruh oleh inflasi, sehingga emas bisa menjadi alternatif investasi dengan resiko rendah dan bisa menjadi alternatif untuk mengamankan kekayaan.
Dari setiap instrument investasi, selalu menawarkan kelebihan dan tidak lepas dari kekurangan juga. Kekurangan dari investasi emas adalah jangka waktu untuk merasakan keuntungan dibutuhkan waktu yang Panjang, minimal satu tahun.
Dengan adanya time series forecasting untuk harga emas, akan lebih meyakinkan para calon investor untuk memilih emas sebagai pilihan portofolio investasi mereka dan memperkirakan dalam berapa lama akan mengambil keuntungan dari investasi emas.
Business Impact
Semakin banyak masyarakat yang berinvestasi pada emas, akan memberikan rasa aman akan uang mereka yang diinvestasikan pada emas. Stabilnya harga emas juga bisa mempertahankan kekayaan para investor emas. Harga emas setiap tahunnya cenderung mengalami kenaikan 5 sampai 20 persen sehingga bisa menambah kekayaan dari para investor emas.
Selain itu, para penyedia jasa investasi emas juga akan keuntungan yang lebih besar dengan semakin banyaknya masyarakat yang berinvestasi pada emas.
Target User
Terdapat dua target user utama, yaitu masyarakat umum yang ingin berinvestasi emas dan para penyedia jasa investasi emas yang mana saat ini sudah cukup banyak penyedia jasa investasi emas. Bagi masyarakat umum, dengan melakukan investasi emas, mereka dapat mempertahankan bahkan menambah kekayaan karena kestabilan dari harga emas sendiri dan bahkan cenderung mengalami kenaikan. Dari sisi penyedia jasa investasi emas, kenaikan jumlah investor emas akan menambah jumlah market mereka yang akan berpengaruh pada keuntungannya.
Implementasi Bisnis Serupa
Terdapat beberapa macam instrument investasi saat ini dengan karakteristik potensi dan resiko yang berbeda-beda. Time series forecasting harga emas ini bisa diimplemetasikan untuk instrument investasi yang lain, seperti deposito, saham atau reksadana. Tetapi dalam berinvestasi perlu diperhatikan factor profil dari investasi tersebut, terutama potensi dan resikonya.
Problem Scope
Pada dashboard ini akan digunakan data harga emas dari beberapa
negara yang dikelompokkan menjadi 3 kelompok, negara dengan mata uang
Key Currencies, negara sebagai
Major Consumer Countries, dan negara sebagai
Major produces countries. Dataset yang ada mengandung
informasi sebagai berikut:
Date: TanggalUS.dollar.USD: Harga emas di US dengan mata uang USD.Euro.EUR: Harga emas di Eropa dengan mata uang EUR.Japanese.yen.KPY: Harga emas di Jepang dengan mata uang YEN (KPY).Pound.sterling.GBP: Harga emas di Britania Raya dengan mata uang GBP.Canadian.dollar.CAD: Harga emas di Canada dengan mata uang CAD.Swiss.franc.CHF: Harga emas di Swiss dan Prancis dengan mata uang CHF.Indian.rupee.INR: Harga emas di India dengan mata uang INR.Chinese.renmimbi.CNY: Harga emas di China dengan mata uang CNY.US.dollar.USD.1: Harga emas di US dengan mata uang USD.Turkish.lira.TRY: Harga emas di Turki dengan mata uang TRY.Saudi.riyal.SAR: Harga emas di Saudi Arabia dengan mata uang SAR.Indonesian.rupiah.IDR: Harga emas di Indonesia dengan mata uang IDR.UAE.dirham.AED: Harga emas di Uni Emirat Arab dengan mata uang AED.Thai.baht.THB: Harga emas di Thailand dengan mata uang THB.Vietnamese.dong.VND: Harga emas di Vietnam dengan mata uang VND.Egyptian.pound.EGP: Harga emas di Mesir dengan mata uang EGP.Korean.won.KRW: Harga emas di Korea dengan mata uang KRW.Euro.EUR.1: Harga emas di Eropa dengan mata uang EUR.Russian.ruble.RUB: Harga emas di Rusia dengan mata uang RUB.US.dollar.UDS: Harga emas di US dengan mata uang USD.South.African.rand.ZAR: Harga emas di Afrika Selatan dengan mata uang ZAR.Chinese.renmimbi.CNY.1: Harga emas di China dengan mata uang CNY.Canadian.dollar.CAD.1: Harga emas di Canada dengan mata uang CAD.Australian.dollar.AUD: Harga emas di Australia dengan mata uang AUD.
Dari data tersebut, akan dibuat model machine learning menggunakan Time Series Forecasting, baik model Simple Moving Average, Exponential Smoothing dan ARIMA.
Output
Output dari dashboard ini adalah hasil analisis dari Exploratory Data tentang harga emas dari tahun 1999 sampai tahun 2022, sehingga bisa dijadikan dasar para calon investor untuk memutuskan berinvestasi pada emas. Dashboard juga akan menampilkan prediksi harga emas kedepannya, sehingga semakin meyakinkan para calon investor untuk berinvestasi pada emas.
Import Library
library(tidyverse)
library(tseries)
library(lubridate)
library(forecast)
library(ggplot2)
library(padr)
library(zoo)
library(GGally)Read Dataset
Data yang digunakan adalah tren harga emas dari tahun 1978 sampai tahun 2022 di beberapa negara. Harga yang dipakai, adalah harga setiap hari pada hari perdagangan yaitu senin-kamis.
gold <- read.csv("data_input/daily_gold.csv")
head(gold)#> Date US.dollar.USD Euro.EUR Japanese.yen.KPY Pound.sterling.GBP
#> 1 12/29/1978 226.0 137.1 #N/A 110.7
#> 2 1/1/1979 226.0 137.1 #N/A 110.7
#> 3 1/2/1979 226.8 137.3 43,164.9 111.5
#> 4 1/3/1979 218.6 134.0 43,717.9 108.0
#> 5 1/4/1979 223.2 136.8 43,674.9 110.7
#> 6 1/5/1979 225.5 138.4 44,582.5 111.6
#> Canadian.dollar.CAD Swiss.franc.CHF Indian.rupee.INR Chinese.renmimbi.CNY
#> 1 #N/A #N/A #N/A #N/A
#> 2 #N/A #N/A #N/A #N/A
#> 3 263.7 359.6 1,792.9 #N/A
#> 4 264.4 365.9 1,802.2 #N/A
#> 5 264.1 366.4 1,811.7 #N/A
#> 6 268.4 373.7 1,843.6 #N/A
#> US.dollar.USD.1 Turkish.lira.TRY Saudi.riyal.SAR Indonesian.rupiah.IDR
#> 1 226.0 #N/A #N/A #N/A
#> 2 226.0 #N/A #N/A #N/A
#> 3 226.8 #N/A 735.6 138,160.5
#> 4 218.6 #N/A 739.4 138,877.0
#> 5 223.2 #N/A 743.4 139,616.3
#> 6 225.5 #N/A 756.4 142,069.1
#> UAE.dirham.AED Thai.baht.THB Vietnamese.dong.VND Egyptian.pound.EGP
#> 1 #N/A #N/A #N/A #N/A
#> 2 #N/A #N/A #N/A #N/A
#> 3 851.3 4,454.6 #N/A #N/A
#> 4 855.7 4,477.7 #N/A #N/A
#> 5 860.3 4,501.5 #N/A #N/A
#> 6 875.4 4,580.6 #N/A #N/A
#> Korean.won.KRW Euro.EUR.1 Russian.ruble.RUB US.dollar.UDS
#> 1 #N/A 137.1 #N/A 226.0
#> 2 #N/A 137.1 #N/A 226.0
#> 3 107,470.0 137.3 #N/A 226.8
#> 4 108,027.4 134.0 #N/A 218.6
#> 5 108,602.5 136.8 #N/A 223.2
#> 6 110,510.4 138.4 #N/A 225.5
#> South.African.rand.ZAR Chinese.renmimbi.CNY.1 Canadian.dollar.CAD.1
#> 1 #N/A #N/A #N/A
#> 2 #N/A #N/A #N/A
#> 3 194.6 #N/A 263.7
#> 4 192.2 #N/A 264.4
#> 5 193.0 #N/A 264.1
#> 6 196.4 #N/A 268.4
#> Australian.dollar.AUD
#> 1 #N/A
#> 2 #N/A
#> 3 193.6
#> 4 193.0
#> 5 194.6
#> 6 197.9
Date: TanggalUS.dollar.USD: Harga emas di US dengan mata uang USD.Euro.EUR: Harga emas di Eropa dengan mata uang EUR.Japanese.yen.KPY: Harga emas di Jepang dengan mata uang YEN (KPY).Pound.sterling.GBP: Harga emas di Britania Raya dengan mata uang GBP.Canadian.dollar.CAD: Harga emas di Canada dengan mata uang CAD.Swiss.franc.CHF: Harga emas di Swiss dan Prancis dengan mata uang CHF.Indian.rupee.INR: Harga emas di India dengan mata uang INR.Chinese.renmimbi.CNY: Harga emas di China dengan mata uang CNY.US.dollar.USD.1: Harga emas di US dengan mata uang USD.Turkish.lira.TRY: Harga emas di Turki dengan mata uang TRY.Saudi.riyal.SAR: Harga emas di Saudi Arabia dengan mata uang SAR.Indonesian.rupiah.IDR: Harga emas di Indonesia dengan mata uang IDR.UAE.dirham.AED: Harga emas di Uni Emirat Arab dengan mata uang AED.Thai.baht.THB: Harga emas di Thailand dengan mata uang THB.Vietnamese.dong.VND: Harga emas di Vietnam dengan mata uang VND.Egyptian.pound.EGP: Harga emas di Mesir dengan mata uang EGP.Korean.won.KRW: Harga emas di Korea dengan mata uang KRW.Euro.EUR.1: Harga emas di Eropa dengan mata uang EUR.Russian.ruble.RUB: Harga emas di Rusia dengan mata uang RUB.US.dollar.UDS: Harga emas di US dengan mata uang USD.South.African.rand.ZAR: Harga emas di Afrika Selatan dengan mata uang ZAR.Chinese.renmimbi.CNY.1: Harga emas di China dengan mata uang CNY.Canadian.dollar.CAD.1: Harga emas di Canada dengan mata uang CAD.Australian.dollar.AUD: Harga emas di Australia dengan mata uang AUD.
Data Preprocessing
Dari harga emas di beberapa negara berdasarkan mata uang, akan
dipilih 4 negara dengan mata uang, yaitu USD dan EUR yang merupakan 2
dari mata uang key currencies, IDR yang merupakan salah
satu dari Major consumer countries dan ZAR yang merupakan
salah satu Major produces countries.
golds <- gold %>%
select(Date, US.dollar.USD, Euro.EUR, Indonesian.rupiah.IDR, South.African.rand.ZAR)
head(golds)#> Date US.dollar.USD Euro.EUR Indonesian.rupiah.IDR
#> 1 12/29/1978 226.0 137.1 #N/A
#> 2 1/1/1979 226.0 137.1 #N/A
#> 3 1/2/1979 226.8 137.3 138,160.5
#> 4 1/3/1979 218.6 134.0 138,877.0
#> 5 1/4/1979 223.2 136.8 139,616.3
#> 6 1/5/1979 225.5 138.4 142,069.1
#> South.African.rand.ZAR
#> 1 #N/A
#> 2 #N/A
#> 3 194.6
#> 4 192.2
#> 5 193.0
#> 6 196.4
glimpse(golds)#> Rows: 11,421
#> Columns: 5
#> $ Date <chr> "12/29/1978", "1/1/1979", "1/2/1979", "1/3/1979…
#> $ US.dollar.USD <chr> "226.0", "226.0", "226.8", "218.6", "223.2", "2…
#> $ Euro.EUR <chr> "137.1", "137.1", "137.3", "134.0", "136.8", "1…
#> $ Indonesian.rupiah.IDR <chr> "#N/A", "#N/A", "138,160.5", "138,877.0", "139,…
#> $ South.African.rand.ZAR <chr> "#N/A", "#N/A", "194.6", "192.2", "193.0", "196…
Dari data yang ada, untuk harga emas menggunakan koma sebagai tanda pemisah setiap 3 angka, akan tetapi karena ketika diubah menjadi numerik, maka akan menghasilkan N/A, maka perlu dihilangkan dahulu koma dari semua nilai di masing-masing mata uang. Setelah dihilangkan koma, maka tipe data mata uang yang masih karakter akan diubah menjadi numerik.
golds <- golds %>%
mutate(Date = mdy(Date)) %>%
mutate(US.dollar.USD = gsub(",", "", US.dollar.USD)) %>%
mutate(Euro.EUR = gsub(",", "", Euro.EUR)) %>%
mutate(Indonesian.rupiah.IDR = gsub(",", "", Indonesian.rupiah.IDR)) %>%
mutate(South.African.rand.ZAR = gsub(",", "", South.African.rand.ZAR)) %>%
mutate_if(is.character, as.numeric)
glimpse(golds)#> Rows: 11,421
#> Columns: 5
#> $ Date <date> 1978-12-29, 1979-01-01, 1979-01-02, 1979-01-03…
#> $ US.dollar.USD <dbl> 226.0, 226.0, 226.8, 218.6, 223.2, 225.5, 223.1…
#> $ Euro.EUR <dbl> 137.1, 137.1, 137.3, 134.0, 136.8, 138.4, 136.4…
#> $ Indonesian.rupiah.IDR <dbl> NA, NA, 138160.5, 138877.0, 139616.3, 142069.1,…
#> $ South.African.rand.ZAR <dbl> NA, NA, 194.6, 192.2, 193.0, 196.4, 197.2, 195.…
Data yang akan digunakan adalah data setelah tahun 1998, dimana pada tahun 1998 terdapat krisis moneter di Indonesia.
gold_99 <- golds %>% filter(Date >= as.Date("1999-01-01"))
head(gold_99)#> Date US.dollar.USD Euro.EUR Indonesian.rupiah.IDR
#> 1 1999-01-01 287.8 245.1 2288009
#> 2 1999-01-04 287.2 243.4 2297199
#> 3 1999-01-05 287.2 243.7 2261306
#> 4 1999-01-06 287.7 245.4 2283221
#> 5 1999-01-07 290.0 248.4 2297853
#> 6 1999-01-08 290.9 251.8 2319927
#> South.African.rand.ZAR
#> 1 1693.1
#> 2 1688.1
#> 3 1656.1
#> 4 1635.3
#> 5 1697.7
#> 6 1688.7
Karena model yang akan digunakan nanti menggunakan Times Series, maka
harus dipastikan bahwa tidak ada tanggal atau waktu yang terlewat. Dari
data yang sudah ada, perlu dicek apakah ada data Date yang
terlewat atau tidak.
gold_99 %>%
pad(start_val = min(gold_99$Date), end_val = max(gold_99$Date)) %>%
anyNA()#> [1] TRUE
Karena terdapat tanggal yang terlewat, maka untuk tanggal yang terlewat akan diisi dengan nilai sebelumnya.
gold_clean <- gold_99 %>%
pad(start_val = min(gold_99$Date), end_val = max(gold_99$Date)) %>%
mutate(US.dollar.USD = na.locf(US.dollar.USD, fromLast = F)) %>%
mutate(Euro.EUR = na.locf(Euro.EUR, fromLast = F)) %>%
mutate(Indonesian.rupiah.IDR = na.locf(Indonesian.rupiah.IDR, fromLast = F)) %>%
mutate(South.African.rand.ZAR = na.locf(South.African.rand.ZAR, fromLast = F))Exploratory Data Analysis
Cek korelasi
Dari masing-masing kolom mata uang, dicek korelasi dari masing-masing.
ggcorr(gold_clean, label = T)Mata uang dari masing-masing negara, memiliki kurs atau nilai terhadap mata uang negara lain. Hasil korelasi menunjukkan bahwa harga emas dari setiap negara dengan mata uang tersebut memiliki korelasi yang kuat terhadap masing-masing perubahan harga, sehingga bisa dikatakan bahwa perubahan harga emas berlaku secara global atau internasional.
Cek Fluktuasi Harga Emas dengan Lineplot
Dari dataset harga emas yang sudah ada, bisa dilihat fluktuasi untuk harga emas pada masing-masing mata uang dengan menggunakan lineplot.
Lineplot Mata Uang USD (Amerika Serikat)
gold_clean %>%
ggplot(mapping = aes(y = US.dollar.USD,
x = Date,
)) +
geom_line()Sejak tahun 1999 sampai tahun 2012, harga emas di US mengalami tren naik yang signifikan, akan tetapi terjadi trend penurununan yang cukup panjang pada rentang 2012-2016 dan mulai masuk tren naik setelahnya.
Periode Harga Terendah dan Tertinggi
low_usd <- gold_clean %>%
select(Date, US.dollar.USD) %>%
filter(US.dollar.USD == min(US.dollar.USD)) %>%
rename(price = US.dollar.USD)
high_usd <- gold_clean %>%
select(Date, US.dollar.USD) %>%
filter(US.dollar.USD == max(US.dollar.USD)) %>%
rename(price = US.dollar.USD)
data.frame(label = c("Lowest", "Highest"),
rbind(low_usd, high_usd))#> label Date price
#> 1 Lowest 1999-07-20 252.8
#> 2 Highest 2020-08-06 2067.2
Lineplot Mata Uang EUR (Eropa)
gold_clean %>%
ggplot(mapping = aes(y = Euro.EUR,
x = Date,
)) +
geom_line()Fase tren naik dan turun dari harga emas di Eropa hampir sama dengan di US, dimana pada rentang 1999-2012 mengalami tren naik, 2012-2015 mengalami fase tren turun dan setelahnya mulai naik kembali.
Periode Harga Terendah dan Tertinggi
low_eur <- gold_clean %>%
select(Date, Euro.EUR) %>%
filter(Euro.EUR == min(Euro.EUR)) %>%
rename(price = Euro.EUR)
high_eur <- gold_clean %>%
select(Date, Euro.EUR) %>%
filter(Euro.EUR == max(Euro.EUR)) %>%
rename(price = Euro.EUR)
data.frame(label = c("Lowest", "Lowest", "Highest"),
rbind(low_eur, high_eur))#> label Date price
#> 1 Lowest 1999-07-29 237.0
#> 2 Lowest 1999-08-05 237.0
#> 3 Highest 2022-03-08 1874.6
Lineplot Mata Uang IDR (Indonesia)
gold_clean %>%
ggplot(mapping = aes(y = Indonesian.rupiah.IDR,
x = Date,
)) +
geom_line()Pada tren harga emas di Indonesia, cukup berbeda pada fase rentang 1999-2012, dimana di Indonesia harga emas mengalami penurunan cukup signifikan di tahun 2013 dan penurunannya tidak sebesar di US dan Eropa dan rentang waktu penurunannya juga tidak sepanjang di US dan Eropa. Tren penurunan yang cukup signifikan baru terjad pada fase setelah tahun 2020.
Periode Harga Terendah dan Tertinggi
low_idr <- gold_clean %>%
select(Date, Indonesian.rupiah.IDR) %>%
filter(Indonesian.rupiah.IDR == min(Indonesian.rupiah.IDR)) %>%
rename(price = Indonesian.rupiah.IDR)
high_idr <- gold_clean %>%
select(Date, Indonesian.rupiah.IDR) %>%
filter(Indonesian.rupiah.IDR == max(Indonesian.rupiah.IDR)) %>%
rename(price = Indonesian.rupiah.IDR)
data.frame(label = c("Lowest", "Highest"),
rbind(low_idr, high_idr))#> label Date price
#> 1 Lowest 1999-07-13 1689603
#> 2 Highest 2020-08-06 30149381
Lineplot Mata Uang ZAR (Afrika Selatan)
gold_clean %>%
ggplot(mapping = aes(y = South.African.rand.ZAR,
x = Date,
)) +
geom_line()Tren harga emas di Afrika Selatan cenderung sama dengan di Indonesia dibandingkan US dan Eropa, tidak terjadi tren penurunan harga yang signifikan dalam jangka waktu panjang. Tren penurunan signifikan baru terjadi pada fase setelah tahun 2020.
Periode Harga Terendah dan Tertinggi
low_zar <- gold_clean %>%
select(Date, South.African.rand.ZAR) %>%
filter(South.African.rand.ZAR == min(South.African.rand.ZAR)) %>%
rename(price = South.African.rand.ZAR)
high_zar <- gold_clean %>%
select(Date, South.African.rand.ZAR) %>%
filter(South.African.rand.ZAR == max(South.African.rand.ZAR)) %>%
rename(price = South.African.rand.ZAR)
data.frame(label = c("Lowest", "Lowest", "Lowest", "Highest"),
rbind(low_zar, high_zar))#> label Date price
#> 1 Lowest 1999-09-03 1529.7
#> 2 Lowest 1999-09-04 1529.7
#> 3 Lowest 1999-09-05 1529.7
#> 4 Highest 2020-08-06 36232.0
Perbandingan Trend Harga Emas
Dari analisis tren harga emas pada masing-masing negara, akan lebih
presisi untuk dibandingkan jika dilakukan scale terhadap
harga emas dengan masing-masing mata uang.
gold_scale <- scale(gold_clean[,2:5])
gold_scale <- data.frame(Date = gold_clean[,1], gold_scale)gold_scale %>% rename(USD = US.dollar.USD,
EUR = Euro.EUR,
IDR = Indonesian.rupiah.IDR,
ZAR = South.African.rand.ZAR) %>%
pivot_longer(cols = c("USD", "EUR", "IDR", "ZAR")) %>%
ggplot(mapping = aes(x=Date, y=value,
group=name))+
geom_line(aes(color=name),position = "dodge")Dari lineplot harsil scaling harga emas pada masing-masing mata uang, bisa dilihat bahwa dari tahun 1999-2012 keempat negara tersebut mengalami tren naik, akan tetapi di Eropa dan US kenaikan harga emas cenderung lebih tinggi dibandingkan di Indonesia dan di Afrika Selatan. Masuk di fase 2012-2015 terjadi tren penurunan, penurunan di Indonesia dan Afrika Selatan tidak sebesar di US dan Eropa lebih dikarenakan pada fase sebelumnya, kenaikannya tidak sebesar di US dan Eropa.
Trend Harga Emas Selama Pandemi
Berdasarkan keputusan WHO, COVID-19 dinyatakan sebagai pandemi sejak tanggal 11 maret 2020, sehingga data harga emas akan diambil dari tanggal 11 Maret 2022 sampai data terbaru.
gold_cov <- gold_clean %>% filter(Date >= as.Date("2020-03-11"))
head(gold_cov)#> Date US.dollar.USD Euro.EUR Indonesian.rupiah.IDR
#> 1 2020-03-11 1653.8 1466.4 23735447
#> 2 2020-03-12 1570.7 1417.4 22808919
#> 3 2020-03-13 1562.8 1411.9 23082557
#> 4 2020-03-14 1562.8 1411.9 23082557
#> 5 2020-03-15 1562.8 1411.9 23082557
#> 6 2020-03-16 1487.7 1335.6 22203922
#> South.African.rand.ZAR
#> 1 26722.5
#> 2 25984.1
#> 3 25558.0
#> 4 25558.0
#> 5 25558.0
#> 6 24635.9
Lineplot Mata Uang USD (Amerika Serikat) Selama Pandemi
gold_cov %>%
ggplot(mapping = aes(y = US.dollar.USD,
x = Date,
)) +
geom_line()Periode Harga Terendah dan Tertinggi
low_usd_cov <- gold_cov %>%
select(Date, US.dollar.USD) %>%
filter(US.dollar.USD == min(US.dollar.USD)) %>%
rename(price = US.dollar.USD)
high_usd_cov <- gold_cov %>%
select(Date, US.dollar.USD) %>%
filter(US.dollar.USD == max(US.dollar.USD)) %>%
rename(price = US.dollar.USD)
data.frame(label = c("Lowest", "Highest"),
rbind(low_usd_cov, high_usd_cov))#> label Date price
#> 1 Lowest 2020-03-19 1474.3
#> 2 Highest 2020-08-06 2067.2
Lineplot Mata Uang EUR (Eropa) Selama Pandemi
gold_cov %>%
ggplot(mapping = aes(y = Euro.EUR,
x = Date,
)) +
geom_line()Periode Harga Terendah dan Tertinggi
low_eur_cov <- gold_cov %>%
select(Date, Euro.EUR) %>%
filter(Euro.EUR == min(Euro.EUR)) %>%
rename(price = Euro.EUR)
high_eur_cov <- gold_cov %>%
select(Date, Euro.EUR) %>%
filter(Euro.EUR == max(Euro.EUR)) %>%
rename(price = Euro.EUR)
data.frame(label = c("Lowest", "Highest"),
rbind(low_eur_cov, high_eur_cov))#> label Date price
#> 1 Lowest 2020-03-16 1335.6
#> 2 Highest 2022-03-08 1874.6
Lineplot Mata Uang IDR (Indonesia) Selama Pandemi
gold_cov %>%
ggplot(mapping = aes(y = Indonesian.rupiah.IDR,
x = Date,
)) +
geom_line()Periode Harga Terendah dan Tertinggi
low_idr_cov <- gold_cov %>%
select(Date, Indonesian.rupiah.IDR) %>%
filter(Indonesian.rupiah.IDR == min(Indonesian.rupiah.IDR)) %>%
rename(price = Indonesian.rupiah.IDR)
high_idr_cov <- gold_cov %>%
select(Date, Indonesian.rupiah.IDR) %>%
filter(Indonesian.rupiah.IDR == max(Indonesian.rupiah.IDR)) %>%
rename(price = Indonesian.rupiah.IDR)
data.frame(label = c("Lowest", "Highest"),
rbind(low_idr_cov, high_idr_cov))#> label Date price
#> 1 Lowest 2020-03-16 22203922
#> 2 Highest 2020-08-06 30149381
Lineplot Mata Uang ZAR (Afrika Selatan) Selama Pandemi
gold_cov %>%
ggplot(mapping = aes(y = South.African.rand.ZAR,
x = Date,
)) +
geom_line()Periode Harga Terendah dan Tertinggi
low_zar_cov <- gold_cov %>%
select(Date, South.African.rand.ZAR) %>%
filter(South.African.rand.ZAR == min(South.African.rand.ZAR)) %>%
rename(price = South.African.rand.ZAR)
high_zar_cov <- gold_cov %>%
select(Date, South.African.rand.ZAR) %>%
filter(South.African.rand.ZAR == max(South.African.rand.ZAR)) %>%
rename(price = South.African.rand.ZAR)
data.frame(label = c("Lowest", "Highest"),
rbind(low_zar_cov, high_zar_cov))#> label Date price
#> 1 Lowest 2020-03-16 24635.9
#> 2 Highest 2020-08-06 36232.0
Harga Tertinggi Emas
data.frame(label = c("USD", "USD Covid", "EUR", "EUR Covid", "IDR", "IDR Covid", "ZAR", "ZAR Covid"),
rbind(high_usd, high_usd_cov, high_eur, high_eur_cov, high_idr, high_idr_cov, high_zar, high_zar_cov))#> label Date price
#> 1 USD 2020-08-06 2067.2
#> 2 USD Covid 2020-08-06 2067.2
#> 3 EUR 2022-03-08 1874.6
#> 4 EUR Covid 2022-03-08 1874.6
#> 5 IDR 2020-08-06 30149381.3
#> 6 IDR Covid 2020-08-06 30149381.3
#> 7 ZAR 2020-08-06 36232.0
#> 8 ZAR Covid 2020-08-06 36232.0
Dari tabel diatas, merupakah perbandingan waktu dan harga tertinggi emas sampai tahun 2022. Dari keempat negara / mata uang tersebut, bisa dilihat bahwa harga tertinggi dari emas justru terjadi setelah adanya pandemi Covid-19.
Kenaikan Harga Emas per Tahun
gold_diff <- gold_clean %>% mutate(Year = year(Date)) %>%
group_by(Year) %>%
summarise(USD = round(mean(US.dollar.USD),2),
EUR = round(mean(Euro.EUR),2),
IDR = mean(Indonesian.rupiah.IDR),
ZAR = round(mean(South.African.rand.ZAR),2)) %>%
ungroup() %>%
mutate(USD.Diff = round(100*(USD - lag(USD))/lag(USD),2)) %>%
mutate(EUR.Diff = round(100*(EUR - lag(EUR))/lag(EUR),2)) %>%
mutate(IDR.Diff = round(100*(IDR - lag(IDR))/lag(IDR),2)) %>%
mutate(ZAR.Diff = round(100*(ZAR - lag(ZAR))/lag(ZAR),2))
gold_diff %>% select(Year, USD.Diff, EUR.Diff, IDR.Diff, ZAR.Diff)#> # A tibble: 24 × 5
#> Year USD.Diff EUR.Diff IDR.Diff ZAR.Diff
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1999 NA NA NA NA
#> 2 2000 0.11 15.6 6.82 13.5
#> 3 2001 -2.86 0.19 18.9 21.0
#> 4 2002 14.5 8.39 3.72 38.8
#> 5 2003 17.2 -2.2 7.99 -15.8
#> 6 2004 12.7 2.53 17.5 -3.64
#> 7 2005 8.66 8.95 18.2 7.53
#> 8 2006 35.8 34.0 27.9 44.5
#> 9 2007 15.3 5.56 15.2 19.7
#> 10 2008 25.1 16.8 31.5 45.9
#> # … with 14 more rows
gold_diff %>%
select(Year, USD.Diff, EUR.Diff, IDR.Diff, ZAR.Diff) %>%
pivot_longer(cols = c("USD.Diff", "EUR.Diff", "IDR.Diff", "ZAR.Diff")) %>%
ggplot(mapping = aes(x=Year, y=value,
group=name))+
geom_line(aes(color=name),position = "dodge") +
geom_point(aes(color=name))Barplot Kenaikan Harga Emas di US (USD)
gold_diff %>%
ggplot(mapping = aes(y = USD.Diff,
x = Year,
)) +
geom_col()Barplot Kenaikan Harga Emas di Eropa (EUR)
gold_diff %>%
ggplot(mapping = aes(y = EUR.Diff,
x = Year,
)) +
geom_col()Barplot Kenaikan Harga Emas di Indonesia (IDR)
gold_diff %>%
ggplot(mapping = aes(y = IDR.Diff,
x = Year,
)) +
geom_col()Barplot Kenaikan Harga Emas di Afrika Selatan (ZAR)
gold_diff %>%
ggplot(mapping = aes(y = ZAR.Diff,
x = Year,
)) +
geom_col()