KavoutCompositeFactorBundle
QuantConnect.DataSource.KavoutCompositeFactorBundle
KavoutCompositeFactorBundle()
Bases: BaseData
Kavout signals are machine-learning enhanced scores that capture the returns of systematic factors such as Quality, Value, Momentum, Growth, and Low Volatility. There are many different anomalies discovered by researchers and practitioners across these factor categories, and there is no good common definition of each style across the literature.
Kavout creates an ensemble score for each style that gauges the different factors considered in the literature and industry practice.
Each signal is generated by an ensemble model consisting of inputs from hundreds of anomalies.
Constructor for initialising the dase data class
growth
growth: float
Growth factor score
value_factor
value_factor: float
Value factor score
quality
quality: float
Quality factor score
momentum
momentum: float
Momentum factor score
low_volatility
low_volatility: float
Low volatility factor score
end_time
end_time: datetime
The time that the data became available to the algorithm
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 codeEntityType is protected.
DAILY_RESOLUTION
DAILY_RESOLUTION: List[Resolution] = ...
A list of Resolution.DAILY
This codeEntityType is protected.
MINUTE_RESOLUTION
MINUTE_RESOLUTION: List[Resolution] = ...
A list of Resolution.MINUTE
This codeEntityType is protected.
HIGH_RESOLUTION
HIGH_RESOLUTION: List[Resolution] = ...
A list of high Resolution, including minute, second, and tick.
This codeEntityType is protected.
OPTION_RESOLUTIONS
OPTION_RESOLUTIONS: List[Resolution] = ...
A list of resolutions support by Options
This codeEntityType is protected.
is_fill_forward
is_fill_forward: bool
True if this is a fill forward piece of data
clone
clone() -> BaseData
Return a new instance clone of this object, used in fill forward
Returns:
| Type | Description |
|---|---|
BaseData
|
A clone of the current object. |
data_time_zone
data_time_zone() -> Any
Specifies the data time zone for this data type. This is useful for custom data types
Returns:
| Type | Description |
|---|---|
Any
|
The NodaTime.DateTimeZone of this data type. |
get_source
get_source(
config: SubscriptionDataConfig,
date: datetime,
is_live_mode: bool,
) -> SubscriptionDataSource
Return the URL string source of the file. This will be converted to a stream
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
SubscriptionDataConfig
|
Configuration object |
required |
date
|
datetime
|
Date of this source file |
required |
is_live_mode
|
bool
|
true if we're in live mode, false for backtesting mode |
required |
Returns:
| Type | Description |
|---|---|
SubscriptionDataSource
|
String URL of source file. |
is_sparse_data
is_sparse_data() -> bool
Indicates that the data set is expected to be sparse
Returns:
| Type | Description |
|---|---|
bool
|
True if the data set represented by this type is expected to be sparse. |
reader
reader(
config: SubscriptionDataConfig,
line: str,
date: datetime,
is_live_mode: bool,
) -> BaseData
Reader converts each line of the data source into BaseData objects. Each data type creates its own factory method, and returns a new instance of the object each time it is called. The returned object is assumed to be time stamped in the config.ExchangeTimeZone.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
SubscriptionDataConfig
|
Subscription data config setup object |
required |
line
|
str
|
Line of the source document |
required |
date
|
datetime
|
Date of the requested data |
required |
is_live_mode
|
bool
|
true if we're in live mode, false for backtesting mode |
required |
Returns:
| Type | Description |
|---|---|
BaseData
|
Instance of the T:BaseData object generated by this line of the CSV. |
requires_mapping
requires_mapping() -> bool
Indicates if there is support for mapping
Returns:
| Type | Description |
|---|---|
bool
|
True indicates mapping should be used. |
to_string
to_string() -> str
Formats a string with Cross-asset model data
Returns:
| Type | Description |
|---|---|
str
|
string containing Cross-asset model information. |
default_resolution
default_resolution() -> Resolution
Gets the default resolution for this data and security type
deserialize_message
deserialize_message(serialized: str) -> Iterable[BaseData]
Deserialize the message from the data server
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
serialized
|
str
|
The data server's message |
required |
Returns:
| Type | Description |
|---|---|
Iterable[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. |
supported_resolutions
supported_resolutions() -> List[Resolution]
Gets the supported resolution for this data and security type
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 |