BLSEconomicSurveysPpi
QuantConnect.DataSource.BLSEconomicSurveysPpi
BLSEconomicSurveysPpi()
BLSEconomicSurveysPpi(line: str)
Bases: BaseData
BLS Producer Price Index (PPI) data. Contains 11 non-seasonally-adjusted PPI series including the Final Demand framework (headline PPI), core PPI, and major commodity groups. PPI measures the average change over time in the selling prices received by domestic producers. It is a leading indicator of consumer inflation. Released monthly by the Bureau of Labor Statistics.
Signature descriptions:
-
Default constructor required for LEAN deserialization.
-
Constructor that parses a CSV line into the data model.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
line
|
Optional[str]
|
CSV line to parse |
None
|
end_time
end_time: datetime
End time of this data point — the actual release date/time when this PPI data was published. Overridden to decouple from Time (BaseData.EndTime setter overwrites Time). Release dates are scraped from BLS schedule pages at https://www.bls.gov/schedule/{year}/home.htm
final_demand
final_demand: Optional[float]
Final demand, NSA (WPUFD4). Headline PPI index. Base date: Nov 2009=100.
core_ppi
core_ppi: Optional[float]
Final demand less foods and energy (Core PPI), NSA (WPUFD49104). Base date: Oct 2004=100.
final_demand_less_food_energy_trade
final_demand_less_food_energy_trade: Optional[float]
Final demand less foods, energy, and trade services, NSA (WPUFD49116). Base date: Aug 2013=100.
final_demand_goods
final_demand_goods: Optional[float]
Final demand goods, NSA (WPUFD41). Base date: Nov 2009=100.
final_demand_services
final_demand_services: Optional[float]
Final demand services, NSA (WPUFD42). Base date: Nov 2009=100.
final_demand_construction
final_demand_construction: Optional[float]
Final demand construction, NSA (WPUFD43). Base date: Nov 2009=100.
all_commodities
all_commodities: Optional[float]
All commodities, NSA (WPU00000000). Base date: 1982=100.
farm_products
farm_products: Optional[float]
Farm products, NSA (WPU01). Base date: 1982=100.
processed_foods_and_feeds
processed_foods_and_feeds: Optional[float]
Processed foods and feeds, NSA (WPU02). Base date: 1982=100.
crude_petroleum
crude_petroleum: Optional[float]
Crude petroleum (domestic), NSA (WPU0571). Base date: 1982=100.
final_demand_goods_less_foods
final_demand_goods_less_foods: Optional[float]
Final demand goods less foods, NSA (WPUFD49112).
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
BLS releases are in Eastern Time.
default_resolution
default_resolution() -> Resolution
Gets the default resolution for this data type.
get_source
get_source(
config: SubscriptionDataConfig,
date: datetime,
is_live_mode: bool,
) -> SubscriptionDataSource
Return the URL/path string source of the file.
is_sparse_data
is_sparse_data() -> bool
PPI data is sparse — released monthly, so most days have no data.
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
This is unlinked macro data, not tied to specific securities.
supported_resolutions
supported_resolutions() -> List[Resolution]
Gets the supported resolutions for this data type.
to_string
to_string() -> str
Returns a string representation for debugging.
protobuf_serialize
protobuf_serialize(guid: Guid) -> List[int]
protobuf_serialize(stream: Stream) -> None
Serialize a base data instance using protobuf
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
guid
|
Optional[Guid]
|
Unique guid |
None
|
stream
|
Optional[Stream]
|
The destination stream |
None
|
Returns:
| Type | Description |
|---|---|
Optional[List[int]]
|
The resulting byte array. |
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. |
get_update_price_scale_frontier
get_update_price_scale_frontier() -> datetime
Helper method to determine if price scales need an update based on the given data point
normalize
normalize(
factor: float,
normalization_mode: DataNormalizationMode,
sum_of_dividends: float,
) -> BaseData
Normalize prices based on configuration
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
factor
|
float
|
Price scale |
required |
normalization_mode
|
DataNormalizationMode
|
The price scaling normalization mode |
required |
sum_of_dividends
|
float
|
The current dividend sum |
required |
Returns:
| Type | Description |
|---|---|
BaseData
|
The provided data point adjusted. |
scale
scale(
factor_func: Callable[[float, float, float], float],
volume_factor: float,
factor: float,
sum_of_dividends: float,
) -> BaseData
Scale data based on factor function
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
factor_func
|
Callable[[float, float, float], float]
|
Function to factor prices by |
required |
volume_factor
|
float
|
Factor to multiply volume/askSize/bidSize/quantity by |
required |
factor
|
float
|
Price scale |
required |
sum_of_dividends
|
float
|
The current dividend sum |
required |
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 |