BLSEconomicSurveysCes
QuantConnect.DataSource.BLSEconomicSurveysCes
BLSEconomicSurveysCes()
BLSEconomicSurveysCes(line: str)
Bases: BaseData
BLS Current Employment Statistics (CES) data from the Employment Situation report. Contains 16 non-seasonally-adjusted series covering nonfarm payrolls, average hourly earnings, average weekly hours, and employment across major industry sectors. The Employment Situation report is the single most market-moving economic release. Released monthly (typically first Friday) by the Bureau of Labor Statistics.
Signature descriptions:
-
Default constructor required for LEAN deserialization.
-
Constructor that parses a CSV line into the data model. CSV format: time,endtime,totalnonfarm,totalprivate,avghourlyrearnings,...,miningandlogging
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 employment 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
total_nonfarm
total_nonfarm: Optional[float]
Total nonfarm, all employees, NSA (CEU0000000001). Thousands.
total_private
total_private: Optional[float]
Total private, all employees, NSA (CEU0500000001). Thousands.
average_hourly_earnings
average_hourly_earnings: Optional[float]
Average hourly earnings, all employees, total private, NSA (CEU0500000003). Dollars.
average_weekly_hours
average_weekly_hours: Optional[float]
Average weekly hours, all employees, total private, NSA (CEU0500000002). Hours.
average_weekly_earnings
average_weekly_earnings: Optional[float]
Average weekly earnings, all employees, total private, NSA (CEU0500000011). Dollars.
production_hourly_earnings
production_hourly_earnings: Optional[float]
Average hourly earnings, production and nonsupervisory, total private, NSA (CEU0500000008). Dollars.
production_employees
production_employees: Optional[float]
Production and nonsupervisory employees, total private, NSA (CEU0500000006). Thousands.
manufacturing
manufacturing: Optional[float]
Manufacturing, all employees, NSA (CEU3000000001). Thousands.
goods_producing
goods_producing: Optional[float]
Goods-producing, all employees, NSA (CEU0600000001). Thousands.
private_service_providing
private_service_providing: Optional[float]
Private service-providing, all employees, NSA (CEU0800000001). Thousands.
construction
construction: Optional[float]
Construction, all employees, NSA (CEU2000000001). Thousands.
retail_trade
retail_trade: Optional[float]
Retail trade, all employees, NSA (CEU4200000001). Thousands.
financial_activities
financial_activities: Optional[float]
Financial activities, all employees, NSA (CEU5500000001). Thousands.
education_and_health_services
education_and_health_services: Optional[float]
Education and health services, all employees, NSA (CEU6500000001). Thousands.
leisure_and_hospitality
leisure_and_hospitality: Optional[float]
Leisure and hospitality, all employees, NSA (CEU7000000001). Thousands.
mining_and_logging
mining_and_logging: Optional[float]
Mining and logging, all employees, NSA (CEU1000000001). Thousands.
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
CES 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 |