Cách phân tích danh mục đầu tư Crypto từ tệp CSV (Trên nhiều sàn giao dịch)

Để phân tích một danh mục đầu tư crypto trải rộng trên nhiều sàn giao dịch, hãy xuất file CSV từ mỗi sàn và chuẩn hóa chúng về cùng một schema. Sau đó, cấn trừ các giao dịch để tính ra các vị thế hiện tại và áp giá vốn để tính toán lợi nhuận và thua lỗ chưa thực hiện. Phần khó nhất không phải là toán học, mà là không có hai sàn giao dịch nào xuất ra các cột giống nhau.
Bất kỳ ai nắm giữ tài sản ở nhiều nơi đều đã từng gặp phải tình trạng này. Mỗi bảng điều khiển hiển thị một con số đầy tự tin, nhưng không bảng nào hiển thị bức tranh toàn cảnh. Tổng số tiền chỉ tồn tại dưới dạng phép tính mà ai đó phải tự làm bằng tay vào ngày Chủ Nhật.
Hướng dẫn này sẽ đề cập đến bước xuất dữ liệu và schema chuẩn hóa giúp các tệp tin có thể so sánh được với nhau. Sau đó, bài viết sẽ đi qua các bước tính toán vị thế và lợi nhuận/thua lỗ, cũng như chỉ ra thời điểm mà phương pháp thủ công bắt đầu tiêu tốn nhiều thời gian hơn là tiết kiệm.
Bài viết này nói về kỹ thuật phân tích dữ liệu. Đây không phải là lời khuyên đầu tư, thuế hay tài chính.
Những gì bạn cần chuẩn bị trước khi bắt đầu
Bạn cần xuất lịch sử giao dịch từ mọi nơi đang nắm giữ vị thế của bạn. Điều đó có nghĩa là các sàn giao dịch, và cả ví nữa nếu bạn có thể trích xuất lịch sử giao dịch từ chúng. Chỉ riêng lịch sử giao dịch mua bán là không đủ. Các khoản nạp, rút, phần thưởng staking, airdrop và phí đều làm thay đổi lượng tài sản bạn nắm giữ, và một danh mục đầu tư chỉ được xây dựng từ các lệnh mua và bán sẽ không thể đối chiếu khớp số liệu.
Bạn cũng cần quyết định trước hai điều này, vì chúng sẽ thay đổi kết quả đầu ra:
Phương pháp tính giá vốn của bạn. FIFO, LIFO và bình quân gia quyền tạo ra các con số lợi nhuận chưa thực hiện thực sự khác nhau trên cùng một tập hợp giao dịch. Hãy chọn một phương pháp và áp dụng nhất quán trên mọi sàn giao dịch.
Tiền tệ báo cáo của bạn. Nếu bạn đã giao dịch các cặp như ETH/BTC, một số giao dịch sẽ không có giá định danh bằng tiền pháp định đi kèm. Bạn sẽ cần một mức giá tham chiếu tại thời điểm giao dịch để quy đổi chúng về cùng một loại tiền tệ.
Một kết quả chuẩn chỉnh sẽ trông như thế này. Bạn sẽ có một bảng vị thế hiển thị số lượng, giá vốn trung bình, giá trị hiện tại và lợi nhuận chưa thực hiện cho từng tài sản. Bên cạnh đó là biểu đồ phân bổ hiển thị tỷ trọng của từng tài sản trong danh mục đầu tư crypto.
Cách thực hiện thủ công
Tùy chọn 1: Chuẩn hóa mọi file xuất dữ liệu về cùng một schema
Mở từng file CSV và ánh xạ các cột của nó vào một tập hợp chung: timestamp, venue, transaction type, asset, quantity, price, fee currency, fee amount.
Đây là nơi tập trung phần lớn công việc. Một sàn ghi là Buy, sàn khác ghi là BUY, sàn thứ ba lại ghi là Trade với số lượng dương hoặc âm để thể hiện chiều giao dịch. Mốc thời gian (timestamp) hiển thị theo giờ địa phương ở file xuất này nhưng lại theo giờ UTC ở file khác, điều này cực kỳ quan trọng ngay khi bạn sắp xếp theo thứ tự thời gian. Phí giao dịch xuất hiện dưới dạng một cột riêng biệt trên một số file xuất, nhưng lại được khấu trừ trực tiếp vào số lượng ở các file khác. Nếu bỏ sót điều đó, mọi vị thế tính toán được sẽ đều cao hơn thực tế một chút.
Chuyển đổi tất cả mốc thời gian sang UTC và chuẩn hóa các nhãn loại giao dịch. Gộp các file vào một trang tính duy nhất có thêm cột venue, để bạn có thể truy xuất nguồn gốc của bất kỳ dòng dữ liệu nào.
Tùy chọn 2: Cấn trừ các giao dịch để tính vị thế
Nhóm trang tính đã gộp theo tài sản và tính tổng số lượng có kèm dấu. Các lệnh mua, nạp tiền, phần thưởng và airdrop sẽ được cộng vào; các lệnh bán, rút tiền và phí thanh toán bằng tài sản đó sẽ bị trừ đi.
Có hai bước kiểm tra đáng để thực hiện trước khi bạn tin tưởng vào kết quả. Bất kỳ tài sản nào hiển thị số dư âm đều có nghĩa là thiếu một khoản nạp tiền hoặc có một loại giao dịch chưa được ánh xạ. Bất kỳ tài sản nào hiển thị một con số tròn trĩnh một cách đáng ngờ thường chỉ ra một giao dịch chuyển tiền giữa các ví/sàn của chính bạn. Nó đã được tính là một lệnh mua ở một bên mà không có lệnh rút tiền tương ứng ở bên kia. Chuyển khoản nội bộ là nguyên nhân phổ biến nhất dẫn đến việc tính trùng lặp dữ liệu.
Tùy chọn 3: Áp giá vốn và tính toán lợi nhuận/thua lỗ
Đi qua danh sách giao dịch của từng tài sản theo thứ tự thời gian, áp dụng phương pháp bạn đã chọn để theo dõi giá vốn của số lượng tài sản bạn vẫn đang nắm giữ. Bình quân gia quyền là phương pháp dễ thiết lập nhất trong trang tính: duy trì tổng lũy kế của chi phí và số lượng, rồi tính toán lại mức trung bình sau mỗi lần mua.
Nhân số lượng còn lại với giá thị trường hiện tại để ra giá trị hiện tại. Trừ đi giá vốn còn lại để tính lợi nhuận chưa thực hiện, và tính tổng lợi nhuận đã thực hiện được ghi nhận trên mỗi lệnh bán. Sau đó, thêm một cột phân bổ — giá trị của mỗi tài sản dưới dạng tỷ lệ phần trăm của danh mục đầu tư — đây thường là con số khiến người ta phải thay đổi góc nhìn.
Những điểm hạn chế khiến phương pháp thủ công bị chậm lại
Việc ánh xạ schema không phải là việc chỉ làm một lần là xong. Các sàn giao dịch thường xuyên sửa đổi định dạng xuất dữ liệu của họ, và một cột bị thay đổi vị trí có thể âm thầm làm hỏng một hàm tìm kiếm vốn hoạt động hoàn hảo trong quý trước.
Việc đối chiếu số liệu còn tồi tệ hơn. Để tìm ra một giao dịch chuyển khoản nội bộ không khớp trong số 4,000 dòng dữ liệu, bạn phải sắp xếp theo tài sản và mốc thời gian rồi đọc cho đến khi hai mục khớp nhau. Đó thực sự là một công việc tẻ nhạt và nó sẽ lặp lại mỗi khi bạn cập nhật dữ liệu.
And the file grows. Vài năm hoạt động trên ba sàn giao dịch có thể lên tới hàng chục nghìn dòng. Ở kích thước đó, một file trang tính chứa đầy các hàm tìm kiếm liên kết và công thức tính trung bình lũy kế sẽ trở nên chậm chạp và cực kỳ dễ lỗi.
Cách phân tích danh mục đầu tư crypto với Powerdrill Bloom
Bước 1: Tải lên dữ liệu của bạn
Tải lên các file CSV xuất từ mọi sàn giao dịch cùng một lúc. Powerdrill Bloom sẽ phân tích cấu trúc từng file riêng biệt, nhờ đó các tên cột và định dạng ngày tháng khác nhau sẽ hiển thị rõ ràng trước khi mọi thứ được kết hợp lại. Bạn có thể thấy file xuất nào sử dụng UTC và file nào không.
Bước 2: Mô tả yêu cầu phân tích bằng ngôn ngữ tự nhiên
Hãy yêu cầu những gì bạn muốn bằng ngôn ngữ thông thường. Gộp các file xuất này thành một lịch sử giao dịch duy nhất, cấn trừ chúng thành các vị thế theo tài sản và đánh dấu các khoản chuyển khoản nội bộ chỉ xuất hiện ở một bên. Sau đó, yêu cầu tính tỷ lệ phân bổ theo tài sản, lợi nhuận chưa thực hiện dựa trên phương pháp bình quân gia quyền, hoặc cách thức cơ cấu vị thế đã thay đổi như thế nào trong năm qua.
Bước 3: Xuất biểu đồ, báo cáo hoặc slide trình bày
Trích xuất biểu đồ phân bổ, bảng vị thế hoặc bản tóm tắt bằng văn bản về mức độ tập trung và hiệu suất danh mục. Việc cập nhật dữ liệu vào quý tới chỉ đơn giản là tải lên các file xuất mới và đặt câu hỏi tương tự.
Tại sao cách này vượt trội hơn việc dựng lại trang tính mỗi quý
| Trang tính thủ công | Powerdrill Bloom | |
|---|---|---|
| Ánh xạ schema | Phải dựng lại khi định dạng xuất dữ liệu thay đổi | Được xử lý theo từng file khi tải lên |
| Kiểm tra chuyển khoản nội bộ | Sắp xếp và đọc thủ công | Yêu cầu tìm các cặp không khớp trực tiếp |
| Thêm sàn giao dịch thứ tư | Ánh xạ mới, công thức mới | Chỉ cần thêm một file |
| Các câu hỏi tiếp theo | Mỗi lần hỏi là một lần viết công thức mới | Đặt câu hỏi trực tiếp trên cùng một dữ liệu |
Chi phí cộng dồn của phương pháp thủ công là mỗi câu hỏi đều trở thành một dự án nhỏ. Việc hỏi "tỷ lệ phân bổ của tôi trông như thế nào vào tháng 3" đồng nghĩa với việc phải dựng lại bảng vị thế tại thời điểm đó. Khi việc đặt câu hỏi trở nên dễ dàng và nhanh chóng, bạn sẽ hỏi nhiều hơn, và mức độ tập trung của danh mục đầu tư chính xác là kiểu thông tin mà mọi người chỉ phát hiện ra khi việc kiểm tra trở nên thuận tiện.
Các sai lầm thường gặp
Năm lỗi sau đây là nguyên nhân gây ra hầu hết các con số sai lệch trong một danh mục đầu tư crypto được xây dựng theo cách này.
Tính chuyển khoản nội bộ thành giao dịch mua bán. Một lệnh rút tiền từ sàn này và một lệnh nạp tiền ở sàn khác thực chất là cùng một chuyển động. Nếu tính chúng là hai sự kiện độc lập, nó sẽ thổi phồng cả lượng tài sản bạn nắm giữ lẫn khối lượng giao dịch thực tế của bạn.
Bỏ qua phí thanh toán bằng chính tài sản giao dịch. Việc trả phí bằng ETH sẽ làm giảm vị thế ETH của bạn. Các file xuất gộp phần phí này vào số lượng và các file xuất tách riêng nó ra cần được xử lý theo những cách khác nhau.
Trộn lẫn các phương pháp tính giá vốn giữa các sàn. Áp dụng bình quân gia quyền trên một sàn giao dịch và FIFO trên một sàn khác sẽ tạo ra một con số danh mục đầu tư hoàn toàn vô nghĩa.
Quên tính phần thưởng staking và airdrop. Chúng làm tăng số lượng tài sản mà không đi kèm lệnh mua tương ứng. Nếu bỏ qua chúng, giá vốn trung bình trên mỗi đơn vị tài sản của bạn sẽ bị tính quá cao.
So sánh với mức giá cũ. Giá trị hiện tại cần một mức giá có mốc thời gian nhất quán trên tất cả các tài sản. Việc lấy giá ở các thời điểm cách nhau vài giờ sẽ làm lệch tỷ lệ phần trăm phân bổ.
Kết luận
Việc phân tích danh mục đầu tư crypto trên nhiều sàn giao dịch chung quy lại gồm bốn bước: xuất tất cả dữ liệu, chuẩn hóa về một schema, cấn trừ thành các vị thế và áp giá vốn. Thực hiện việc này trên một trang tính là hoàn toàn khả thi. Nó vẫn khả thi cho đến khi bạn thêm sàn giao dịch thứ tư, hoặc một sàn giao dịch thay đổi các cột xuất dữ liệu của họ.
Nếu việc dựng lại trang tính mỗi quý là lý do khiến bạn ít kiểm tra danh mục hơn dự định, hãy thử Powerdrill Bloom với các file xuất hiện có của bạn. Đối với phiên bản đơn sàn của vấn đề này, hãy xem bài viết phân tích file CSV xuất từ sàn giao dịch crypto. Để tìm hiểu cách gộp các file nói chung, trang tính năng gộp file CSV sẽ hướng dẫn chi tiết về cơ chế hoạt động, và bài viết chuyển đổi file CSV thành biểu đồ sẽ hướng dẫn về cách hiển thị trực quan. Bạn cũng có thể tham khảo khảo sát về các công cụ rộng hơn trong bài tổng hợp các công cụ phân tích crypto bằng AI miễn phí của chúng tôi.
Các câu hỏi thường gặp
Làm cách nào để gộp các file xuất dữ liệu crypto từ các sàn giao dịch khác nhau?
Ánh xạ các cột của từng file xuất vào một schema chung: timestamp, venue, type, asset, quantity, price, fee. Sau đó, chuyển đổi tất cả mốc thời gian sang UTC và gộp các file lại với một cột venue. Việc giữ lại cột venue là yếu tố giúp bạn truy xuất nguồn gốc của bất kỳ con số nào về lại nguồn ban đầu của nó.
Cách tốt nhất để tính giá vốn crypto trong trang tính là gì?
Bình quân gia quyền là phương pháp thực tế nhất để thiết lập thủ công. Hãy duy trì tổng lũy kế của chi phí và số lượng cho mỗi tài sản, rồi tính toán lại mức trung bình sau mỗi lần mua. FIFO và LIFO yêu cầu theo dõi chi tiết theo từng lô, điều này sẽ trở nên vô cùng cồng kềnh khi vượt quá vài trăm giao dịch.
Tại sao tổng danh mục đầu tư crypto của tôi không khớp với các bảng điều khiển trên sàn giao dịch?
Các nguyên nhân phổ biến là chuyển khoản nội bộ bị tính hai lần, phí thanh toán bằng chính tài sản giao dịch chưa được khấu trừ, hoặc thiếu phần thưởng staking trong danh sách giao dịch. Hãy kiểm tra các số dư âm trước tiên — chúng luôn là dấu hiệu của một giao dịch bị thiếu hoặc chưa được ánh xạ.
Tôi có thể phân tích các giao dịch trên ví cùng với các file CSV của sàn giao dịch không?
Có, miễn là bạn có thể xuất lịch sử giao dịch có đầy đủ mốc thời gian, tài sản, số lượng và chiều giao dịch. Lịch sử giao dịch trên chuỗi thường cần ánh xạ phí gas thành một dòng phí riêng biệt, vì chúng làm giảm số dư của tài sản dùng để trả phí.
Tôi có cần theo dõi mọi giao dịch nhỏ lẻ không?
Đối với biểu đồ phân bổ, các giao dịch nhỏ hầu như không làm thay đổi kết quả. Nhưng đối với giá vốn và lợi nhuận đã thực hiện, chúng lại rất quan trọng, bởi vì mỗi giao dịch đều làm thay đổi giá vốn trung bình của số lượng tài sản bạn vẫn đang nắm giữ. Độ hoàn thiện của dữ liệu càng quan trọng hơn khi bạn muốn tính toán các con số lợi nhuận chính xác.