Skip to main content

wma

Calculate the Weighted Moving Average (WMA).

A Weighted Moving Average puts more weight on recent data and less on past data. This is done by multiplying each bar's price by a weighting factor. Because of its unique calculation, WMA will follow prices more closely than a corresponding Simple Moving Average.

Examples

from openbb import obb
# Get the Average True Range (ATR).
stock_data = obb.equity.price.historical(symbol='TSLA', start_date='2023-01-01', provider='fmp')
wma_data = obb.technical.wma(data=stock_data.results, target='close', length=50, offset=0)
obb.technical.wma(length=2, data=[{'date': '2023-01-02', 'open': 110.0, 'high': 120.0, 'low': 100.0, 'close': 115.0, 'volume': 10000.0}, {'date': '2023-01-03', 'open': 165.0, 'high': 180.0, 'low': 150.0, 'close': 172.5, 'volume': 15000.0}, {'date': '2023-01-04', 'open': 146.67, 'high': 160.0, 'low': 133.33, 'close': 153.33, 'volume': 13333.33}, {'date': '2023-01-05', 'open': 137.5, 'high': 150.0, 'low': 125.0, 'close': 143.75, 'volume': 12500.0}, {'date': '2023-01-06', 'open': 132.0, 'high': 144.0, 'low': 120.0, 'close': 138.0, 'volume': 12000.0}])

Parameters

NameTypeDescriptionDefaultOptional
dataList[Data]The data to use for the calculation.False
targetstrTarget column name.False
indexstr, optionalIndex column name to use with data, by default "date".False
lengthint, optionalThe length of the WMA, by default 50.False
offsetint, optionalThe offset of the WMA, by default 0.False

Returns

OBBject
results : List[Data]
The WMA data.