Datavest là một hệ thống đầu tư định lượng (Quant Trading) tích hợp trí tuệ nhân tạo, cho phép tự động hóa quy trình thu thập dữ liệu, phân tích chỉ số kỹ thuật, đánh giá sức khỏe tài chính doanh nghiệp và đưa ra khuyến nghị đầu tư (MUA/BÁN/GIỮ) thông qua mô hình học máy XGBoost. Hệ thống bao gồm Backend Django quản lý luồng dữ liệu/AI và Mobile App React Native để hiển thị trực quan.
- Hybrid Quant Engine: Mô hình AI kết hợp đồng thời cả Phân tích kỹ thuật (Technical Analysis - 11 chỉ báo phổ biến như RSI, MACD, Bollinger Bands, OBV...) và Phân tích cơ bản (Fundamental Analysis - P/E, EPS, ROE, ROA theo từng quý).
- Automated Data Ingestion: Thu thập dữ liệu giao dịch lịch sử và báo cáo tài chính trực tiếp từ các sàn chứng khoán Việt Nam qua API với cơ chế chống chặn (Rate-limit chunking).
- Professional Interactive Charts: Biểu đồ nến Nhật tích hợp thư viện Lightweight Charts (TradingView) chạy hoàn toàn ngoại tuyến (offline-ready) trên thiết bị di động, hỗ trợ bật/tắt các đường EMA và chỉ báo RSI.
- Admin Control Panel: Giao diện quản trị Admin Django cho phép vận hành, kiểm soát toàn bộ chuỗi xử lý (Cào giá, Tính chỉ báo, Huấn luyện mô hình, Dự báo tín hiệu) chỉ bằng một cú click.
- Secure Authentication & Watchlist: Hệ thống xác thực người dùng dựa trên Token (Token Authentication) được lưu trữ mã hóa trên thiết bị (
expo-secure-store) cùng tính năng danh mục theo dõi (Watchlist) cá nhân hóa.
- Ngôn ngữ: Python
- Framework: Django & Django REST Framework
- Cơ sở dữ liệu: PostgreSQL
- Machine Learning: XGBoost Classifier
- Data Processing: Pandas, Numpy
- Chỉ báo kỹ thuật: Thư viện
ta(Technical Analysis Library) - Data Source: VNStock API
- Framework: React Native (Expo SDK)
- Ngôn ngữ: TypeScript
- Navigation: React Navigation (Stack & Tab Navigators)
- Storage: Expo Secure Store (Mã hóa dữ liệu cục bộ)
- Charts: TradingView Lightweight Charts (WebView)
- HTTP Client: Axios
┌────────────────────────────────────────────────────────┐
│ DATA PIPELINE │
│ │
│ [VNStock API] │
│ │ (Crawl Price & Fundamentals) │
│ ▼ │
│ [PostgreSQL] │
│ │ (Calculate RSI, MACD, EMA...) │
│ ▼ │
│ [Feature Engineering] │
│ │ (Train Train/Test Split) │
│ ▼ │
│ [XGBoost Model] │
│ │ (Market Inference & Prediction) │
│ ▼ │
│ [Investment Signals] ──▶ [Django REST API] ──▶ [Mobile App]
└────────────────────────────────────────────────────────┘
Chuyển vào thư mục gốc của dự án:
Cài đặt các thư viện Python:
pip install -r requirements.txtKhởi tạo các bảng dữ liệu trong PostgreSQL:
python manage.py makemigrations
python manage.py migrateTạo tài khoản quản trị (Admin):
python manage.py createsuperuserKhởi động server phát triển:
python manage.py runserverBackend sẽ chạy tại địa chỉ: http://127.0.0.1:8000/
Chuyển vào thư mục mobile_app:
cd mobile_appCài đặt các gói phụ thuộc (Dependencies):
npm installKhởi động Expo Developer Tool:
npx expo start -cBạn có thể quét mã QR bằng ứng dụng Expo Go trên điện thoại hoặc chạy trực tiếp trên máy ảo Android/iOS.
Để hệ thống bắt đầu đưa ra dự báo, bạn cần kích hoạt quy trình xử lý dữ liệu từ trang quản trị Django Admin (http://127.0.0.1:8000/admin/):
- Truy cập quản lý tài sản: Vào mục
Assets, chọn danh sách các mã cổ phiếu muốn xử lý. - Kích hoạt Actions: Chọn lần lượt các tác vụ sau trong thanh công cụ Action và nhấn Go:
1. Cào Dữ liệu Giá (Price/Volume): Thu thập dữ liệu OHLCV lịch sử.1. Cào Dữ liệu Cơ bản (Fundamental): Thu thập chỉ số P/E, ROE, EPS theo quý.2. Tính toán Đặc trưng Kỹ thuật (Quant Features): Tính toán các chỉ báo kỹ thuật và gắn nhãn cho dữ liệu.3. Huấn luyện Mô hình AI (Train XGBoost): Huấn luyện mô hình XGBoost trên dữ liệu lịch sử và xuất ra báo cáo chính xác.4. Chạy Dự báo AI (Inference): Sử dụng mô hình mới nhất để dự báo xu hướng thị trường ngày hôm nay và lưu tín hiệu.
Sau khi quy trình trên hoàn thành, mở Mobile App và kéo làm mới danh sách để xem các khuyến nghị đầu tư mới nhất từ AI.