Panduan Hasil Nyata DeFi

Cara Menghitung Untung-Rugi Posisi LP yang Sebenarnya, Bukan Angka Dashboard

APR berjalan dan angka fee earned di dashboard tidak memberi tahu apakah posisi likuiditas Anda untung. Rumus rekonsiliasi lengkap, data yang harus dicatat dari block explorer, beda cara memeriksa pool V2 dan V3, serta pembanding kalau modal itu hanya dipegang.

Cara Menghitung Untung-Rugi Posisi LP yang Sebenarnya, Bukan Angka Dashboard

Dashboard pool menampilkan APR berjalan dan angka "fee earned", dan dua angka itu hampir selalu terlihat positif. Masalahnya, keduanya tidak menjawab pertanyaan yang sebenarnya Anda punya: sejak uang saya masuk ke pool ini, sekarang saya untung atau rugi?

Untuk menjawabnya Anda harus menghitung ulang sendiri, dari transaksi pertama. Artikel ini menjelaskan rumusnya, data apa yang harus dicatat, dan di mana data itu diambil.

Diagram rumus hasil bersih posisi LP: sisi tambah berisi nilai token saat ditarik, fee yang sudah diambil, dan reward pada harga jual; sisi kurang berisi nilai token saat setor, gas, dan biaya swap.

Rumus yang dipakai

Hasil bersih sebuah posisi likuiditas adalah:

(nilai token A + token B seandainya ditarik hari ini) + (fee yang sudah Anda tarik) + (reward yang sudah dijual, dihitung pada harga jualnya) − (nilai token A + token B saat Anda setor) − (seluruh biaya gas) − (biaya swap dan selisih harga saat masuk dan keluar)

Tiga catatan yang membuat hasilnya berbeda jauh dari angka dashboard:

  • Nilai setor dihitung pada harga saat setor, bukan harga sekarang. Kalau Anda menyetor 1 BNB saat harga sedang tinggi, modal Anda adalah nilai rupiah atau dolar hari itu.
  • Reward dinilai pada harga saat dijual, bukan harga saat diklaim atau harga puncaknya. Reward yang sudah turun 60% sebelum Anda jual tidak pernah benar-benar jadi pendapatan sebesar angka di dashboard. Cara menilai apakah token itu akan terus turun dibahas terpisah di cara menilai apakah token reward akan terus turun.
  • Gas dihitung untuk semua transaksi, bukan hanya transaksi setor: approve, add liquidity, setiap klaim, remove liquidity, ditambah swap untuk menyiapkan rasio token. Rinciannya ada di biaya gas dan biaya masuk-keluar pool.

Pembanding yang jujur: kalau modal itu hanya dipegang

Angka hasil bersih saja belum cukup. Posisi yang untung 4% belum tentu keputusan yang bagus kalau kedua token itu, seandainya hanya dipegang tanpa masuk pool, hari ini naik 11%.

Jadi hitung juga skenario tandingannya: ambil jumlah token A dan token B yang persis Anda setor dulu, nilai dengan harga hari ini, dan bandingkan dengan hasil bersih posisi LP. Selisihnya adalah harga yang Anda bayar atau keuntungan yang Anda dapat dari keputusan menyediakan likuiditas. Selisih negatif di sini adalah wujud nyata dari kerugian impermanen yang dibahas di kerugian impermanen bukan sekadar rugi sementara.

Data yang harus dicatat, dan dari mana

Rekonsiliasi hanya bisa dilakukan kalau angkanya ada. Catat baris berikut untuk setiap transaksi yang menyentuh posisi itu:

Kolom Isi
Tanggal dan jam Waktu transaksi dikonfirmasi
Hash transaksi Supaya bisa dibuka ulang kapan saja
Jenis approve, add, claim, remove, swap
Jumlah token Berapa token A dan token B masuk atau keluar
Harga saat itu Harga per token pada jam transaksi
Biaya transaksi Gas yang benar-benar terpotong

Semua kolom kecuali kolom harga bisa diambil dari block explorer. Buka halaman alamat dompet Anda, lalu telusuri daftar transaksinya.

Halaman alamat di block explorer 3xpl untuk sebuah kontrak di jaringan BNB, menampilkan saldo utama, daftar saldo token, dan tabel riwayat transaksi.

Halaman alamat memberi Anda daftar transaksi beserta waktu dan biayanya. Buka satu transaksi untuk melihat token apa saja yang berpindah di dalamnya — di situlah terlihat berapa token A dan token B yang benar-benar masuk ke pool, yang sering sedikit berbeda dari angka yang Anda ketik di antarmuka karena pembulatan dan rasio pool.

Untuk kolom harga, gunakan harga di bursa tempat Anda benar-benar akan menjual, pada jam transaksi itu. Kalau Anda tidak mencatatnya saat itu, sumber harga historis mana pun yang Anda pakai harus dipakai konsisten untuk semua baris.

Yang dicari berbeda antara V2 dan V3

Bentuk posisinya menentukan apa yang Anda cari di explorer.

Halaman dokumentasi PancakeSwap tentang Liquidity Pools, dengan daftar isi yang memisahkan Exchange V3 berisi posisi non-fungible dan Exchange V2 berisi LP Tokens.

  • Pool gaya V2. Anda menerima LP token sebagai bukti kepemilikan. Jumlah LP token Anda tetap, sementara fee trading menumpuk di dalam pool sehingga nilai yang ditebus per LP token perlahan naik. Artinya fee tidak muncul sebagai transaksi terpisah — baru terlihat saat remove liquidity, dan tercermin sebagai selisih antara token yang keluar dan token yang dulu masuk.
  • Pool gaya V3. Posisi Anda berbentuk NFT dengan rentang harga sendiri, dan fee-nya terpisah dari modal sehingga harus diklaim. Di sini setiap klaim adalah transaksi tersendiri yang bisa Anda jumlahkan langsung — sekaligus setiap klaim memakan gas. Soal penentuan rentangnya dibahas di cara menentukan rentang harga posisi likuiditas v3.

Karena itu, untuk posisi V2 jangan mencari "riwayat fee" di explorer: yang ada hanyalah transaksi masuk dan keluar. Fee-nya sudah termasuk di dalam jumlah token yang Anda terima saat keluar.

Empat kesalahan yang paling sering membalik kesimpulan

  1. Menilai reward pada harga hari ini padahal belum dijual. Selama belum dijual, itu masih posisi terbuka pada token yang emisinya terus bertambah, bukan pendapatan.
  2. Melewatkan gas transaksi kecil. Approve, klaim mingguan, dan swap penyeimbang rasio jarang dicatat, padahal untuk modal kecil jumlah totalnya bisa memakan sebagian besar fee yang didapat.
  3. Membaca "fee earned" sebagai laba. Angka itu pendapatan kotor dari trading, belum dikurangi apa pun, dan sama sekali tidak memperhitungkan perubahan nilai modal Anda.
  4. Tidak punya pembanding. Tanpa skenario "kalau hanya dipegang", posisi yang untung tipis akan selalu terasa berhasil.

Urutan pengerjaan

  1. Kumpulkan seluruh hash transaksi posisi itu dari halaman alamat di block explorer.
  2. Isi tabel di atas, satu baris per transaksi, sampai tidak ada transaksi yang tertinggal.
  3. Hitung sisi tambah dan sisi kurang, lalu ambil selisihnya.
  4. Hitung skenario "kalau hanya dipegang" dengan jumlah token yang sama.
  5. Bandingkan hasilnya dengan ambang yang sudah Anda tetapkan sebelum masuk, misalnya APY minimum untuk break-even.

Kalau hasil rekonsiliasi berada di bawah ambang itu selama dua periode berturut-turut, masalahnya bukan lagi kesabaran — asumsi awal Anda tentang pool itu memang meleset, dan angka inilah yang memberi tahu Anda kapan berhenti.

Sumber