Skip to main content
Version: v4

hma

Calculate the Hull Moving Average (HMA).

Solves the age old dilemma of making a moving average more responsive to current price activity whilst maintaining curve smoothness. In fact the HMA almost eliminates lag altogether and manages to improve smoothing at the same time.

Examples​

from openbb import obb
# Calculate HMA with historical stock data.
stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')
hma_data = obb.technical.hma(data=stock_data.results, target='close', length=50, offset=0)

Parameters​

data: ForwardRef('Data') | ForwardRef('DataFrame') | ForwardRef('Series') | ForwardRef('ndarray') | dict | list
list of data to be used for the calculation.

target: str
Default: close
Target column name.

index: str
Default: date
Index column name to use with data, by default "date".

length: int
Default: 50
Number of periods for the HMA, by default 50.

offset: int
Default: 0
Offset of the HMA, by default 0.

chart: bool
Default: False
Whether to create a chart or not, by default False.


Returns​

results: list[Data]

Serializable results.

provider: str

Provider name.

warnings: Optional[list[Warning_]]

list of warnings.

chart: Optional[Chart]

Chart object.

extra: dict[str, Any]

Extra info.