Dapatkan penawaran harga menggunakan Python

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 the yfinance. If you get module not found error the run !pip install yfianance from your Jupyter notebook
import yfinance as yf

# Get the data for the stock AAPL
data = yf.download('AAPL','2016-01-01','2019-08-01')

# Import the plotting library
import matplotlib.pyplot as plt
%matplotlib inline

# Plot the close price of the AAPL
data['Adj Close'].plot()
plt.show()

gambar

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.

# Define the ticker list
import pandas as pd
tickers_list = ['AAPL', 'WMT', 'IBM', 'MU', 'BA', 'AXP']

# Import pandas
data = pd.DataFrame(columns=tickers_list)

# Fetch the data

for ticker in tickers_list:
    data[ticker] = yf.download(ticker,'2016-01-01','2019-08-01')['Adj Close']

# Print first 5 rows of the data
data.head()

gambar

# Plot all the close prices
((data.pct_change()+1).cumprod()).plot(figsize=(10, 7))

# Show the legend
plt.legend()

# Define the label for the title of the figure
plt.title("Adjusted Close Price", fontsize=16)

# Define the labels for x-axis and y-axis
plt.ylabel('Price', fontsize=14)
plt.xlabel('Year', fontsize=14)

# Plot the grid lines
plt.grid(which="major", color='k', linestyle='-.', linewidth=0.5)
plt.show()

gambar

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.

gambar

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.

gambar

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.

Source: https://habr.com/ru/post/undefined/


All Articles