Common Workflows
This guide covers typical usage patterns for Snowtrail data.
Daily Signal Monitoring
Fetch the latest signal values for your subscribed products:
from snowtrail import Snowtrail
client = Snowtrail(api_key="your-api-key")
# Get the latest system stress signal for US natural gas
df = client.gbsi_us.system_stress()
print(df[["signal_date", "stress_regime_label", "confidence_score"]])
Historical Analysis
Retrieve historical data for a date range:
# Get historical system stress data
df = client.gbsi_us.system_stress(date_from="2024-01-01", date_to="2024-12-31")
print(df.head())
Point-in-Time Backtesting
Use as_of for backtest-safe queries that only return data known at a given date:
# See only what was known on June 15, 2024
df = client.gbsi_us.system_stress(
date_from="2024-01-01",
date_to="2024-06-30",
as_of="2024-06-15"
)
Event Monitoring
Track market events across products:
# Get storage surprise events for US natural gas
df_events = client.gbsi_us.storage_surprise(date_from="2024-01-01")
print(df_events.head())
Working with Features
Access curated feature datasets:
# Get balance momentum features
df_features = client.gbsi_us.balance_momentum(date_from="2024-01-01")
print(df_features.head())
Multi-Product Analysis
Combine data from multiple products:
# US gas system stress
df_us = client.gbsi_us.system_stress(date_from="2024-01-01")
# European gas system stress
df_eu = client.gbsi_eu.system_stress(date_from="2024-01-01", country="DE")
# LNG marginality
df_lng = client.glmi.marginality(date_from="2024-01-01", basin="EU")
# Power grid stress
df_power = client.pemi.grid_stress(date_from="2024-01-01", bidding_zone="10YDE-RWENET---I")
Exporting Data
All methods return pandas DataFrames, so export to common formats directly:
df = client.gbsi_us.system_stress(date_from="2024-01-01")
# Export to CSV
df.to_csv("system_stress.csv", index=False)
# Export to Parquet
df.to_parquet("system_stress.parquet")
# Export to JSON
df.to_json("system_stress.json", orient="records")