| **Version: 2.1.0 | Updated: 2026-01-19** |
Hướng dẫn này giúp bạn cập nhật dữ liệu cổ phiếu cho Stock Screener AI Pro v2.1, bao gồm:
Sau khi hoàn thành, bạn sẽ có:
stocks_data_ai_complete.json mới với liquidity scoresKhuyến nghị: Cập nhật mỗi tuần 1 lần (thứ 2 hoặc thứ 6)
Files cần có:
CafeF.HNX.Upto[DATE].csv
CafeF.UPCOM.Upto[DATE].csv
CafeF.HOSE.Upto[DATE].csv
Nếu có script tự động download, đảm bảo format CSV giống CafeF.
# Nếu chưa có Python, download tại python.org
# Cài đặt thư viện
pip install pandas numpy
# 1. Đặt CSV files và update_data.py trong cùng folder
# 2. Chạy script
python update_data.py
# 3. Đợi 2-3 phút
# 4. Kiểm tra output
ls -lh stocks_data_ai_complete.json
🚀 STOCK SCREENER AI v2.1 - WITH LIQUIDITY SYSTEM
======================================================================
📂 Step 1: Loading CSV files (3 exchanges)...
✓ HNX: CafeF.HNX.Upto14.01.2026.csv
Rows: 13,189
✓ UPCOM: CafeF.UPCOM.Upto14.01.2026.csv
Rows: 22,738
✓ HOSE: CafeF.HOSE.Upto16.01.2026.csv
Rows: 25,456
📊 Step 2: Processing data (90 days)...
✓ HNX: 1,234 rows
✓ UPCOM: 2,567 rows
✓ HOSE: 3,890 rows
📈 Step 3: Calculating technical indicators...
✓ HNX: 120 stocks processed
✓ UPCOM: 163 stocks processed
✓ HOSE: 371 stocks processed
💧 Step 4: Calculating liquidity scores...
✓ Liquidity breakdown:
🟢 Excellent (8-10): 206
🟡 Good (6-8): 290
🟠 Moderate (4-6): 148
🔴 Poor (2-4): 10
⛔ Very Poor (<2): 0
🤖 Step 5: Running AI analysis (4 levels)...
✓ AI analysis completed
💾 Step 6: Saving data...
✓ stocks_data_ai_complete.json (6.6 MB)
======================================================================
✅ UPDATE HOÀN THÀNH v2.1!
======================================================================
📊 Tổng quan:
• Version: 2.1
• Tổng: 654 mã
• Sàn: HNX, UPCOM, HOSE
• HNX: 120 mã (98 mã an toàn)
• UPCOM: 163 mã (135 mã an toàn)
• HOSE: 371 mã (263 mã an toàn)
💧 Liquidity:
• 496 mã trade an toàn (liquidity ≥6)
• 158 mã cẩn thận (liquidity <6)
• 3 mã bị AI override do liquidity
📅 Data: 2026-01-16
💾 Size: 6.6 MB
🎯 TOP 3 SAFE PICKS (High Liquidity + AI Recommend):
1. VNM (HOSE) - 🟢🟢 MUA MẠNH
💯 AI Score: 9.2/10
💧 Liquidity: 🟢 XUẤT SẮC (9.5/10)
📊 Volume: 2,500,000 | Exit: 1 ngày
💰 Max Capital: Không giới hạn
2. HPG (HOSE) - 🟢 MUA
💯 AI Score: 8.5/10
💧 Liquidity: 🟢 XUẤT SẮC (9.1/10)
📊 Volume: 1,800,000 | Exit: 1-2 ngày
💰 Max Capital: Không giới hạn
3. CEO (HNX) - 🟢 MUA
💯 AI Score: 7.8/10
💧 Liquidity: 🟡 TỐT (7.2/10)
📊 Volume: 45,000 | Exit: 3-5 ngày
💰 Max Capital: 50-100 triệu
======================================================================
🚀 LIQUIDITY SYSTEM ACTIVE!
======================================================================
1. Truy cập: drive.google.com
2. Tạo folder: stock-screener-data
3. Upload 3 CSV files vào folder
1. Truy cập: colab.research.google.com
2. File → Upload notebook
3. Upload: Stock_Screener_Update.ipynb
# Cell 1: Mount Google Drive
from google.colab import drive
drive.mount('/content/drive')
# → Click "Connect to Google Drive" → Authorize
# Cell 2: Config
FOLDER_PATH = '/content/drive/MyDrive/stock-screener-data'
import os
os.chdir(FOLDER_PATH)
# Cell 3: Main Script
# (Copy toàn bộ code từ update_data.py)
# → Runtime → Run All
# Cell 4: Download
from google.colab import files
files.download('stocks_data_ai_complete.json')
File sẽ tự động download về máy (thường vào folder Downloads)
1. Vào GitHub repo của bạn
2. Click vào file: stocks_data_ai_complete.json
3. Click icon ✏️ (Edit)
4. Delete all content
5. Paste nội dung JSON mới
6. Scroll xuống → Commit changes
Message: "Update data: 2026-01-16"
7. Click "Commit changes"
# 1. Copy JSON file vào repo folder
cp stocks_data_ai_complete.json /path/to/your/repo/
# 2. Git commands
cd /path/to/your/repo
git add stocks_data_ai_complete.json
git commit -m "Update data: 2026-01-16 - 654 stocks with liquidity"
git push origin main
1. Mở GitHub Desktop
2. Select repository
3. Copy JSON file vào repo folder
4. GitHub Desktop tự động detect changes
5. Commit message: "Update data: 2026-01-16"
6. Click "Commit to main"
7. Click "Push origin"
1. Truy cập: https://wasakaa.github.io/stock-screener/stock_screener_ai_pro.html
2. Refresh (Ctrl+F5)
3. Check "Cập nhật:" date → phải là ngày mới
4. Check "Tổng số mã" → phải đúng số lượng
5. Test filters → hoạt động OK
6. Click vào 1 mã → check liquidity badge
✅ Stats cards hiển thị đúng
✅ “Cập nhật:” date mới
✅ Tổng số mã đúng
✅ Liquidity badges hiển thị
✅ Filters hoạt động
✅ Modal chart OK
✅ Mobile responsive
Nguyên nhân: Script không tìm thấy CSV files
Giải pháp:
# Check files có đúng folder không
ls *.csv
# Check tên files đúng format
# Đúng: CafeF.HNX.Upto14.01.2026.csv
# Sai: hnx_data.csv
Nguyên nhân: CSV format không đúng
Giải pháp:
Nguyên nhân: Script chạy thành công nhưng không tìm thấy output
Giải pháp:
# Check current directory
pwd
# Tìm file
find . -name "stocks_data_ai_complete.json"
Nguyên nhân: JSON file lỗi hoặc không load được
Giải pháp:
Không sao! Chỉ là warning, không ảnh hưởng kết quả.
# Backup JSON cũ
cp stocks_data_ai_complete.json stocks_data_backup_$(date +%Y%m%d).json
# Quick check
import json
with open('stocks_data_ai_complete.json') as f:
data = json.load(f)
print(f"Version: {data['version']}")
print(f"Total stocks: {data['total_stocks']}")
print(f"Exchanges: {data['exchanges']}")
print(f"Safe stocks: {data['statistics']['safe_to_trade']}")
Tạo cron job để tự động chạy hàng tuần:
# Linux/Mac: crontab -e
0 9 * * 1 cd /path/to/script && python update_data.py && git add . && git commit -m "Auto update" && git push
JSON file không nên vượt quá 10 MB (GitHub limit: 100 MB, nhưng nên giữ nhỏ để load nhanh)
Mỗi lần update, nên note lại:
{
"last_update": "2026-01-16",
"version": "2.1",
"total_stocks": 654,
"exchanges": ["HNX", "UPCOM", "HOSE"],
"liquidity_levels": {
"excellent": 206,
"good": 290,
"moderate": 148,
"poor": 10,
"very_poor": 0
},
"statistics": {
"swing_trading": 137,
"long_term": 517,
"strong_buy": 45,
"buy": 123,
"liquidity_overridden": 3,
"safe_to_trade": 496
},
"stocks": [
{
"ticker": "VNM",
"exchange": "HOSE",
"price": 85.5,
"liquidity": {
"score": 9.5,
"level": "EXCELLENT",
"label": "🟢 XUẤT SẮC",
"trade_safe": true,
"max_capital": "Không giới hạn",
"exit_time": "1-2 ngày"
},
"ai_ensemble": {
"final_action": "STRONG_BUY",
"final_label": "🟢🟢 MUA MẠNH",
"composite_score": 9.2,
"confidence": 85
}
}
]
}
Nếu gặp vấn đề:
python --version)Nếu muốn thêm sàn khác (VD: HSX):
update_data.py:
# Thêm vào line ~55
hsx_files = [f for f in csv_files if 'HSX' in f]
# Thêm vào line ~75
if hsx_files:
hsx_file = sorted(hsx_files)[-1]
dfs['HSX'] = pd.read_csv(hsx_file)
# Thêm liquidity threshold trong calculate_liquidity_score()