Стратегия адаптивных динамических пороговых значений временных рядов, основанная на данных о собственном капитале

Автор:Чао Чжан, Дата: 2024-04-01 10:48:52
Тэги:

img

Обзор

Эта стратегия основана на данных временных рядов стоимости чистых активов акций или других финансовых активов. Динамически рассчитывая коэффициент эффективности (ER) как фактор сглаживания экспоненциальной скользящей средней (EMA), она адаптивно регулирует верхние и нижние полосы, чтобы запустить сигналы купли и продажи. Основная идея этой стратегии заключается в использовании всей информации, содержащейся в данных о стоимости чистых активов, путем расчета сложности изменений стоимости чистых активов (ER), для динамической корректировки фактора сглаживания EMA, а затем получить динамически изменяющиеся верхние и нижние полосы. Когда цена проходит через верхнюю полосу, она открывает длинную позицию, а когда проходит через нижнюю полосу, она закрывает позицию.

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

  1. Вычислить коэффициент эффективности (ER) данных о чистой стоимости активов, который представляет собой соотношение изменения стоимости чистой стоимости активов к общему изменению. Чем меньше стоимость ER, тем более стабильны изменения чистой стоимости активов; чем выше стоимость ER, тем более резко изменяется стоимость чистых активов.
  2. Использовать ER в качестве коэффициента сглаживания альфа функции pine_ema для динамического расчета среднего значения EMA и абсолютного отклонения стоимости чистых активов.
  3. Добавить и вычесть абсолютное отклонение от среднего значения EMA, чтобы получить динамически меняющиеся верхние и нижние диапазоны.
  4. Когда текущая чистая стоимость активов пройдет через верхний диапазон, открыть длинную позицию, а когда она пройдет через нижний диапазон, закрыть позицию.

Преимущества стратегии

  1. Он полностью использует всю информацию, содержащуюся в данных временных рядов чистой стоимости активов, без необходимости устанавливать какие-либо параметры и оптимизировать, метод прост и естественен.
  2. Благодаря динамическому расчету ER для корректировки коэффициента сглаживания EMA она может адаптироваться к сложности изменений стоимости чистых активов и гибко реагировать на изменения рынка.
  3. По сравнению с традиционной EMA с фиксированным параметром, динамическая EMA может эффективно сократить количество сделок и время их хранения, снижая затраты и риски транзакций.
  4. По сравнению с покупкой и удержанием, эта стратегия может уменьшить максимальный вывод в 2-3 раза или увеличить доходность в 2-3 раза при том же выводе.
  5. Он может быть легко применен к комбинации нескольких стратегий для достижения цели автоматического включения/выключения стратегий.

Стратегические риски

  1. Эта стратегия основана на данных временных рядов чистой стоимости активов.
  2. Хотя эта стратегия может адаптировать параметры, ее адаптация к экстремальным рыночным условиям требует дальнейшего изучения.
  3. В настоящее время эта стратегия в основном ориентирована на длинные позиции и должна быть еще более улучшена для коротких позиций.
  4. В практическом применении эта стратегия предъявляет более высокие требования к качеству выбранных целей и требует выбора целей с долгосрочной тенденцией к росту.

Направления оптимизации стратегии

  1. Рассмотреть возможность дальнейшей оптимизации метода расчета ER, внедрения большего количества показателей, отражающих характеристики изменений чистой стоимости активов, и повышения надежности и эффективности ER.
  2. Дальнейшее уточнение условий открытия и закрытия, например, рассмотрение вопроса о добавлении отслеживания стоп-лосса, процента стоп-лосса и т.д., для повышения рентабельности и устойчивости к риску стратегии.
  3. Для различных целей и рыночных условий оптимизировать параметры и адаптивно корректировать стратегию для повышения универсальности стратегии.
  4. Комбинировать эту стратегию с другими стратегиями (например, отслеживание тенденций, среднее изменение, и т.д.) для использования преимуществ различных стратегий и повышения надежности и рентабельности портфеля.

Резюме

Эта стратегия динамически рассчитывает коэффициент эффективности (ER) как фактор сглаживания экспоненциальной скользящей средней (EMA), адаптивно регулирует верхние и нижние полосы и запускает сигналы купли и продажи. Эта стратегия в полной мере использует информацию, содержащуюся в данных временных рядов стоимости чистых активов, без необходимости слишком много параметров настройки и оптимизации, метод прост и естественный, и может гибко реагировать на изменения рынка и эффективно контролировать снижения. Однако адаптивность этой стратегии к экстремальным рыночным условиям нуждается в дальнейшем изучении, и внимание должно быть уделено выбору целей в практических приложениях. В будущем мы можем еще больше оптимизировать и улучшить стратегию с точки зрения методов расчета, условий открытия и закрытия, оптимизации параметров, комбинационной стратегии и т. д., чтобы повысить надежность и рентабельность стратегии.


/*backtest
start: 2023-03-26 00:00:00
end: 2024-03-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy('Equity control', 'EC')
// study('Exponential bands', 'EB', overlay = true)


er(src) =>
    var start = src
    var total = 0.0

    total += abs(src - nz(src[1], src))
    net    = abs(src - start          )
    
    net / total

pine_ema(src, alpha) =>
    mean = 0.0
    dev  = 0.0

    mean := na(mean[1]) ? src : (1 - alpha) * mean[1] + alpha *     src
    dev  := na(dev [1]) ? 0   : (1 - alpha) * dev [1] + alpha * abs(src - mean)

    [mean, dev]


src = input(close)


a           = er      (src   )
[mean, dev] = pine_ema(src, a)

dev_lower = mean - dev
dev_upper = mean + dev


// plot(dev_lower, 'lower deviation', color.silver, 2, plot.style_stepline)
// plot(mean     , 'basis'          , color.purple, 1, plot.style_stepline)
// plot(dev_upper, 'upper deviation', color.silver, 2, plot.style_stepline)


if src > dev_upper
    strategy.entry('event', true, comment = 'on')
if src < dev_lower
    strategy.close('event', comment = 'off')


plot(strategy.equity)

//bigDope

Больше