---
title: "Volatility-adjusted Momentum"
method: POST
path: "/assets/indicators/momentum/volatility-adjusted"
tags: ["Assets / Indicators"]
---

# Volatility-adjusted Momentum

`POST /assets/indicators/momentum/volatility-adjusted`

Compute the volatility-adjusted momentum of an asset.

References
* [Shaik, R. (2011). Risk-adjusted momentum: A superior approach to momentum investing. White Paper. Bridgeway Capital Management](http://www.dorseywright.com/downloads/hrs_research/Momentum%20White%20Paper%202011%20Fall.pdf)
* [Adam Zaremba, Mehmet Umutlu & Alina Maydybura (2018): Less pain, more gain: Volatility-adjusted residual momentum in international equity markets, Investment Analysts Journal](https://doi.org/10.1080/10293523.2018.1469290)

## Request body

- union
  - object
    - `assets` object[], required
      - `assetReturns` number[], required — assetReturns[t] is the logarithmic return of the asset at the time t
      - `assetMomentumSkipPeriod` integer — The number of the most recent periods excluded from the asset volatility-adjusted momentum computation; must be < assetMomentumFormationPeriod
      - `assetMomentumFormationPeriod` integer, required — The look back period over which to compute the asset volatility-adjusted momentum
      - `assetVolatilityEstimationSkipPeriod` integer — The number of the most recent periods excluded from the asset volatility estimation; must be < assetVolatilityEstimationWindowSize - 1; defaults to assetMomentumSkipPeriod
      - `assetVolatilityEstimationWindowSize` integer — The look back period over which to estimate the asset volatility; defaults to assetMomentumFormationPeriod
  - object
    - `assets` object[], required
      - `assetPrices` object[], required — assetPrices[t] contains price information for the asset at the date t
        - `date` string, required — The date corresponding to the date t in format YYYY-MM-DD; all dates must be distinct
        - `close` number, required — The close price of the asset at the date t
      - `assetMomentumSkipPeriod` integer — The number of the most recent periods excluded from the asset volatility-adjusted momentum computation; must be < assetMomentumFormationPeriod
      - `assetMomentumFormationPeriod` integer, required — The look back period over which to compute the asset volatility-adjusted momentum
      - `assetVolatilityEstimationSkipPeriod` integer — The number of the most recent periods excluded from the asset volatility estimation; must be < assetVolatilityEstimationWindowSize - 1; defaults to assetMomentumSkipPeriod
      - `assetVolatilityEstimationWindowSize` integer — The look back period over which to estimate the asset volatility; defaults to assetMomentumFormationPeriod

## Response `200`

OK

- object
  - `assets` object[], required
    - `assetVolatilityAdjustedMomentum` number, required — The asset volatility-adjusted momentum

---

[API](https://skmtc.net/portfoliooptimizer/apis/portfolio-optimizer.md) · [All operations](https://skmtc.net/portfoliooptimizer/apis/portfolio-optimizer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/portfoliooptimizer/portfolio-optimizer/revisions/6f06b5c1e6e5/schema)
