Chán ngấy việc sử dụng các ứng dụng quản lý danh mục crypto chung chung mà tính phí bạn $15/tháng cho một bố cục "cao cấp"? Nếu bạn muốn kiểm soát hoàn toàn dữ liệu của mình, đã đến lúc xây dựng hệ thống quản lý tập trung riêng.
Hôm nay, chúng ta sẽ kết hợp sức mạnh của bố cục Notion với sức mạnh dữ liệu của API Binance. Chúng ta sẽ viết một script Python tự động lấy số dư thời gian thực của bạn và chuẩn bị để đồng bộ trực tiếp vào một cơ sở dữ liệu Notion tùy chỉnh.
Không còn nhập dữ liệu thủ công nữa. Hoàn toàn tự động hóa.
Bước 1: Thiết lập
Bạn sẽ cần hai thứ:
1. Khóa API Binance của bạn (Quyền chỉ đọc!).
2. Một tài khoản Notion với một cơ sở dữ liệu trống được tạo.
Lưu ý: Để tích hợp đầy đủ, bạn cũng sẽ tạo một khóa API tích hợp Notion, nhưng hôm nay chúng ta đang xây dựng động cơ trích xuất dữ liệu Binance.
Bước 2: Trích xuất dữ liệu danh mục đầu tư sạch
Khi bạn lấy số dư của mình từ Binance, nó sẽ cho bạn một danh sách khổng lồ của mọi đồng coin trên sàn giao dịch, bao gồm cả những lượng bụi nhỏ. Chúng ta cần viết một kịch bản lọc dữ liệu này để chỉ gửi các khoản nắm giữ thực tế của chúng ta vào Notion.
Đảm bảo bạn đã cài đặt thư viện ccxt (pip install ccxt).
import ccxt
# 1. Kết nối với tài khoản Binance của bạn
# NHẮC NHỞ AN NINH: Không bao giờ chia sẻ những khóa này.
binance = ccxt.binance({
'apiKey': 'YOUR_API_KEY_HERE',
'secret': 'YOUR_API_SECRET_HERE',
'enableRateLimit': True,
})
try:
# 2. Lấy dữ liệu số dư thô
raw_balance = binance.fetch_balance()
# 3. Tạo một từ điển sạch cho cơ sở dữ liệu Notion của chúng ta
clean_portfolio = {}
# 4. Lọc ra những số dư trống và "bụi"
for coin, amount in raw_balance['total'].items():
if amount > 0.001: # Điều chỉnh ngưỡng này để ẩn lượng bụi
# Ở đây chúng ta lấy giá USDT hiện tại cho đồng coin
try:
ticker = binance.fetch_ticker(f"{coin}/USDT")
current_price = ticker['last']
usd_value = amount * current_price
# Chỉ lưu các đồng coin có giá trị lớn hơn $1 vào bảng điều khiển của chúng ta
if usd_value > 1.0:
clean_portfolio[coin] = {
'amount': round(amount, 4),
'usd_value': round(usd_value, 2)
}
except:
pass # Bỏ qua các đồng coin không có cặp USDT trực tiếp
print("✅ Dữ liệu đã được trích xuất và làm sạch. Sẵn sàng cho Đồng bộ Notion:")
for coin, data in clean_portfolio.items():
print(f"{coin}: {data['amount']} coins | Giá trị: ${data['usd_value']}")
except Exception as e:
print(f"Lỗi: {e}")
Bước 3: Tại sao hệ thống này chiến thắng
Khi dữ liệu này được trích xuất, bước tiếp theo là sử dụng thư viện requests để POST trực tiếp đến URL cơ sở dữ liệu Notion của bạn.
Tại sao phải xây dựng điều này?
• Quyền riêng tư: Dữ liệu danh mục đầu tư của bạn chỉ giữ giữa bạn, Binance và không gian làm việc Notion riêng tư của bạn. Không có ứng dụng theo dõi bên thứ ba.
• Tùy chỉnh: Trong Notion, bạn có thể xây dựng các công thức tùy chỉnh xung quanh dữ liệu này—tính thuế, đặt mục tiêu hình ảnh hoặc theo dõi danh mục đầu tư của bạn so với chi phí thực tế.
Bạn có muốn phần 2, nơi chúng ta viết mã API chính xác để đẩy dữ liệu này vào các bảng Notion không? Để lại một "+" trong bình luận nếu tôi nên bỏ phần mã còn lại! 👇

#Notion #BinanceAPI #PortfolioTracker #PythonTrading #TechInCrypto
