Xây Dựng Module Common trong Python cho Giao Dịch Tự Động
Giới Thiệu
Trong giao dịch tự động, việc quản lý và tải dữ liệu tài chính từ các nguồn đáng tin cậy là rất quan trọng. Bài viết này hướng dẫn cách xây dựng module Common trong Python giúp tải dữ liệu từ Yahoo Finance (YFinance) để sử dụng trong các bot giao dịch tự động.
1. Cấu Trúc Module Common
Chúng ta sẽ tạo một module Python với tên Common để có thể sử dụng trong nhiều dự án giao dịch tự động khác nhau.
Cấu trúc thư mục:
/TradingBotProject
│── /Common
│ ├── __init__.py
│ ├── CommonYFinance.py
│── main.py
2. Nội Dung Của CommonYFinance.py
Tạo file CommonYFinance.py
với nội dung sau:
import pandas as pd
import yfinance as yf
class CommonYFinance:
@staticmethod
def loaddataYFinance(symbol, from_date, to_date, interval):
"""
Tải dữ liệu lịch sử của một mã chứng khoán từ Yahoo Finance.
Parameters:
- symbol: Mã chứng khoán (VD: 'VCB.VN')
- from_date: Ngày bắt đầu (YYYY-MM-DD)
- to_date: Ngày kết thúc (YYYY-MM-DD)
- interval: Khung thời gian ('1d', '1h', v.v.)
Returns:
- DataFrame chứa dữ liệu giá
"""
data = yf.download(symbol, start=from_date, end=to_date, interval=interval, auto_adjust=False)
data.reset_index(inplace=True)
data = data.rename(columns={'Date': 'Datetime'})
data.columns = data.columns.droplevel(1) # Xóa cấp độ dư thừa nếu có
data.columns.name = None
return data
@staticmethod
def Hello():
"""Hàm test đơn giản."""
print('Hello')
return '1'
3. Cách Sử Dụng Module Common
Trong file main.py
, chúng ta có thể import module CommonYFinance và tải dữ liệu như sau:
import sys
sys.path.append("../Common") # Thêm thư mục Common vào đường dẫn
from CommonYFinance import CommonYFinance
# Cấu hình thông số
symbol = 'VCB.VN'
from_date = '2023-11-01'
to_date = '2023-11-30'
interval = '1d'
# Tải dữ liệu
data = CommonYFinance.loaddataYFinance(symbol, from_date, to_date, interval)
print(data.head())
4. Tổng Kết
Module Common giúp chuẩn hóa quá trình tải dữ liệu tài chính, hỗ trợ phát triển bot giao dịch tự động hiệu quả hơn. Bạn có thể mở rộng module này để tích hợp thêm nhiều nguồn dữ liệu hoặc xử lý chuyên sâu hơn!
🚀 Hãy bắt tay vào xây dựng bot giao dịch thông minh của bạn ngay hôm nay!