Metadata-Version: 2.4
Name: energex
Version: 0.2.0
Summary: Energy derivatives data collection and analysis system
Author-email: Marty H <oldhero5@proton.me>
License: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Python: >=3.10
Requires-Dist: duckdb>=0.9.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: plotly>=5.18.0
Requires-Dist: polars>=0.20.0
Requires-Dist: pytz>=2024.1
Requires-Dist: yfinance>=0.2.35
Provides-Extra: dev
Requires-Dist: black>=23.0.0; extra == 'dev'
Requires-Dist: isort>=5.0.0; extra == 'dev'
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# Energex

Energy derivatives data collection and analysis system with advanced analytics for futures trading.

## Features

### Data Collection
- Real-time intraday data fetching
- Support for major energy futures contracts
- Efficient storage using DuckDB
- Robust error handling and validation

### Analysis Tools
- Data Quality:
  - Price gap detection
  - Volume anomaly detection
  - OHLC consistency checks
  
- Volatility Analysis:
  - Multiple volatility calculation methods
  - Intraday pattern detection
  - Risk metrics

- Futures Analysis:
  - Term structure analysis
  - Roll yield calculations
  - Basis risk measurement
  - Implied rates

### Visualization
- Interactive price charts
- Volume profile analysis
- Term structure visualization
- Futures curve analysis

## Installation

```bash
pip install energex
```

## Quick Start

```python
from energex.data_fetcher import EnergyDataFetcher
from energex.database import EnergyDatabase
from energex.analysis.volatility import VolatilityAnalyzer
from energex.visualization.charts import MarketVisualizer

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

# Store in database
db = EnergyDatabase()
db.insert_intraday_data(data)

# Analyze volatility
analyzer = VolatilityAnalyzer(data)
vol_metrics = analyzer.calculate_volatility_metrics()

# Create visualizations
viz = MarketVisualizer(data)
fig = viz.plot_price_quality("CL=F")
fig.show()
```

## Contributing

Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTING.md) for details.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.