Spaces:
Runtime error
Runtime error
import streamlit as st | |
import pandas as pd | |
import seaborn as sns | |
import matplotlib.pyplot as plt | |
import plotly.express as px | |
from PIL import Image | |
st.set_page_config( | |
page_title = 'SAHAM BBCA - EDA', | |
layout = 'wide', | |
initial_sidebar_state = 'expanded' | |
) | |
def run(): | |
# Membuat Judul | |
st.title('BBCA Stock Daily Prediction') | |
# Membaut subheader | |
st.subheader('EDA untuk Analisis Saham BBCA 2020 - 2023') | |
# Membuat garis lurus | |
st.markdown('---') | |
# Membuat layout dengan dua kolom | |
col1, col2 = st.columns([1, 3]) | |
# Menambahkan Gambar | |
with col1: | |
image = st.image("BCA.jpg", caption="Grup BCA") | |
with col2: | |
st.write('PT Bank Central Asia Tbk') | |
st.write('Kode Saham : BBCA') | |
st.write('Kapitalisasi Pasar : 1.112 Triliun') | |
# Menambahkan deskripsi | |
st.write('**Profil Perusahaan**') | |
st.write('PT Bank Central Asia Tbk. atau BBCA dalam bidang usaha bank umum. Anak perusahaan diantaranya: PT BCA Finance (Pembiayaan Konsumen, Sewa Guna Usaha dan Anjak Piutang), BCA Finance Limited (Money Lending- Jasa Pengiriman Uang), PT Bank BCA Syariah (Perbankan Syariah), PT BCA Sekuritas (Penjamin Emisi Efek dan Pialang Perdagangan Saham), dan PT Asuransi Umum BCA (Asuransi Umum atau Asuransi Kerugian).Pada 2017 BCA mendirikan PT Central Capital Ventura (CCV) guna mengikuti inovasi layanan keuangan berbasis digital.Produk dan layanan Perseroan yaitu: produk simpanan, layanan transaksi perbankan, perbankan elektronik, layanan cash management, kartu kredit, bancassurance, produk investasi, fasilitas kredit, Bank garansi, fasilitas ekspor impor dan fasilitas valuta asing. Pada 2017 Jumlah kantor wilayah ada 12 terdiri dari (146 kantor cabang utama, 856 kantor cabang pembantu dan 244 kantor kas) tersebar di seluruh Indonesia, kantor non wilayah (1 kantor cabang utama) dan satu kantor perwakilan di Jakarta pusat') | |
# Membuat garis lurus | |
st.markdown('---') | |
st.write('Pada page kali ini, penulis akan melakukan eksplorasi sederhana. Dataset yang digunakan adalah dataset saham BBCA 2020 - 2023. Dataset ini berasal dari web kaggle.com') | |
st.write('### BBCA STOCK DAILY 2020 - 2023') | |
# Show DataFrame | |
data = pd.read_csv('https://raw.githubusercontent.com/hilalrd/Data-Science/main/BBCA%20Price%20Daily/BBCA%20Daily.csv') | |
st.dataframe(data) | |
# Menghitung presentase selisih | |
start_price = data['close'].iloc[0] | |
end_price = data['close'].iloc[-1] | |
percentage_change = (end_price - start_price) / start_price * 100 | |
# Membuat plot Harga | |
st.write('#### Grafik Harga Saham BBCA 2020 - 2023') | |
fig, ax = plt.subplots(figsize=(20, 5)) | |
ax.plot(data['timestamp'], data['close']) | |
ax.set_title('Perubahan Harga Saham BBCA 2020-2023\nGain/Loss: {:.2f}%'.format(percentage_change)) | |
ax.set_xlabel('Rentang Waktu') | |
ax.set_ylabel('Harga Saham') | |
st.pyplot(fig) | |
st.write('Secara Kumulatif selama 3 tahun terakhir saham BBCA terus mengalami kenaikan harga dengan harga all-time-high menyentuh angka Rp 9300 / Lembar sahamnya') | |
# Membuat plot Harga | |
st.write('#### Grafik Volume Perdagangan Saham BBCA 2020 - 2023') | |
fig, ax = plt.subplots(figsize=(20, 5)) | |
ax.plot(data['timestamp'], data['volume']) | |
ax.set_title('Perubahan Volume Perdagangan Saham BBCA 2020-2023') | |
ax.set_xlabel('Rentang Waktu') | |
ax.set_ylabel('Volume Perdagangan') | |
st.pyplot(fig) | |
st.write('Volume perdagangan cenderung fluktuatif dan mengalami peningkatan volume menjelang berakhirnya semester atau quartal. Dapat disimpulkan sementara pergerakan volume perdagangan tersebut disebabkan oleh faktor-faktor berikut:') | |
st.write('1. Laporan Keuangan Q1 - Q4 (Quartal)') | |
st.write('2. Pembagian Deviden (Semester)') | |
# Membuat Histogram berdasarkan Input user | |
st.write('#### Input Histogram yang ingin dilihat') | |
pilihan = st.selectbox('Pilih column : ', ('open', 'close', 'quarter_end', 'G/L')) | |
fig = plt.figure(figsize=(15, 5)) | |
sns.histplot(data[pilihan], bins=30, kde=True) | |
st.pyplot(fig) | |
# Membuat Plotly plot | |
st.write('#### Plotly Plot - Harga dengan Volume') | |
fig = px.scatter(data, x='close', y='volume', hover_data=('high', 'low')) | |
st.plotly_chart(fig) | |
st.write('Page ini dibuat oleh **Hilal Amirudin**') | |
if __name__== '__main__': | |
run() |