EIAElectricity
QuantConnect.DataSource.EIAElectricity
EIAElectricity()
EIAElectricity(line: str)
Bases: BaseData
U.S. electric grid operating data from EIA Form EIA-930, one record per balancing authority per day: demand, the day-ahead demand forecast, net generation, net interchange with neighbouring authorities, and the generation split across all sixteen fuel types the form reports. Every value is in megawatthours. The daily totals use the Eastern day boundary.
Signature descriptions:
-
Default constructor required by LEAN.
-
Parses one CSV line into a data point.
end_time
end_time: datetime
End of the operating day, one day after the day the record covers. This is when LEAN delivers the data point, once EIA has published the completed day.
demand
demand: Optional[float]
Actual electricity demand on the grid.
demand_forecast
demand_forecast: Optional[float]
Demand the balancing authority forecast a day ahead for this hour.
net_generation
net_generation: Optional[float]
Total net generation. This is also the data point's Value.
total_interchange
total_interchange: Optional[float]
Net interchange with neighbouring authorities. Positive exports, negative imports.
coal
coal: Optional[float]
Net generation from coal.
natural_gas
natural_gas: Optional[float]
Net generation from natural gas.
nuclear
nuclear: Optional[float]
Net generation from nuclear.
hydro
hydro: Optional[float]
Net generation from hydro.
wind
wind: Optional[float]
Net generation from wind.
solar
solar: Optional[float]
Net generation from solar.
geothermal
geothermal: Optional[float]
Net generation from geothermal.
oil
oil: Optional[float]
Net generation from petroleum.
other
other: Optional[float]
Net generation from sources the form groups as other.
unknown
unknown: Optional[float]
Net generation the balancing authority did not classify.
pumped_storage
pumped_storage: Optional[float]
Net generation from pumped storage. Negative while pumping.
battery
battery: Optional[float]
Net generation from battery storage. Negative while charging.
other_storage
other_storage: Optional[float]
Net generation from storage the form groups as other.
unknown_storage
unknown_storage: Optional[float]
Net generation from storage the balancing authority did not classify.
solar_with_storage
solar_with_storage: Optional[float]
Net generation from solar paired with integrated battery storage.
wind_with_storage
wind_with_storage: Optional[float]
Net generation from wind paired with integrated battery storage.
FUEL_COLUMNS
FUEL_COLUMNS: Sequence[ValueTuple[str, str]]
The EIA-930 fuel type codes that feed each generation column, in the exact order the processor writes them (csv<5> onward) and the EIAElectricity(string) parser reads them back. Single source of truth for the column layout, kept next to the parser.
REGION_COLUMNS
REGION_COLUMNS: Sequence[ValueTuple[str, str]]
The region-data type codes that feed the four headline columns, in the order the processor writes them (csv<1> onward).
data_type
data_type: MarketDataType
Market Data Type of this data - does it come in individual price packets or is it grouped into OHLC.
time
time: datetime
Current time marker of this data packet.
value
value: float
Value representation of this data packet. All data requires a representative value for this moment in time. For streams of data this is the price now, for OHLC packets this is the closing price.
price
price: float
As this is a backtesting platform we'll provide an alias of value as price.
ALL_RESOLUTIONS
ALL_RESOLUTIONS: List[Resolution] = ...
A list of all Resolution
This Field is protected.
DAILY_RESOLUTION
DAILY_RESOLUTION: List[Resolution] = ...
A list of Resolution.DAILY
This Field is protected.
MINUTE_RESOLUTION
MINUTE_RESOLUTION: List[Resolution] = ...
A list of Resolution.MINUTE
This Field is protected.
HIGH_RESOLUTION
HIGH_RESOLUTION: List[Resolution] = ...
A list of high Resolution, including minute, second, and tick.
This Field is protected.
OPTION_RESOLUTIONS
OPTION_RESOLUTIONS: List[Resolution] = ...
A list of resolutions support by Options
This Field is protected.
is_fill_forward
is_fill_forward: bool
True if this is a fill forward piece of data
data_time_zone
data_time_zone() -> Any
Data time zone. The daily EIA-930 totals use the Eastern day boundary, matching our other U.S. agency datasets (BEA, CFTC, FINRA).
get_source
get_source(
config: SubscriptionDataConfig,
date: datetime,
is_live_mode: bool,
) -> SubscriptionDataSource
Location of the source file: alternative/eia/electricity/{code}.csv
is_sparse_data
is_sparse_data() -> bool
Sparse: one file per balancing authority, suppress missing-file logs.
reader
reader(
config: SubscriptionDataConfig,
line: str,
date: datetime,
is_live_mode: bool,
) -> BaseData
Parses the data from the line provided and loads it into LEAN.
requires_mapping
requires_mapping() -> bool
Unlinked (keyed by balancing authority, not a mapped equity).
supported_resolutions
supported_resolutions() -> List[Resolution]
Supported resolutions. Daily, the cadence the data fleet processes at.
to_string
to_string() -> str
String representation for debugging.
deserialize_message
deserialize_message(serialized: str) -> Sequence[BaseData]
Deserialize the message from the data server
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
serialized
|
str
|
The data server's message |
required |
Returns:
| Type | Description |
|---|---|
Sequence[BaseData]
|
An enumerable of base data, if unsuccessful, returns an empty enumerable. |
should_cache_to_security
should_cache_to_security() -> bool
Indicates whether this contains data that should be stored in the security cache
Returns:
| Type | Description |
|---|---|
bool
|
Whether this contains data that should be stored in the security cache. |
update
update(
last_trade: float,
bid_price: float,
ask_price: float,
volume: float,
bid_size: float,
ask_size: float,
) -> None
Update routine to build a bar/tick from a data update.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
last_trade
|
float
|
The last trade price |
required |
bid_price
|
float
|
Current bid price |
required |
ask_price
|
float
|
Current asking price |
required |
volume
|
float
|
Volume of this trade |
required |
bid_size
|
float
|
The size of the current bid, if available |
required |
ask_size
|
float
|
The size of the current ask, if available |
required |
update_ask
update_ask(ask_price: float, ask_size: float) -> None
Updates this base data with the new quote ask information
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ask_price
|
float
|
The current ask price |
required |
ask_size
|
float
|
The current ask size |
required |
update_bid
update_bid(bid_price: float, bid_size: float) -> None
Updates this base data with the new quote bid information
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
bid_price
|
float
|
The current bid price |
required |
bid_size
|
float
|
The current bid size |
required |
update_quote
update_quote(
bid_price: float,
bid_size: float,
ask_price: float,
ask_size: float,
) -> None
Updates this base data with new quote information
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
bid_price
|
float
|
The current bid price |
required |
bid_size
|
float
|
The current bid size |
required |
ask_price
|
float
|
The current ask price |
required |
ask_size
|
float
|
The current ask size |
required |
update_trade
update_trade(last_trade: float, trade_size: float) -> None
Updates this base data with a new trade
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
last_trade
|
float
|
The price of the last trade |
required |
trade_size
|
float
|
The quantity traded |
required |