Crypto

一次失败的 ARK 跨所资金费交易

最近在尝试利用 AI 写一点套利的东西,毕竟实践出真知。vibe coding 了套利面板后,很快就发现了套利机会。10 月 2 日,依据资金费监测数据,在 Bybit 买入 ARKUSDT 永续、在 Binance 卖出等量永续,试图赚取两所负资金费率之差。当晚全部平仓,最后亏损 10.22 USDT。两边的 ARK 方向敞口大致对冲了,但买入较贵的合约、卖出较便宜的合约,留下了跨交易所价差收窄的风险。

交易经过 #

08:57 左右先开 400 ARK,此后于 14:54 至 15:24 分批增至 4000 ARK;20:53 至 20:55 分批平掉两边。Binance 为 4000 ARK 空单,Bybit 为 4000 ARK 多单,API 查询时两边仓位均为零。期间两边各经历 12 次资金费结算。

交易所 方向 买入成交额 卖出成交额 价格盈亏 资金费 手续费 单边净额
Binance 空 860.46870 877.66000 +17.19130 -18.17347339 约 -0.77047 约 -1.75
Bybit 多 905.22772 871.07000 -34.15772 +26.07750936 -0.38868874 -8.46889938

金额单位为 USDT。Binance 手续费实际扣除 0.00100479 BNB;表中按 10 月 2 日账本价格 766.80 USDT/BNB 估值。按原始流水合计,双边价格亏损 16.96642 USDT,资金费净收入 7.90403597 USDT,手续费约 1.15916 USDT,最终约 -10.22155 USDT。Beancount 按账本精度四舍五入,记为 -10.22 USDT。

...

beancount 加密货币记账实践

beancount 记录数字货币有很大的优势,天然支持多币种,且有完善的投资记账支持(cost/price/lots)。然而 beancount 设计之初没有考虑到加密货币,因此某些场景极不方便。下面列举常见的加密货币场景以及我使用 beancount 记账的实践,可能谈不上最佳,读者若有好的记账办法也不吝赐教。

稳定币 #

将 USDT 设置为本币,其他所有稳定币都当作以 USDT 计价的货币。在稳定币之间的兑换可以这样记录(其实就是当作价格为1.00 USDT的加密货币),因为价格差导致的损失/收益统一记录在 Expenses 账户中。

2025-01-01 * "" ""
    Assets:Crypto:CEX:Binance:USDT -1000.00 USDT
    Expenses:Crypto:Spot:USDC
    Assets:Crypto:CEX:Binance:USDC 999.99 USDC {1.00 USDT}

转账 #

精确但繁琐 #

最精确的是写清楚每一笔 lots 的成本,但是比较繁琐(可以借助脚本来自动填充)。

2025-01-01 * "" ""
    Assets:Crypto:CEX:Binance:USDC -999.99 USDC {1.00 USDT}
    Expenses:Crypto:Transfer
    Assets:Crypto:Wallet:XXXX:USDC 999.99 UDSC {1.00 USDT}

洗成本 #

每次转账当成一次卖出,优点是简单,账户中不会出发繁多的不同 cost 的 lots,缺点是会使未实现收益转变为实现收益,同时成本发生变化。

2025-01-01 * "" ""
    Assets:Crypto:CEX:Binance:USDC -999.99 USDC {} @ 1.00 USDT
    Expenses:Crypto:Transfer
    Assets:Crypto:Wallet:XXXX:USDC 999.99 UDSC {1.00 USDT}

新建无成本的虚拟资产 #

这个是我早期的做法,方便,但是无法追踪投资收益变化,且会增加记账复杂度,这里介绍但不推荐了。例如对于 BTC 转账,如果只是短期行为,可以记录为 BTC_PH 转账

...