FamaFrench
QuantConnect.DataSource.FamaFrench
FamaFrench()
FamaFrench(line: str)
Bases: BaseData
Fama-French factor returns for the US equity market, built to the definitions published by the Kenneth R. French Data Library. One row per date with the five-factor model returns plus momentum: market excess return (Mkt-RF), size (SMB), value (HML), profitability (RMW), investment (CMA), momentum (Mom), and the risk-free rate (RF). Returns are expressed as decimals.
Signature descriptions:
-
Default constructor required by LEAN.
-
Parses one CSV line into a data point.
end_time
end_time: datetime
Date the data point became available, the day after the observation date. The series is daily, so this is derived from Time rather than stored in the file.
market_excess_return
market_excess_return: Optional[float]
Market excess return (Mkt-RF): value-weighted market return minus the risk-free rate.
smb
smb: Optional[float]
Size factor (SMB, Small Minus Big): return of small-cap portfolios minus large-cap portfolios.
hml
hml: Optional[float]
Value factor (HML, High Minus Low): return of high book-to-market stocks minus low book-to-market stocks. This is also the data point's Value.
rmw
rmw: Optional[float]
Profitability factor (RMW, Robust Minus Weak): return of high operating-profitability stocks minus low.
cma
cma: Optional[float]
Investment factor (CMA, Conservative Minus Aggressive): return of low-investment stocks minus high.
momentum
momentum: Optional[float]
Momentum factor (Mom): return of high prior-return stocks minus low prior-return stocks.
risk_free_rate
risk_free_rate: Optional[float]
Risk-free rate (RF): one-month Treasury bill return.
is_estimate
is_estimate: bool
True when the value was computed by QuantConnect rather than published by the Kenneth R. French Data Library. A computed value is never rewritten afterwards, not even once the library covers that date.
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
Data time zone (Eastern - US market data).
get_source
get_source(
config: SubscriptionDataConfig,
date: datetime,
is_live_mode: bool,
) -> SubscriptionDataSource
Location of the source file: alternative/quantconnect/famafrench/ff.csv
is_sparse_data
is_sparse_data() -> bool
Dense daily series.
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
Unlinked (a single market-wide series, not a mapped equity).
supported_resolutions
supported_resolutions() -> List[Resolution]
Supported resolutions (Daily only).
to_string
to_string() -> str
String representation for debugging.
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 |