Стратегия Альфа импульса

Автор:Чао Чжан, Дата: 2023-11-23 11:34:40
Тэги:

img

Обзор

Стратегия Momentum Alpha оценивает, имеет ли базовый актив положительный импульс, рассчитывая его коэффициент Шарпа и значение альфы.

Принцип стратегии

Основными показателями этой стратегии являются коэффициент Шарпа и альфа. Коэффициент Шарпа отражает скорректированную по риску доходность актива, в то время как альфа отражает его избыточную доходность по сравнению с рыночным показателем. Когда оба положительны, это указывает на то, что актив имеет высокую скорректированную по риску доходность и превосходит рыночный показатель. Поэтому занимается длинная позиция. Когда оба становятся отрицательными, это означает, что импульс исчез и позиция сглаживается.

В частности, стратегия сначала рассчитывает коэффициент Шарпа за последние 180 дней. Коэффициент Шарпа рассчитывается как: (средняя ежедневная доходность безрисковая доходность) / стандартное отклонение ежедневной доходности. Здесь среднее и стандартное отклонение ежедневной доходности рассчитываются с использованием цены открытия и предыдущей цены закрытия. Когда коэффициент Шарпа больше 1, это означает, что актив имеет относительно высокую корректированную по риску доходность.

В то же время рассчитывается альфа за последние 180 дней. Альфа рассчитывается по рыночной модели: Альфа = Фактическая доходность активов (Рыночная доходность х Бета). Здесь используются ежедневные доходы базового актива и индекса S&P 500. Когда альфа больше 0, это означает, что фактическая доходность актива выше, чем на рыночном эталоне.

Поэтому, когда отношение Шарпа и альфа положительные, позиция длинная, а когда оба отрицательные, позиция плоская.

Анализ преимуществ

Наибольшее преимущество этой стратегии заключается в том, что, оценивая импульс, она может захватить возможности роста более широкого рынка и некоторых отдельных акций в течение определенных периодов, контролируя при этом риск, чтобы избежать длительных рыночных крахов.

  1. Расчет коэффициента Шарпа отражает последние условия динамики и может отражать восходящие тенденции некоторых рынков и акций.

  2. Благодаря всестороннему рассмотрению обоих показателей в разных периодах времени можно более точно определить положительный импульс.

  3. Когда импульс исчезает, своевременная остановка убытков позволяет избежать больших потерь.

  4. По сравнению с едиными индикаторами импульса, эта стратегия более стабильна, но также достаточно гибкая для использования как на акциях, так и на индексах.

Анализ рисков

Несмотря на преимущества, стратегия по-прежнему имеет следующие риски:

  1. Индикаторы импульса могут отступать. Когда рынок поворачивается, импульсные акции могут быстро падать. Это может привести к большим потерям. Параметры могут быть скорректированы или объединены с другими индикаторами.

  2. Альфа- и Шарп-соотношение имеет временные задержки. Когда рынки быстро движутся, значения индикатора могут отставать и не отражать последние тенденции. Период расчета может быть сокращен.

  3. Не существует контроля за размером позиций, что приводит к концентрации рисков.

  4. Данные обратного теста могут быть недостаточными, а производительность в режиме реального времени неопределенной. Следует проводить больше временных рамок и инструментальных обратных тестов. Окна оптимизации параметров должны быть сокращены, чтобы предотвратить переустановку.

Руководство по оптимизации

Стратегия может быть оптимизирована в следующих аспектах:

  1. Добавьте механизмы остановки потери. Установите точки остановки потери, когда цены резко падают в течение дня, чтобы избежать больших потерь.

  2. Добавьте управление размером позиций. Контроль капитала на торговую базу на основе волатильности рынка, чтобы ограничить потери на торговую.

  3. Оптимизировать параметры. Испытать различные временные рамки, чтобы соответствовать характеристикам различных базовых и рыночных условий. Различные комбинации параметров также могут быть оценены.

  4. Добавьте условия фильтрации. Установите фильтры, такие как объемы торговли или волатильность, чтобы избежать застрявания в ситуациях с колебаниями или низкой ликвидностью.

  5. Сочетание с другими стратегиями. Подумайте о сочетании с другими стратегиями, следующими за трендом. Это может как повысить стабильность, так и диверсифицировать риски от одной стратегии.

Резюме

Стратегия Momentum Alpha динамически улавливает возможности импульса, оценивая как риск-корректированную доходность, так и относительную рыночную производительность активов. По сравнению с отдельными индикаторами импульса, она имеет преимущества более точных суждений, более широкой применимости и более высокой устойчивости к риску.


/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-16 04:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Alpha strategy - simple version", overlay=true)

//by NIKLAUS
//USE ON DAILY TIMEFRAME TO DETECT MOMO STOCKS & ETFs AND TRADE THEM
//USE ON 5MIN CHART FOR INTRADAY USAGE
//examples to try this on: GER30, NAS100, JPN225, AAPL, IBB, TSLA, FB, etc.

//This Strategy goes long when Sharpe Ratio is > 1 and Alpha against the S&P500 is generated. It exits when conditions break away.

//https://en.wikipedia.org/wiki/Alpha_(finance)
//------------------------------------------------------------------------------------------------------------------------------------
//Alpha is a measure of the active return on an investment, the performance of that investment compared to a suitable market index. 
//An alpha of 1% means the investment's return on investment over a selected period of time was 1% better than the market during that same period, 
//an alpha of -1 means the investment underperformed the market. 
//Alpha is one of the five key measures in modern portfolio theory: alpha, beta, standard deviation, R-squared and the Sharpe ratio.


//simplified sharpe
src = ohlc4, len = input(180, title = "Sharpe/Alpha/Beta Period")
pc = ((src - src[len])/src)
std = stdev(src,len)
stdaspercent = std/src
sharpe = pc/stdaspercent


//alpha
sym = "BTC_USDT:swap", res=timeframe.period, src2 = close
ovr = request.security(sym, res, src2)

ret = ((close - close[1])/close)
retb = ((ovr - ovr[1])/ovr)
secd = stdev(ret, len), mktd = stdev(retb, len)
Beta = correlation(ret, retb, len) * secd / mktd

ret2 = ((close - close[len])/close)
retb2 = ((ovr - ovr[len])/ovr)

alpha = ret2 - retb2*Beta
//plot(Beta, color=green, style=area, transp=40)


smatrig = input(title="Sensitivity",  defval=2, minval=1, maxval=3) 
bgcolor (sma(sharpe,len/smatrig) > 1 and sma(alpha,len/smatrig) > 0 ? green : red, transp=70)

if (close > open) and (sma(sharpe,len/smatrig) > 1) and (sma(alpha,len/smatrig) > 0)
    strategy.entry("Alpha", strategy.long)
strategy.close("Alpha", when = (sma(sharpe,len/smatrig) < 1) or (sma(alpha,len/smatrig) < 0))


Больше