BLSEconomicSurveysJolts
QuantConnect.DataSource.BLSEconomicSurveysJolts
BLSEconomicSurveysJolts()
BLSEconomicSurveysJolts(line: str)
Bases: BaseData
BLS Job Openings and Labor Turnover Survey (JOLTS) data. Contains 8 non-seasonally-adjusted series covering job openings, hires, quits, total separations, and layoffs for total nonfarm. JOLTS is closely watched by the Federal Reserve as a gauge of labor market tightness. The quit rate is considered a leading indicator of wage growth. Released monthly (typically with a 2-month lag) 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 JOLTS 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
job_openings
job_openings: Optional[float]
Total nonfarm job openings level, NSA (JTU000000000000000JOL). Thousands.
job_openings_rate
job_openings_rate: Optional[float]
Total nonfarm job openings rate, NSA (JTU000000000000000JOR). Percent.
hires
hires: Optional[float]
Total nonfarm hires level, NSA (JTU000000000000000HIL). Thousands.
hires_rate
hires_rate: Optional[float]
Total nonfarm hires rate, NSA (JTU000000000000000HIR). Percent.
quits
quits: Optional[float]
Total nonfarm quits level, NSA (JTU000000000000000QUL). Thousands.
quits_rate
quits_rate: Optional[float]
Total nonfarm quits rate, NSA (JTU000000000000000QUR). Percent.
total_separations
total_separations: Optional[float]
Total nonfarm total separations level, NSA (JTU000000000000000TSL). Thousands.
layoffs_and_discharges
layoffs_and_discharges: Optional[float]
Total nonfarm layoffs and discharges level, NSA (JTU000000000000000LDL). 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. JOLTS is released at 10:00 AM ET.
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
JOLTS 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 |