Skip to content

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).

symbol

symbol: Symbol

Symbol representation for underlying Security

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

clone

clone() -> BaseData

Creates a copy of the instance.

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