FundingRate / app /utils /formatters.py
Cuong2004's picture
first times
7b8993a
"""Utility functions for data formatting."""
def format_funding_rate(rate: float) -> str:
"""
Format funding rate as percentage string.
Args:
rate: Raw funding rate (e.g., 0.0001)
Returns:
Formatted string (e.g., "+0.01%" or "-0.05%")
"""
percentage = rate * 100
sign = "+" if percentage >= 0 else ""
return f"{sign}{percentage:.4f}%"
def format_volume(volume: float) -> str:
"""
Format volume to human-readable format.
Args:
volume: Volume in USDT
Returns:
Formatted string (e.g., "$1.5M", "$500K")
"""
if volume >= 1_000_000_000:
return f"${volume / 1_000_000_000:.2f}B"
elif volume >= 1_000_000:
return f"${volume / 1_000_000:.2f}M"
elif volume >= 1_000:
return f"${volume / 1_000:.2f}K"
return f"${volume:.2f}"
def format_price(price: float) -> str:
"""
Format price based on value.
Args:
price: Price in USDT
Returns:
Formatted price string
"""
if price >= 1000:
return f"${price:,.2f}"
elif price >= 1:
return f"${price:.4f}"
elif price >= 0.0001:
return f"${price:.6f}"
return f"${price:.8f}"
def format_percentage(value: float) -> str:
"""
Format a percentage value.
Args:
value: Percentage value (e.g., 5.25)
Returns:
Formatted string (e.g., "+5.25%" or "-3.10%")
"""
sign = "+" if value >= 0 else ""
return f"{sign}{value:.2f}%"