Skip to content

Energex v0.2.0

Latest
Compare
Choose a tag to compare
@oldhero5 oldhero5 released this 23 Jan 11:21

Overview

This release introduces comprehensive analytics for energy futures trading, including data quality checks, volatility metrics, and advanced visualization tools. The update focuses on robust intraday data handling and futures-specific analysis capabilities.

Major New Features

Data Quality Analytics

  • Price Gap Detection: Automatically identify and analyze significant price movements
  • Volume Anomaly Detection: Spot unusual trading volumes using statistical analysis
  • OHLC Consistency Checks: Validate price data integrity
  • Time Series Validation: Monitor data completeness and consistency

Volatility Analytics

  • Multiple Calculation Methods:
    • Realized Volatility (minute-by-minute)
    • Parkinson Volatility (using high-low range)
    • Garman-Klass Volatility (using OHLC)
  • Volatility Ratios: Compare different volatility measures
  • Intraday Range Analysis: Track price movement patterns

Futures Analysis Tools

  • Term Structure Analysis: Track and analyze futures curves
  • Roll Yield Calculations: Measure and monitor futures roll returns
  • Basis Risk Analysis: Quantify spot-futures relationships
  • Implied Rates: Calculate implied financing rates from futures spreads

Visualization Capabilities

  • Interactive Price Charts: Real-time OHLC visualization
  • Volume Profile Analysis: Analyze trading activity distribution
  • Term Structure Views: Visual futures curve analysis
  • Quality Metric Dashboards: Monitor data integrity

Improvements

  • Enhanced data fetching reliability for commodity futures
  • Improved timezone handling for global markets
  • Better error handling and logging
  • Optimized database schema for faster queries
  • Standardized column naming across all modules

Installation

pip install energex==0.2.0

Migration Notes

This version introduces new database tables for quality metrics. Users should rebuild their databases after upgrading:

from energex.database import EnergyDatabase
db = EnergyDatabase()
db._init_tables()  # This will reinitialize the database schema

Example Usage

# Fetch and analyze data
from energex.data_fetcher import EnergyDataFetcher
from energex.analysis.volatility import VolatilityAnalyzer

fetcher = EnergyDataFetcher()
data = fetcher.fetch_all_commodities()

# Calculate volatility metrics
analyzer = VolatilityAnalyzer(data)
metrics = analyzer.calculate_volatility_metrics()

# Create visualization
from energex.visualization.charts import MarketVisualizer
viz = MarketVisualizer(data)
fig = viz.plot_term_structure("CL=F", "BZ=F")
fig.show()

Known Issues

  • Historical data retrieval currently limited to 7 days
  • Some visualization features may be memory-intensive with large datasets

Future Plans

  • Extended historical data support
  • Additional futures analytics
  • Performance optimizations for large datasets
  • Real-time alerting system

Dependencies

  • Python ≥ 3.10
  • polars ≥ 0.20.0
  • yfinance ≥ 0.2.35
  • duckdb ≥ 0.9.0
  • plotly ≥ 5.18.0
  • numpy ≥ 1.24.0

Contributors

Special thanks to all contributors who helped make this release possible.

License

MIT License - see LICENSE file for details