Beta Coefficient
get_beta(eval_history, market_quotes, lookback_periods, beta_type=BetaType.STANDARD)
Parameters
name | type | notes |
---|---|---|
eval_history | Iterable[Quote] | Historical [evaluation stock] Quotes data should be at any consistent frequency (day, hour, minute, etc). • See here for usage with pandas.DataFrame |
market_history | Iterable[Quote] | Historical [market] Quotes data should be at any consistent frequency (day, hour, minute, etc). This market quotes will be used to establish the baseline. |
lookback_periods | int | Number of periods (N ) in the lookback period. Must be greater than 0 to calculate; however we suggest a larger period for statistically appropriate sample size and especially when using Beta +/-. |
beta_type | BetaType, default BetaType.STANDARD | Type of Beta to calculate. See BetaType options below. |
Historical quotes requirements
You must have at least N
periods of quotes to cover the warmup periods. You must have at least the same matching date elements of market_history
. Exception will be thrown if not matched. Historical price quotes should have a consistent frequency (day, hour, minute, etc). See the Guide for more information.
BetaType options
from stock_indicators.indicators.common.enums import BetaType
type | description |
---|---|
STANDARD | Standard Beta only. Uses all historical quotes. |
UP | Upside Beta only. Uses historical quotes from market up bars only. |
DOWN | Downside Beta only. Uses historical quotes from market down bars only. |
ALL | Returns all of the above. Use this option if you want ratio and convexity values returned. Note: 3× slower to calculate. |
Returns
BetaResults[BetaResult]
- This method returns a time series of all available indicator values for the
quotes
provided. BetaResults
is just a list ofBetaResult
.- It always returns the same number of elements as there are in the historical quotes.
- It does not return a single incremental indicator value.
- The first
N-1
periods will haveNone
values since there’s not enough data to calculate.
BetaResult
name | type | notes |
---|---|---|
date | datetime | Date |
beta | float, Optional | Beta coefficient based on N lookback periods |
beta_up | float, Optional | Beta+ (Up Beta) |
beta_down | float, Optional | Beta- (Down Beta) |
ratio | float, Optional | Beta ratio is beta_up/beta_down |
convexity | float, Optional | Beta convexity is (beta_up-beta_down)2 |
returns_eval | float, Optional | Returns of evaluated quotes (R ) |
returns_mrkt | float, Optional | Returns of market quotes (Rm ) |
Utilities
See Utilities and Helpers for more information.
Example
from stock_indicators import indicators
from stock_indicators import BetaType # Short path, version >= 0.8.1
# This method is NOT a part of the library.
history_SPX = get_historical_quotes("SPX")
history_TSLA = get_historical_quotes("TSLA")
# calculate 20-period Beta coefficient
results = indicators.get_beta(history_SPX, history_TSLA, 20, BetaType.STANDARD)
About Beta Coefficient
Beta shows how strongly one stock responds to systemic volatility of the entire market. Upside Beta (Beta+) and Downside Beta (Beta-), popularized by Harry M. Markowitz, are also included. [Discuss] 💬