yFinance, sumber data untuk analisa saham

·

, ,

Yahoo finance adalah salah satu bagian dari Yahoo, yang berisi tentang informasi berkaitan dengan keuangan, dan merupakan salah satu sumber data yang sering dipakai untuk bahan rujukan para trader atau investor dalam menganalisa pasar saham. Selain saham, Yahoo finance juga berisi informasi mengenai analis pasar, harga forex, komoditi, berita-berita yang berkaitan dengan isu-isu yang sekiranya mempengaruhi pasar.

Lantas bagaimana cara mengambil dan memanfaatkan data-data Yahoo Finance ini untuk di aplikasikan kedalam metode-metode data driven investing seperti machine learning, algoritma trading, dan sebagainya ?

Beberapa waktu yang lalu, Yahoo Finance menyediakan API (aplication programming interface) untuk akses data, namun sejak 2017, layanan API di hentikan, karena banyaknya penyalahgunaan data. Yahoo Finance saat ini hanya tersedia dalam bentuk web, dan data-data yang di sajikan juga dalam bentuk web. Untuk mengambil data-data tersebut, salah satu cara adalah dengan menggunakan web crawler yang mempunyai kesulitan cukup tinggi, atau dengan cara yang lebih primitif, yaitu dengan melakukan copy secara langsung, baik dengan metode save-as atau copy paste. Tapi akan diperlukan langkah lebih lanjut agar data tersebut dapat di pakai.

Ran Arrousi, seorang developer open source, membuat library yFinance untuk bisa melakukan akses data-data yang tersedia di Yahoo Finance, secara gratis.

yFinance merupakan library python opensource yang sangat berguna untuk mengambil data-data historis dari Yahoo Finance. yFinance sangat mudah digunakan dan mempunyai granularitas data yang cukup baik. Kita bisa mendapatkan data pasar dengan periode 1 menit, hingga 3 bulan.

Pemakaian

Sebelum bisa di pakai, library yFinance harus di instalasi terlebih dulu. Instalasi library yFinance sangat mudah, apabila sudah ada python, maka cukup menggunakan pip untuk instalasi

pip install yfinance

Contoh pemakaian

Untuk contoh, data yang akan di ambil adalah data-data saham BCA dengan kode ticker BBCA. Untuk data pasar Indonesia (IDX), perlu ditambahkan akhiran “.JK”

#import library
import yfinance as yf
bbca = yf.Ticker('BBCA.JK')

Mengambil info emiten

bbca.info

Hasil :

Output info emiten yfinance

Mengambil data dividend

bbca.dividens

Hasil :

Output dividen yfinance

Mengambil data financial statement

bbca.financial_statement

Hasil :

Output financial statement

Mengambil data neraca / balance sheet

bbca.balance_sheet

Hasil :

Output Neraca

Mengambil data harga saham dari awal pencatatan

bbca.history(period="MAX")

Hasil :

Output data historis

Mengambil data harga saham dengan periode tertentu

bbca.history(start="2022-01-01",end="2022-02-02")

Hasil :

Output data historis dengan range

Untuk data harga saham, ada beberapa opsi

period : 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max

interval : 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo

Mengambil data beberapa saham sekaligus

data = yf.download("BBNI.JK BBCA.JK", start="2022-01-01", end="2022-04-30")
print(data)

Hasil :

Output historis beberapa saham

Beberapa contoh yang lain

# data dividends, splits
bbca.actions
# data dividend
bbca.dividends
# data stock split
bbca.splits
# data finansial
bbca.financials
bbca.quarterly_financials
# data pemegang saham
bbca.major_holders
# data neraca
bbca.balance_sheet
bbca.quarterly_balance_sheet
# data cashflow
bbca.cashflow
bbca.quarterly_cashflow
# data revenue earnings
bbca.earnings
bbca.quarterly_earnings

Untuk kode lengkap bisa di cek di github

https://github.com/wimasy/invstr/tree/main/yfinance1

Penutup

yFinance memberikan cara sederhana untuk mengambil data dari Yahoo Finance. Tapi perlu di ingat, bahwa yFinance hanya sesuai untuk keperluan pribadi saja, tidak untuk kepentingan komersial. Kelengkapan data dan ke akuratan data tidak dijamin oleh pengembang library, karena memang proyek ini dibuat tidak untuk komersial. Ada beberapa produk API komersial yang bisa dipakai apabila memang di perlukan data yang akurat dan lengkap.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get updates

From art exploration to the latest archeological findings, all here in our weekly newsletter.

Subscribe