Halo, Habr! Saya mempersembahkan kepada Anda terjemahan artikel "Data Harga Saham Historis dengan Python" oleh Ishan Shah.Artikel tentang cara mendapatkan data stok historis harian menggunakan yfinance dan data menit menggunakan alfa.Seperti yang Anda ketahui, saham adalah instrumen yang sangat fluktuatif dan sangat penting untuk menganalisis perilaku harga dengan cermat sebelum membuat keputusan perdagangan apa pun. Nah, pertama Anda perlu mendapatkan data dan python dapat membantu dengan ini.Pertukaran data dapat diunduh menggunakan berbagai paket. Artikel ini akan membahas keuangan yahoo dan keuntungan alfa.Keuangan Yahoo
Pertama, coba paket yfianance. Ini dapat diinstal menggunakan perintah install yfinance pip. Kode di bawah ini menunjukkan cara mendapatkan data untuk AAPL dari 2016 hingga 2019 dan membangun harga penutupan disesuaikan (harga penutupan disesuaikan untuk dividen dan split) pada grafik.
import yfinance as yf
data = yf.download('AAPL','2016-01-01','2019-08-01')
import matplotlib.pyplot as plt
%matplotlib inline
data['Adj Close'].plot()
plt.show()
Nah, jika Anda perlu mendapatkan beberapa saham, Anda perlu membuat sedikit tambahan kode. DataFrame digunakan untuk menyimpan nilai. Menggunakan paket matplotlib dan data yang diterima, Anda dapat membuat bagan profitabilitas harian.
import pandas as pd
tickers_list = ['AAPL', 'WMT', 'IBM', 'MU', 'BA', 'AXP']
data = pd.DataFrame(columns=tickers_list)
for ticker in tickers_list:
data[ticker] = yf.download(ticker,'2016-01-01','2019-08-01')['Adj Close']
data.head()

((data.pct_change()+1).cumprod()).plot(figsize=(10, 7))
plt.legend()
plt.title("Adjusted Close Price", fontsize=16)
plt.ylabel('Price', fontsize=14)
plt.xlabel('Year', fontsize=14)
plt.grid(which="major", color='k', linestyle='-.', linewidth=0.5)
plt.show()
Untuk nilai pada saham Rusia, ada sedikit kehalusan. Titik dan huruf kapital SAYA ditambahkan ke nama stok. Terima kasih para ahli pada smartlab yang diminta.
Dapatkan data menit dengan keunggulan Alpha
Sayangnya, versi gratis Yahoo Finance tidak memungkinkan Anda menerima data dengan frekuensi kurang dari yang harian. Untuk melakukan ini, Anda dapat menggunakan paket pandang Alpha, yang memungkinkan Anda untuk mendapatkan interval seperti 1 menit, 5 menit, 15 menit, 30 menit, 60 menit.
Di masa depan, data ini dapat dianalisis, membuat strategi perdagangan, dan mengevaluasi efektivitas menggunakan paket portofolio. Di dalamnya, Anda dapat mengevaluasi rasio Sharpe, koefisien Sortino, drawdown maksimum dan banyak indikator lain yang diperlukan.Saya harap terjemahan artikel asli saya akan bermanfaat bagi Anda. Kode telah diverifikasi dan semuanya berfungsi. Tetapi untuk saat ini, pertanyaan bagi saya adalah kemungkinan menggunakan keuntungan Alpha untuk pasar Rusia.