Skip to main content

3 posts tagged with "Tài chính"

View All Tags

Cách lấy dữ liệu cổ phiếu từ yfinance với Python

· 3 min read

1️⃣ Giới thiệu về yfinance

yfinance là một thư viện Python giúp bạn dễ dàng lấy dữ liệu chứng khoán từ Yahoo Finance. Bạn có thể sử dụng nó để:
✅ Tải dữ liệu giá cổ phiếu theo thời gian thực
✅ Truy xuất dữ liệu lịch sử (daily, weekly, monthly)
✅ Lấy thông tin tài chính của công ty (P/E, EPS, Market Cap, ...)
✅ Phân tích các chỉ số quan trọng như Volume, Moving Average

Dữ liệu cổ phiếu từ yfinance


2️⃣ Cài đặt thư viện yfinance

Trước khi sử dụng yfinance, bạn cần cài đặt thư viện này bằng lệnh:

pip install yfinance

Nếu bạn chưa có thư viện pandas, hãy cài đặt luôn:

pip install pandas

3️⃣ Cách lấy dữ liệu giá cổ phiếu

📌 Lấy dữ liệu cổ phiếu theo mã chứng khoán

Dưới đây là cách lấy giá cổ phiếu của AAPL (Apple) từ Yahoo Finance:

import yfinance as yf

# Lấy dữ liệu cổ phiếu Apple
apple = yf.Ticker("AAPL")

# Xem thông tin chung về cổ phiếu
print(apple.info)

📌 Lấy dữ liệu giá lịch sử

Bạn có thể lấy giá cổ phiếu trong quá khứ với các khoảng thời gian khác nhau:

# Lấy dữ liệu giá lịch sử trong 1 năm qua
df = apple.history(period="1y")

# Hiển thị 5 dòng đầu tiên
print(df.head())

Bạn có thể thay đổi period để lấy dữ liệu trong thời gian khác như:

  • "1d" – Lấy dữ liệu trong 1 ngày
  • "5d" – 5 ngày
  • "1mo" – 1 tháng
  • "6mo" – 6 tháng
  • "1y" – 1 năm
  • "5y" – 5 năm
  • "max" – Toàn bộ lịch sử

4️⃣ Trực quan hóa dữ liệu giá cổ phiếu

Bạn có thể vẽ biểu đồ giá cổ phiếu với matplotlib như sau:

import matplotlib.pyplot as plt

# Vẽ biểu đồ giá đóng cửa
df['Close'].plot(figsize=(12,6), title="Giá cổ phiếu AAPL")
plt.xlabel("Ngày")
plt.ylabel("Giá đóng cửa (USD)")
plt.show()

📌 Kết quả:
Biểu đồ giá cổ phiếu Apple


5️⃣ Lấy dữ liệu nhiều cổ phiếu cùng lúc

Bạn có thể tải dữ liệu của nhiều cổ phiếu cùng một lúc bằng cách:

# Danh sách các mã chứng khoán
tickers = ["AAPL", "GOOGL", "MSFT", "AMZN"]

# Tải dữ liệu của nhiều cổ phiếu
data = yf.download(tickers, period="1y")

# Hiển thị dữ liệu
print(data.head())

6️⃣ Kết luận

yfinance là công cụ mạnh mẽ giúp bạn thu thập dữ liệu chứng khoán dễ dàng.
✅ Bạn có thể lấy dữ liệu lịch sử, giá theo thời gian thực và thông tin tài chính chỉ với vài dòng code.
✅ Kết hợp với pandasmatplotlib, bạn có thể phân tích và trực quan hóa dữ liệu hiệu quả.

Bạn muốn tìm hiểu thêm về cách phân tích cổ phiếu bằng Python? Hãy để lại bình luận bên dưới nhé! 🚀📈

Ứng dụng thực tế trong giao dịch tự động: Cách sử dụng Python để theo dõi và quét thị trường

· 2 min read

📌 Giới thiệu

Trong thị trường tài chính, việc theo dõi và quét dữ liệu liên tục là yếu tố quan trọng giúp trader và nhà đầu tư ra quyết định nhanh chóng. Python cung cấp nhiều thư viện mạnh mẽ để tự động hóa quá trình này, giúp chúng ta:

✅ Lấy dữ liệu giá theo thời gian thực
✅ Phân tích tín hiệu giao dịch
✅ Tạo cảnh báo hoặc tự động thực hiện lệnh giao dịch
✅ Lên lịch chạy bot theo timeframe

Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách sử dụng Python để theo dõi thị trường một cách tự động.


⚡ 1. Cách lấy dữ liệu thị trường

1.1 Sử dụng yfinance để lấy dữ liệu cổ phiếu

import yfinance as yf

ticker = 'AAPL'
data = yf.download(ticker, period='5d', interval='1h')
print(data.tail())

1.2 Lấy dữ liệu tiền điện tử với ccxt

import ccxt

exchange = ccxt.binance()
symbol = 'BTC/USDT'
ohlcv = exchange.fetch_ohlcv(symbol, timeframe='1m', limit=5)
print(ohlcv)

🔄 2. Quét thị trường tự động theo timeframe

2.1 Sử dụng schedule để chạy bot theo lịch

import schedule
import time

def scan_market():
print("🔍 Quét thị trường...")

schedule.every(1).minutes.do(scan_market)

while True:
schedule.run_pending()
time.sleep(1)

2.2 Sử dụng while True để chạy bot liên tục

from datetime import datetime
import time

def scan_market():
print(f"🔍 Quét thị trường lúc {datetime.now()}")

run_minutes = list(range(0, 60, 1))

while True:
current_time = datetime.now()
current_minute = current_time.minute

if current_minute in run_minutes:
scan_market()
time.sleep(60)

🚀 3. Tích hợp giao dịch tự động

3.1 Kết nối API Binance để đặt lệnh

import ccxt

binance = ccxt.binance({
"apiKey": "YOUR_API_KEY",
"secret": "YOUR_SECRET_KEY"
})

order = binance.create_market_buy_order('BTC/USDT', 0.001)
print(order)

🎯 Kết luận

Python cung cấp nhiều công cụ mạnh mẽ giúp chúng ta tự động hóa quá trình theo dõi và quét thị trường.

🔹 Lấy dữ liệu: Sử dụng yfinance, ccxt để lấy dữ liệu chứng khoán và crypto
🔹 Quét thị trường: Lên lịch với schedule, chạy liên tục với while True
🔹 Tự động giao dịch: Kết nối API Binance để đặt lệnh

Bằng cách kết hợp các kỹ thuật này, chúng ta có thể xây dựng bot giao dịch hiệu quả và tối ưu hóa chiến lược giao dịch tự động. 🚀

Webinar 16.2: Phân tích định lượng, Backend API, xây dựng Bot cho giao dịch đầu tư tài chính

· 4 min read

Webinar 16.2: Phân tích định lượng, Backend API, xây dựng Bot cho giao dịch đầu tư tài chính

Video


Giới thiệu

Buổi webinar với chủ đề "Phân tích định lượng, Backend API, xây dựng Bot cho giao dịch đầu tư tài chính" đã diễn ra với nhiều nội dung hấp dẫn và thực tế. Tiến sĩ Đặng Anh Tuấn đã chia sẻ những kiến thức quý báu và kinh nghiệm thực tiễn trong lĩnh vực phân tích giao dịch định lượng.


Nội dung chính

1. Phân tích định lượng trong giao dịch tài chính

  • Quy trình phân tích:

    • Bước 1: Phân tích kỹ thuật.
    • Bước 2: Phân tích cơ bản.
    • Bước 3: Áp dụng các thuật toán học máy.
    • Bước 4: Giao dịch tự động (Bot trading).
  • Phân tích kỹ thuật:

    • Sử dụng các chỉ báo kỹ thuật như đường trung bình động (MA), RSI, MACD.
    • Dự báo giá dựa trên biểu đồ nến và các mô hình giá.
  • Phân tích cơ bản:

    • Đánh giá các yếu tố kinh tế vĩ mô, tình hình doanh nghiệp, và các yếu tố ảnh hưởng đến thị trường.
  • Thuật toán học máy:

    • Sử dụng các mô hình như mạng neuron nhân tạo (ANN), học sâu (Deep Learning), và học tăng cường (Reinforcement Learning).
    • Huấn luyện mô hình trên dữ liệu lịch sử để dự báo giá và tối ưu hóa chiến lược giao dịch.

2. Tích hợp Backend và API

  • Backend với Python:

    • Sử dụng Python để xây dựng backend, xử lý dữ liệu và cung cấp API.
    • Các thư viện phổ biến: Flask, FastAPI, Pandas, NumPy, Scikit-learn.
  • API trong giao dịch tự động:

    • API cho phép kết nối giữa ứng dụng giao dịch và sàn giao dịch.
    • Lấy dữ liệu thời gian thực (Real-time data) và thực hiện giao dịch tự động.
  • Demo tạo API đơn giản:

    • Tạo API bằng Flask để kết nối với cơ sở dữ liệu và trả về dữ liệu dạng JSON.
    • Sử dụng Postman để kiểm tra API.

3. Xây dựng Bot giao dịch tự động

  • Bot giao dịch:

    • Bot tự động thực hiện giao dịch dựa trên các tín hiệu từ phân tích kỹ thuật và học máy.
    • Tích hợp API để lấy dữ liệu thời gian thực và thực hiện lệnh giao dịch.
  • Chiến lược giao dịch:

    • Quét thị trường để tìm các mã cổ phiếu tiềm năng.
    • Đặt lệnh mua/bán dựa trên các điều kiện đã được lập trình sẵn.
  • Xử lý độ trễ:

    • Độ trễ trong giao dịch tự động có thể ảnh hưởng đến hiệu suất.
    • Giải pháp: Sử dụng các kỹ thuật như Slip (đợi vài giây giữa các lệnh) để tránh bị chặn bởi sàn giao dịch.

4. Thách thức và giải pháp

  • Thách thức:

    • Dữ liệu thời gian thực không phải lúc nào cũng chính xác.
    • Rủi ro từ các yếu tố bên ngoài như biến động chính trị, kinh tế.
    • Độ trễ trong giao dịch tự động.
  • Giải pháp:

    • Sử dụng các thuật toán học máy để cải thiện độ chính xác của dự báo.
    • Tối ưu hóa chiến lược giao dịch để giảm thiểu rủi ro.
    • Sử dụng các nguồn dữ liệu đáng tin cậy và cập nhật thường xuyên.

Kết luận

  • Phân tích định lượnggiao dịch tự động là những công cụ mạnh mẽ giúp nhà đầu tư tối ưu hóa chiến lược và giảm thiểu rủi ro.
  • Backend và API đóng vai trò quan trọng trong việc kết nối và xử lý dữ liệu thời gian thực.
  • Bot giao dịch tự động giúp tăng hiệu suất và giảm thiểu sai sót trong quá trình giao dịch.

Tài liệu tham khảo