ECBYieldCurve
QuantConnect.DataSource.ECBYieldCurve
ECBYieldCurve()
ECBYieldCurve(csv: List[str])
Bases: BaseData
The euro area government bond yield curve, estimated daily by the European Central Bank and published as annualised percentage rates. The shape of this curve is what the market thinks the ECB will do with rates, so its slope leads the European cycle the same way the Treasury curve leads the US one.
Ten standard maturities from three months to thirty years. The curve starts at three months, so there is no one month or two month rate to read.
One file per curve, one row per TARGET business day. Subscribe with a curve constant, for
example AddData
Signature descriptions:
-
Creates a new default instance.
-
Creates a new instance from the columns of a row produced by the data processor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
csv
|
Optional[List[str]]
|
Columns of the row: date, release stamp, then one per maturity |
None
|
three_month
three_month: Optional[float]
Three month rate, the short end of the curve.
six_month
six_month: Optional[float]
Six month rate.
one_year
one_year: Optional[float]
One year rate.
two_year
two_year: Optional[float]
Two year rate. The most policy sensitive point on the curve, and the one that moves most on a change in rate expectations.
three_year
three_year: Optional[float]
Three year rate.
five_year
five_year: Optional[float]
Five year rate.
seven_year
seven_year: Optional[float]
Seven year rate.
ten_year
ten_year: Optional[float]
Ten year rate, the benchmark point of the curve. This is also the data point's Value. Against the two year it gives the slope, which is the usual regime signal.
twenty_year
twenty_year: Optional[float]
Twenty year rate.
thirty_year
thirty_year: Optional[float]
Thirty year rate, the long end of the curve.
end_time
end_time: datetime
The moment the ECB released this curve, which is when LEAN makes the data point available. A curve is published around midday Frankfurt time on the business day after the one it describes, so it is never available on the day itself. See https://www.ecb.europa.eu/stats/financial_markets_and_interest_rates/euro_area_yield_curves/
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
data_time_zone
data_time_zone() -> Any
Gets the time zone the data is published in. The ECB publishes on Frankfurt time, which shares the Berlin zone.
Returns:
| Type | Description |
|---|---|
Any
|
The data time zone. |
default_resolution
default_resolution() -> Resolution
get_source
get_source(
config: SubscriptionDataConfig,
date: datetime,
is_live_mode: bool,
) -> SubscriptionDataSource
Specifies the location of the data and directs LEAN where to load it from.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
SubscriptionDataConfig
|
Subscription configuration |
required |
date
|
datetime
|
Algorithm date |
required |
is_live_mode
|
bool
|
Is live mode |
required |
Returns:
| Type | Description |
|---|---|
SubscriptionDataSource
|
Subscription data source pointing at this curve's file. |
is_sparse_data
is_sparse_data() -> bool
Indicates whether the data is sparse. The curve only prints on TARGET business days, so a daily subscription will ask for days that legitimately have no file entry.
Returns:
| Type | Description |
|---|---|
bool
|
True. |
reader
reader(
config: SubscriptionDataConfig,
line: str,
date: datetime,
is_live_mode: bool,
) -> BaseData
Parses one line of the source file into a data point.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
SubscriptionDataConfig
|
Subscription configuration |
required |
line
|
str
|
Line of the source CSV |
required |
date
|
datetime
|
Date the request was made for |
required |
is_live_mode
|
bool
|
Is live mode |
required |
Returns:
| Type | Description |
|---|---|
BaseData
|
Instance of the class with the parsed data. |
requires_mapping
requires_mapping() -> bool
Indicates whether the data source requires mapping. This curve describes the euro area as a whole, not a security whose ticker can change.
Returns:
| Type | Description |
|---|---|
bool
|
False. |
supported_resolutions
supported_resolutions() -> List[Resolution]
Gets the resolutions this data supports.
Returns:
| Type | Description |
|---|---|
List[Resolution]
|
Daily resolution only. |
to_string
to_string() -> str
Formats the instance as a string for logging and debugging.
Returns:
| Type | Description |
|---|---|
str
|
String describing the data point. |
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 |