Table of Contents
- Mengimport list nama saham syariah
import pandas as pd
import yfinance as yf
data = pd.read_excel("Index Member ISSI_WINR.xlsx")
names = data["Kode"] + ".JK"
names
- Melakukan scraping
info_table = pd.DataFrame()
hist_table = pd.DataFrame()
actions_table = pd.DataFrame()
annual_financials_table = pd.DataFrame()
annual_balance_sheet_table = pd.DataFrame()
annual_earnings_table = pd.DataFrame()
annual_cashflow_table = pd.DataFrame()
for name in names:
#info
stock = yf.Ticker(name)
info = pd.DataFrame([stock.info])
info["stock"] = name
info_table = pd.concat([info_table,info])
#historical
hist = pd.DataFrame(stock.history(period="max"))
hist["stock"] = name
hist_table = pd.concat([hist_table,hist])
# actions
actions = pd.DataFrame(stock.actions)
actions["stock"] = name
actions_table = pd.concat([actions_table,actions])
#financials
annual_financials = pd.DataFrame(stock.financials)
annual_financials = annual_financials.transpose().reset_index()
annual_financials["stock"] = name
annual_financials_table = pd.concat([annual_financials_table,annual_financials])
#balance sheet
annual_balance_sheet = pd.DataFrame(stock.balance_sheet)
annual_balance_sheet = annual_balance_sheet.transpose().reset_index()
annual_balance_sheet["stock"] = name
annual_balance_sheet_table = pd.concat([annual_balance_sheet_table,annual_balance_sheet])
#cashflow
annual_cashflow = pd.DataFrame(stock.cashflow)
annual_cashflow = annual_cashflow.transpose().reset_index()
annual_cashflow["stock"] = name
annual_cashflow_table = pd.concat([annual_cashflow_table,annual_cashflow])
#earnings
annual_earnings = pd.DataFrame(stock.earnings)
annual_earnings = annual_earnings.transpose().reset_index()
annual_earnings["stock"] = name
annual_earnings_table = pd.concat([annual_earnings_table,annual_earnings])
- Menyimpan data
info_table.to_csv("info_table.csv")
hist_table.to_csv("hist_table.csv")
actions_table.to_csv("actions_table.csv")
annual_financials_table.to_csv("annual_financials_table.csv")
annual_balance_sheet_table.to_csv("annual_balance_sheet_table.csv")
annual_earnings_table.to_csv("annual_earnings_table.csv")
annual_cashflow_table.to_csv("annual_cashflow_table.csv")
Berbagai bentuk visualisasi disatupadukan kedalam dashboard. Pada tahapan ini dilakukan modifikasi terhadap visualisasi yang dibuat seperti penambahan filter, harmonisasi warna, tataletak, penambahan legend dan sebagainya.
Dashboard dibuat dengan range ukuran 1200-1300 x 800-900. Pengguna dapat memilih saham apa yang akan dilihat visualisasi data laporan keuangannya. Kemudian, pengguna dapat memilih dua saham untuk dapat dibandingkan. Fitur ini dibuat karena kecenderungan investor akan membandingkan fundamental saham dibanding hanya melihat fundamental satu saham. Karena terdapat banyak dimensi yang divisualisasikan maka terdapat fitur memilih chart agar dashboard tidak terlalu penuh sehingga pengguna dapat membandingkan dua saham dalam setiap dimensi. Selain itu, pada grafik perkembangan harga saham terdapat fitur memilih rentang tanggal untuk melihat perkembangan harga saham pada rentang waktu tertentu.
Dashboard juga disediakan dalam light mode untuk pengguna yang tidak menyukai dark mode. Dasboard dengan light mode dapat dilihat pada gambar berikut. Untuk mengganti tampilan dari dark mode ke light mode maupun sebaliknya, pengguna perlu menekan tombol pada pojok kiri atas.
Jika hanya ingin melihat cukup mengunjungi laman berikut.
Linkedin : https://linkedin.com/in/fauzanfaldy
Project Link: https://github.com/oojn4/DashboardVisdat