Module data

Source
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§

CacheableFundingHistory
Cacheable version of funding history for storage
FundingStatistics
Statistics about funding rates
HyperliquidData
Main data structure for Hyperliquid market data
HyperliquidDataFetcher
Data fetcher for Hyperliquid market data