Expand description
§Data Structures and Utilities for Hyperliquid Market Data
This module provides the core data structures and fetching utilities for working with Hyperliquid market data, including OHLC price data and funding rates for perpetual futures.
§Key Features
- Async Data Fetching: Efficient retrieval of historical market data from Hyperliquid API
- Funding Rate Integration: Complete funding rate data for perpetual futures analysis
- Multiple Time Intervals: Support for 1m, 5m, 15m, 1h, 4h, and 1d intervals
- Data Validation: Comprehensive validation and error handling for data integrity
- rs-backtester Compatibility: Seamless conversion to rs-backtester Data format
§Usage Examples
§Basic Data Fetching
use hyperliquid_backtest::prelude::*;
use chrono::Utc;
#[tokio::main]
async fn main() -> Result<(), HyperliquidBacktestError> {
let end_time = Utc::now().timestamp() as u64;
let start_time = end_time - (7 * 24 * 60 * 60); // 7 days ago
let data = HyperliquidData::fetch("BTC", "1h", start_time, end_time).await?;
println!("Fetched {} data points for {}", data.len(), data.symbol);
println!("Price range: ${:.2} - ${:.2}", data.price_range().0, data.price_range().1);
Ok(())
}
§Working with Funding Rates
use hyperliquid_backtest::prelude::*;
#[tokio::main]
async fn main() -> Result<(), HyperliquidBacktestError> {
let data = HyperliquidData::fetch("ETH", "1h", start_time, end_time).await?;
// Get funding statistics
let funding_stats = data.funding_statistics()?;
println!("Average funding rate: {:.4}%", funding_stats.average_rate * 100.0);
println!("Funding volatility: {:.4}%", funding_stats.volatility * 100.0);
// Get funding rate at specific time
if let Some(rate) = data.get_funding_rate_at(data.datetime[100]) {
println!("Funding rate at {}: {:.4}%", data.datetime[100], rate * 100.0);
}
Ok(())
}
Structs§
- Cacheable
Funding History - Cacheable version of funding history for storage
- Funding
Statistics - Statistics about funding rates
- Hyperliquid
Data - Main data structure for Hyperliquid market data
- Hyperliquid
Data Fetcher - Data fetcher for Hyperliquid market data