Cách lấy dữ liệu giá cổ phiếu bằng Python

Bạn đang tìm cách truy xuất dữ liệu thị trường chứng khoán bằng Python? Bạn đang ở đúng nơi. Trong bài viết này, bạn sẽ học cách lấy dữ liệu thị trường chứng khoán bằng Python. Bạn có thể sử dụng thêm dữ liệu để phân tích, hình dung và nhận thông tin chi tiết từ dữ liệu đó.


Bạn sẽ sử dụng yfinance Thư viện Python để lấy dữ liệu giá thị trường chứng khoán hiện tại và lịch sử từ Yahoo Finance.


Cài đặt Thư viện Bắt buộc

Yahoo Finance là một trong những nền tảng được sử dụng rộng rãi cung cấp dữ liệu thị trường chứng khoán. Bạn có thể dễ dàng tải xuống tập dữ liệu từ trang web của họ, nhưng nếu bạn muốn truy cập trực tiếp từ chương trình Python, bạn có thể sử dụng thư viện yfinance. Để cài đặt yfinance bằng pip, bạn cần chạy lệnh sau tại dấu nhắc lệnh:

pip install yfinance

Thư viện Python yfinance được sử dụng miễn phí và nó không yêu cầu khóa API.

Mã được sử dụng trong dự án này có sẵn trong kho lưu trữ GitHub và miễn phí cho bạn sử dụng theo giấy phép MIT.

Nhận dữ liệu giá cổ phiếu hiện tại

Bạn cần có mã chứng khoán mà bạn muốn trích xuất dữ liệu. Trong ví dụ sau, chúng tôi sẽ tìm giá thị trường và giá đóng trước đó cho GOOGL.

import yfinance as yf
ticker = yf.Ticker('GOOGL').info
market_price = ticker['regularMarketPrice']
previous_close_price = ticker['regularMarketPreviousClose']
print('Ticker: GOOGL')
print('Market Price:', market_price)
print('Previous Close Price:', previous_close_price)

Điều này tạo ra kết quả sau:

Ví dụ này sử dụng RegularMarketPricethường xuyênMarketPreviousClose thuộc tính để lấy dữ liệu cần thiết. Thư viện yfinance cung cấp nhiều thuộc tính khác mà bạn có thể khám phá. Chúng bao gồm zip, sector, fullTimeErantyees, longBusinessSummary, thành phố, điện thoại, tiểu bang và quốc gia. Bạn có thể nhận được danh sách đầy đủ các thuộc tính có sẵn bằng cách sử dụng mã này:

import yfinance as yf
ticker = yf.Ticker('GOOGL').info
print(ticker.keys())

Nhận dữ liệu giá cổ phiếu lịch sử

Bạn có thể lấy tất cả dữ liệu giá lịch sử bằng cách cung cấp ngày bắt đầu, ngày kết thúc và mã chứng khoán.


import yfinance as yf

start_date = '2020-01-01'
end_date = '2022-01-01'



ticker = 'GOOGL'



data = yf.download(ticker, start_date, end_date)



print(data.tail())

Điều này tạo ra kết quả sau:

Đoạn mã trên sẽ lấy dữ liệu giá cổ phiếu từ 2020-01-01 đến 2022-01-01.

Nếu bạn muốn lấy dữ liệu của nhiều mã cùng một lúc, bạn có thể làm như vậy bằng cách cung cấp các mã dưới dạng một chuỗi được phân tách bằng dấu cách.

import yfinance as yf
start_date = '2020-01-01'
end_date = '2022-01-01'

ticker = 'GOOGL MSFT TSLA'
data = yf.download(ticker, start_date, end_date)
print(data.tail())

Chuyển đổi dữ liệu để phân tích

Trong tập dữ liệu trên, Ngày là chỉ mục của tập dữ liệu và không phải là một cột. Để thực hiện bất kỳ phân tích dữ liệu nào trên dữ liệu này, bạn cần chuyển chỉ mục này thành một cột. Dưới đây là cách bạn có thể làm điều đó:

import yfinance as yf
start_date = '2020-01-01'
end_date = '2022-01-01'
ticker = 'GOOGL'
data = yf.download(ticker, start_date, end_date)
data["Date"] = data.index
data = data[["Date", "Open", "High",
"Low", "Close", "Adj Close", "Volume"]]


data.reset_index(drop=True, inplace=True)
print(data.head())

Điều này tạo ra kết quả sau:

Dữ liệu được chuyển đổi này giống với dữ liệu bạn đã tải xuống từ Yahoo Finance.

Lưu trữ dữ liệu đã nhận trong tệp CSV

Bạn có thể xuất đối tượng DataFrame sang tệp CSV bằng cách sử dụng to_csv () phương pháp. Vì dữ liệu ở trên đã ở dạng DataFrame của gấu trúc, bạn có thể xuất dữ liệu thành tệp CSV bằng cách sử dụng mã sau:

import yfinance as yf
start_date = '2020-01-01'
end_date = '2022-01-01'
ticker = 'GOOGL'
data = yf.download(ticker, start_date, end_date)
print(data.tail())
data.to_csv("GOOGL.csv")

Pandas là thư viện Python phân tích dữ liệu được sử dụng rộng rãi. Nếu bạn không cảm thấy thoải mái với thư viện này, bạn nên bắt đầu với các thao tác cơ bản bằng Pandas.

Trực quan hóa dữ liệu

Thư viện Python yfinance là một trong những thư viện thuận tiện nhất để thiết lập, tìm nạp dữ liệu và thực hiện các tác vụ phân tích dữ liệu. Bạn có thể sử dụng dữ liệu này để trực quan hóa kết quả và nắm bắt thông tin chi tiết bằng cách sử dụng các thư viện như Matplotlib, Seaborn hoặc Bokeh.

Bạn thậm chí có thể hiển thị những hình ảnh trực quan này trực tiếp trên trang web bằng PyScript.

Previous Post
Next Post

post written by: