Advanced time-series analytics and forecasting toolkit for commodity and power trading
Project description
Analysis3054
Analysis3054 is a unified analytics and forecasting toolkit for energy, commodities, and demand planning. The goal is to make advanced forecasting, diagnostics, and data acquisition feel like one cohesive workflow. A key example is LA_refinery, which automates Louisiana DNR SONRIS refinery activity downloads and returns a clean pandas DataFrame so analysts can get reliable refinery data without manual portal work.
Key capabilities
- LA DNR refinery scraping via
LA_refinery(Playwright-backed). - Classical stats, ML, DL, and foundation-model forecasting (Chronos-2, TimesFM, Chronos Bolt).
- Intraday burn forecasting with covariates and quantile intervals.
- Fast API ingestion with async HTTP/2, retries, and background execution.
- Holiday calendars and market-holiday lookups for energy and finance workflows.
- Plotly-based visualization for forecasts, bands, and diagnostics.
Installation
pip install analysis3054
Optional extras:
pip install "analysis3054[stats]" # pmdarima + arch
pip install "analysis3054[ml]" # scikit-learn + boosted trees
pip install "analysis3054[dl]" # tensorflow
pip install "analysis3054[prophet]" # prophet + neuralprophet
pip install "analysis3054[tbats]" # tbats
pip install "analysis3054[physics]" # torch + torchdiffeq + PyWavelets
pip install "analysis3054[autogluon]"# AutoGluon
pip install "analysis3054[test]" # pytest + pytest-anyio
pip install "analysis3054[all]" # everything
Playwright (required for LA_refinery):
pip install playwright
playwright install
Quickstart (LA_refinery)
from analysis3054 import LA_refinery
# Scrape Louisiana DNR SONRIS refinery activity
# Requires: pip install playwright && playwright install
df = LA_refinery(start_date="01-JAN-2018")
print(df.head())
Additional examples
Forecasting engine
import pandas as pd
from analysis3054 import build_default_engine
engine = build_default_engine()
res = engine.forecast(
df=dataframe,
date_col="date",
target_cols=["demand"],
horizon=14,
model="harmonic",
)
print(res.forecasts.tail())
API ingestion
from analysis3054 import fetch_apis_to_dataframe
endpoints = [
"https://api.example.com/v1/events",
{"url": "https://api.example.com/v1/users", "params": {"page": 1}},
]
frame = fetch_apis_to_dataframe(
endpoints,
max_workers=16,
sort_by="timestamp",
transform=lambda df: df.assign(volume_pct=df["volume"] / df["volume"].sum()),
)
print(frame.head())
Public API reference (functions and classes)
Core plotting
five_year_plot(EIA-style 5-year band plot)forecast_plot,cumulative_return_plot,max_drawdown,acf_pacf_plot
Data utilities (analysis3054.utils)
conditional_column_merge,conditional_row_merge,nearest_key_merge,coalesce_mergerolling_fill,add_time_features,resample_time_series,winsorize_columnsadd_lag_features,scale_columns,rolling_window_featuresdata_quality_report,df_split,get_paddensure_env_variables,configure_snowflake_connector,EnvVariableRequest
Forecast engine
ForecastEngine,EngineForecastResult,build_default_engine
Auto-ML forecasting (analysis3054.auto_ml_forecasting)
auto_generate_features,FeatureEngineeringResult,MLForecastResultchronos2_auto_covariate_forecastgradient_boosting_covariate_forecast,random_forest_covariate_forecast,ridge_covariate_forecastelastic_net_covariate_forecast,bayesian_ridge_covariate_forecast,huber_covariate_forecastpls_covariate_forecast,fourier_ridge_seasonal_forecast,hist_gradient_direct_forecastsvr_high_frequency_forecast,xgboost_covariate_forecast,lightgbm_covariate_forecastcatboost_covariate_forecast,stacked_meta_ensemble_forecast
Forecasting (classical + advanced)
- Statistical:
arima_forecast,auto_arima_forecast,ets_forecast,var_forecast,vecm_forecast - Regime/structural:
markov_switching_forecast,unobserved_components_forecast,dynamic_factor_forecast - Volatility:
garch_forecast - Seasonal/other:
theta_forecast,sarimax_forecast - ML/DL:
lstm_forecast,tcn_forecast,transformer_forecast - Boosted/trees:
xgboost_forecast,lightgbm_forecast,catboost_forecast,knn_forecast - Others:
bats_forecast,neuralprophet_forecast,elastic_net_forecast,svr_forecast - Hybrids:
stl_fourier_kalman_forecast,regime_switching_forecast,quantile_projection_forecast,wavelet_multiresolution_forecast,latent_factor_state_forecast - Blends:
adaptive_forecast,dynamic_forecast_blend,auto_error_correcting_forecast,forecasting_playbook_examples
Chronos-2 / Chronos Bolt / TimesFM
chronos2_forecast,chronos2_univariate_forecast,chronos2_multivariate_forecast,chronos2_covariate_forecast,chronos2_weekly_implied_demand,chronos2_feature_generatorchronos2_quantile_forecast,chronos2_anomaly_detection,chronos2_impute_missingchronos_bolt_forecast,chronos_bolt_backtest,chronos_bolt_hyperparam_search,chronos_bolt_multi_target_forecast,chronos_bolt_quantile_forecast,chronos_bolt_anomaly_detection,chronos_bolt_impute_missingtimesfm_forecast
Intraday burn forecasting
intraday_load_burn_forecast,forecast_distillate_burn,intraday_gp_forecastintraday_sarimax_forecast,intraday_quantile_regression_forecastforecast_major_burn_days,hierarchical_reconciled_burn_forecast,load_weather_interaction_forecasthist_gradient_burn_forecast
AutoGluon forecasting
autogluon_tabular_burn_forecast,autogluon_tabular_burn_classifierautogluon_timeseries_forecast,autogluon_timeseries_forecast_generalautogluon_chronos2_forecast
Statistics and diagnostics
hurst_exponent,dfa_exponent,rolling_sharpe_ratio,sample_entropy,higuchi_fractal_dimensionrolling_zscore,mann_kendall_test,bollinger_bands,stationarity_teststrend_seasonality_strength,box_cox_transform,seasonal_adjustcross_correlation_plot,partial_autocorrelation_plot,pca_decomposition,granger_causality_matrix
Regression and ensembles
ols_regression,rolling_correlation,cusum_olsresid_testmodel_leaderboard,simple_ensemble
Finance
liquidity_adjusted_volatility,rolling_beta
Physics-inspired forecasting
multi_resolution_wavelet_decomposeODEFunc,NeuralODEBlock,SobolevLossKoopmanSpectralDecomposer,rolling_hurst_routerplot_scalogram,plot_phase_portrait,plot_forecast_trajectory
Calendars and holidays
available_holiday_calendars,get_holidays,get_holidays_betweenresolve_iso_code,get_market_code,is_holiday,is_financial_holiday,is_platts_holiday
Data ingestion and communications
fetch_apis_to_dataframesend_email,EmailContentInboxCleaner,ArchiveConfig,ConnectionConfig,KeywordRule,RetentionPolicy,InboxCleanReport,clean_inbox
External data clients
RefinedFuelsUSMDClient,request_access_tokenLA_refinery,fetch_la_refinery_data,ScraperError
Testing
pip install "analysis3054[test]"
pytest -q
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file analysis3054-0.3.24.tar.gz.
File metadata
- Download URL: analysis3054-0.3.24.tar.gz
- Upload date:
- Size: 220.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b346e5dcca8b176bbfa76d5b17a17ea38329cfd571ad575a4d4986715f6eeef5
|
|
| MD5 |
5ab5f33a22161492a09dadcc4715f859
|
|
| BLAKE2b-256 |
0067f1d6c069a7b5abacfa2a2cee678e0706f1a85f8928750570b96986f02ef0
|
File details
Details for the file analysis3054-0.3.24-py3-none-any.whl.
File metadata
- Download URL: analysis3054-0.3.24-py3-none-any.whl
- Upload date:
- Size: 219.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48fc8ed09b40a25fd1ee31e2e30d90ea5e9aedd5c7513991db1bbe16dd7a31fa
|
|
| MD5 |
028b8c4af3ce68282437f6d19612e969
|
|
| BLAKE2b-256 |
4f0f2263029edd64df5d44b1c120f91a8fda3aa64b90f74b6c49ba614a2bad1e
|