Основная идея этой стратегии заключается в том, что когда цена акций падает до определенного процента, позиции можно постепенно увеличивать, чтобы снизить среднюю стоимость позиции.
Когда цена акции впервые пересекает 20-дневную простую скользящую среднюю, займите длинный курс, чтобы открыть позицию. Если акция затем падает на целевой процент потери, например, 10%, добавьте к позиции определенный процент, например, 50% от текущей позиции. Это снижает среднюю стоимость держательной позиции. Когда цена акции достигает установленной точки получения прибыли, например, 10% выше средней стоимости держания, закрывайте все позиции, чтобы получить прибыль.
В частности, функция стратегии устанавливает такие параметры, как возможность до 4 дополнительных покупок, при этом размер позиции устанавливается в процентах от капитала и начальный размер позиции составляет 10% от капитала. Она получает 20-дневную простую скользящую среднюю линию. Когда цена закрытия пересекает этот средний показатель, и нет текущей позиции, она открывает длинную позицию. Затем она вычисляет плавающий процент прибыли / убытка позиции. Если она достигает целевого процента потери, она продолжает пирамидировать на целевом проценте дополнительной покупки, пока акции не восстанут, чтобы достичь целевой прибыли.
Наибольшее преимущество этого типа стратегии заключается в том, что при неблагоприятных рыночных условиях средняя стоимость держательной позиции может быть снижена путем пирамидизации дополнительных покупок. Это позволяет получать большую прибыль при улучшении рыночных условий, достигая эффекта "потерять меньше, заработать больше". По сравнению с простыми стоп-лоссами эта стратегия может лучше улавливать движения рынка, а не вынуждать останавливать потери, когда цены продолжают падать.
В то же время стратегия позволяет совершать несколько дополнительных покупок, максимально используя временные различия в перепадах рынка для постепенной корректировки позиций.
Конечно, если цены продолжают падать, эта стратегия также подвергается риску крупных потерь. Особенно на медвежьих рынках, степень снижения цен может намного превышать наше воображение. Поэтому доля и количество дополнительных покупок должны быть разумно установлены, чтобы контролировать риск в пределах приемлемого диапазона.
В то же время мы должны понимать, что если все инвесторы примут такую стратегию, когда многие инвесторы достигнут целевого процента потерь, может возникнуть коллективный сценарий увеличения позиций. Это приведет к росту цен и формирует иррациональный краткосрочный отскок. Если мы не сможем правильно оценить ситуацию, мы можем ошибочно оценить тенденцию рынка и продолжать увеличивать нашу позицию. Результатом будет еще больший убыток, когда цены снова упадут.
Эта стратегия может быть оптимизирована несколькими способами:
Динамическое регулирование процента дополнительной покупки, который может быть скорректирован в режиме реального времени на основе рыночных условий.
Включите количественные показатели. Например, следите за увеличением объема, чтобы подтвердить сигналы отмены и избежать ложных сигналов.
После дополнительных покупок используйте прогрессивную систему остановки потери, чтобы гарантировать, что потери сохраняются в определенном диапазоне.
Динамическая стратегия отслеживания средней цены использует эффект средней цены путем корректировки позиций посредством дополнительных покупок. При условии наличия достаточной поддержки капитала, она может эффективно получать доходность выше средней, когда цены изменяются. Ключ в правильном оценке времени и пропорций, чтобы сохранить риски в приемлемых пределах. При правильном применении это может быть очень эффективным методом количественной торговли.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // ########################################################################## // // // This scipt is intended to demonstrate how pyramiding can be used to average // down a position. // // We will buy when a stock closes above its 20 day MA and Average down if // the trade does not go in our favor. We will hold until a profit is made. // (which could mean we hold forever) // // ########################################################################## // strategy("Average Down", overlay=true ) // Date Ranges from_month = input(defval = 1, title = "From Month", minval = 1, maxval = 12) from_day = input(defval = 1, title = "From Day", minval = 1, maxval = 31) from_year = input(defval = 2010, title = "From Year") to_month = input(defval = 1, title = "To Month", minval = 1, maxval = 12) to_day = input(defval = 1, title = "To Day", minval = 1, maxval = 31) to_year = input(defval = 9999, title = "To Year") start = timestamp(from_year, from_month, from_day, 00, 00) // backtest start window finish = timestamp(to_year, to_month, to_day, 23, 59) // backtest finish window window = true // Strategy Inputs target_perc = input(-10, title='Target Loss to Average Down (%)', maxval=0)/100 take_profit = input(10, title='Target Take Profit', minval=0)/100 target_qty = input(50, title='% Of Current Holdings to Buy', minval=0)/100 sma_period = input(20, title='SMA Period') // Get our SMA, this will be used for our first entry ma = sma(close,sma_period) // Calculate our key levels pnl = (close - strategy.position_avg_price) / strategy.position_avg_price take_profit_level = strategy.position_avg_price * (1 + take_profit) // First Position first_long = crossover(close, ma) and strategy.position_size == 0 and window if (first_long) strategy.entry("Long", strategy.long) // Average Down! if (pnl <= target_perc) qty = floor(strategy.position_size * target_qty) strategy.entry("Long", strategy.long, qty=qty) // Take Profit! strategy.exit("Take Profit", "Long", limit=take_profit_level) // Plotting plot(ma, color=blue, linewidth=2, title='SMA') plot(strategy.position_avg_price, style=linebr, color=red, title='Average Price')