From 1f19b78818609bf6d0849f8e58b349132a800538 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Mon, 01 Jun 2026 17:08:49 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/utils/TradeFeeUtil.java | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/nq/utils/TradeFeeUtil.java b/src/main/java/com/nq/utils/TradeFeeUtil.java
new file mode 100644
index 0000000..195ed57
--- /dev/null
+++ b/src/main/java/com/nq/utils/TradeFeeUtil.java
@@ -0,0 +1,29 @@
+package com.nq.utils;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+
+public class TradeFeeUtil {
+
+ public static final BigDecimal BUY_FEE_RATE = new BigDecimal("0.03");
+
+ private TradeFeeUtil() {
+ }
+
+ public static BigDecimal calcBuyFee(BigDecimal buyAmt) {
+ if (buyAmt == null) {
+ return BigDecimal.ZERO;
+ }
+ return buyAmt.multiply(BUY_FEE_RATE).setScale(2, RoundingMode.HALF_UP);
+ }
+
+ public static BigDecimal calcBuyFeeByNotional(BigDecimal notional, Integer lever) {
+ return calcBuyFee(notional);
+ }
+
+ public static BigDecimal calcBuyDebit(BigDecimal margin, BigDecimal fee) {
+ BigDecimal marginAmt = margin == null ? BigDecimal.ZERO : margin;
+ BigDecimal feeAmt = fee == null ? BigDecimal.ZERO : fee;
+ return marginAmt.add(feeAmt).setScale(2, RoundingMode.HALF_UP);
+ }
+}
--
Gitblit v1.9.3