Основная идея этой стратегии заключается в том, чтобы держать процент инвестиций актива в портфеле фиксированным. Когда стоимость актива растет, инвестор продает некоторые, чтобы сохранить процент. Когда он падает, инвестор покупает больше, чтобы пополнить процент. Стратегия подходит для относительно стабильных активов.
Стратегия сначала устанавливает процентный параметр инвестиций percentage_invested, то есть процент актива в портфеле.
Когда позиция равна 0, рассчитывают контракты на покупку на основе процентов_инвестиций и начального капитала.
При хранении, сравнить инвестированную сумму процент инвестированный на капитал процент_инвестированный. Если слишком низкий, купить больше контрактов. Если слишком высокий, продать контракты.
Повторите шаг 2 для сохранения процента инвестиций.
Разрешает долгосрочное хранение стабильных активов без частой торговли.
Периодическая ребалансировка прибыли от колебаний активов.
Диверсификация инвестиций по некоррелированным активам снижает риск портфеля.
Предотвращает полные потери, избегая полной инвестиции до того, как пузырь лопнет.
Более высокий риск потери для волатильных активов.
Частая торговля означает больше комиссионных.
Ребалансировка может задерживаться, отсутствуют лучшие точки входа/выхода.
Неправильные процентные настройки могут привести к переоценке.
Риски могут быть уменьшены:
Осторожный выбор активов, чтобы избежать высокой волатильности.
Оптимизация логики ребалансировки для сокращения частоты торговли.
Установка минимальных единиц изменения позиции для предотвращения переоценки.
Оптимизация процентной ставки для предотвращения чрезмерной концентрации.
Стратегия может быть улучшена путем:
Добавление логики стоп-лосса для сокращения потерь на определенном пороге.
Добавление подтверждения сигнала перед ребалансировкой, чтобы избежать ненормальных точек.
Настраивание процентов, коэффициенты остановки по активам.
Добавление модуля оптимизации параметров для поиска оптимальных параметров.
Поддержка закрытия позиций для реинвестирования в другие активы для динамического распределения.
Фиксированная процентная стратегия обеспечивает диверсификацию и контроль рисков. Но она имеет риски, такие как отставание ребалансирования и волатильные потери активов. Дальнейшие улучшения логики остановки потерь и проверки сигнала могут повысить стабильность.
/*backtest start: 2022-09-21 00:00:00 end: 2022-11-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // strategy("Fixed Fractioning", overlay=true, initial_capital=100000.0) percent_invested=input(50.0,title="Percent Invested",maxval=100.0,minval=0.0) fraction_invested=percent_invested/100 from_day=input(1,title="From Day",maxval=31,minval=1) from_month=input(1,title="From Month",maxval=12,minval=1) from_year=input(2017,title="From Year",maxval=2018,minval=1900) to_day=input(1,title="To Day",maxval=31,minval=1) to_month=input(1,title="To Month",maxval=12,minval=1) to_year=input(2018,title="To Year",maxval=2018,minval=1900) // === FUNCTION EXAMPLE === from: https://www.tradingview.com/script/62hUcP6O-How-To-Set-Backtest-Date-Range/ 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 // create function "within window of time" strategy.initial_capital = 50000 if strategy.position_size==0 and window() contracts_to_buy=(fraction_invested*strategy.initial_capital)/close strategy.entry("long",long=true,qty=contracts_to_buy,limit=close,when=contracts_to_buy>1) invested=(strategy.position_size*close)/strategy.equity if invested<fraction_invested and window() contracts_to_buy=((fraction_invested-invested)*strategy.equity)/close strategy.order("long",long=true,qty=contracts_to_buy,limit=close,when=contracts_to_buy>1) else if invested>fraction_invested and window() contracts_to_sell=((invested-fraction_invested)*strategy.equity)/close strategy.order("sell",long=false,qty=contracts_to_sell,limit=close,when=contracts_to_sell>1)