Стратегия покупки в начале месяца и закрытия в конце месяца


Дата создания: 2023-11-02 14:23:40 Последнее изменение: 2023-11-02 14:23:40
Копировать: 0 Количество просмотров: 619
1
Подписаться
1617
Подписчики

Стратегия покупки в начале месяца и закрытия в конце месяца

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

Стратегический принцип

Эта стратегия сначала определяет первый торговый день месяца (понедельник) как сигнал открытия позиции, а последний торговый день (пятница) как сигнал закрытия позиции.

При открытии позиции, если открыто только сделать больше настроек, то прямо сделать больше; если разрешено сделать пустой, то одновременно открыть позицию сделать больше пустой.

При выравнивании позиции, если допускается разрыв, выровняется вся позиция; если только увеличение, выровняется только увеличение позиции.

Для управления рисками в стратегию также добавлена простая стоп-лосс настройка. Принудительная стоп-лосс, когда цена касается стоп-лосса.

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

Стратегические преимущества

  1. Это очень просто и очень удобно для начинающих.

  2. Применение месячных позиций, низкая частота операций, подходит для инвесторов, стремящихся к стабильности.

  3. Дополнительная открытая торговля - это вариант, который может удовлетворить различные стили торговли.

  4. В дополнение к функции “стоп-лосс”, можно в определенной степени контролировать риск отдельных акций.

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

  1. Время входа и выхода фиксировано и не может быть скорректировано в зависимости от состояния рынка.

  2. Без количественных оценок существует риск слепого слежения.

  3. Стоп-порог на одну акцию легко может быть нарушен и не может эффективно контролировать хвостовой риск.

  4. Позиции фиксированы и не могут быть скорректированы в зависимости от рыночных условий.

  5. Неопределенность сделок может привести к тому, что они не будут полностью реализованы в соответствии со стратегией.

  6. Простой способ остановки может привести к небольшим остановкам, следует использовать динамические остановки, такие как остановки волатильности.

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

  1. Можно вводить количественные показатели для оценки состояния рынка, динамически корректировать ритм открытия позиций.

  2. Сравните с базовым индексом, чтобы определить, насколько сильны или слабые выборные акции.

  3. Динамическая корректировка позиций в зависимости от рисковых показателей, таких как волатильность рынка.

  4. Динамическая остановка, или многоуровневая остановка.

  5. Присоединение к алгоритмическому модулю торговли, обеспечивающему транзакционные сигналы.

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

  7. В сочетании с машинным обучением оценивают качество акций и выбирают акции для вхождения в рынок.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © Je_Buurman September 1st 2020

//@version=4
strategy("Buurmans Tutorial", overlay=true, initial_capital=1000, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.2)

// Some initial inputs, these are needed in case the strategy returns an error of "too many trades, > 3000" 

Year    = input(defval = 2020, title = "From Year", minval = 2010)              // 
Month   = input(defval = 1, title = "From Month", minval = 1, maxval=12)
LongOnly=input(true, title="Only go Long?")


// Phase I - the initial "Strategy" - buy Monday, sell Friday

longCondition = dayofweek==dayofweek.monday and (time > timestamp(Year, Month, 01, 00, 00, 00))
shortCondition = dayofweek==dayofweek.friday and (time > timestamp(Year, Month, 01, 23, 59, 59))


// Phase II - some rudimentary "risk-management" e.g. stoploss

Use_stoploss=input(false, title="Use stoploss ?")
stoploss_input=input(150, title="Stoploss in $")
Stoploss = Use_stoploss ? strategy.position_size>0 ? iff(strategy.position_size>0,strategy.position_avg_price - stoploss_input, na) : strategy.position_size<0 ? iff(strategy.position_size<0,strategy.position_avg_price + stoploss_input, na) : na : na
plot(Use_stoploss and strategy.position_size!=0 ? Stoploss : na, color=iff(Stoploss!=na,color.silver, color.red),style=plot.style_linebr)


// Phase III - make it more profitable by trying to filter conditions
// only buy on odd Mondays ? only buy on full moon Mondays ? something else entirely ?


// The actual trades, going Long, close Long, going Short and Stoploss

if (longCondition)
    strategy.entry("Buy on Monday", strategy.long)
    
if (shortCondition and LongOnly==false)
    strategy.entry("Short on Friday", strategy.short)

if (shortCondition and LongOnly)
    strategy.close("Buy on Monday", comment="Sell on Friday")

if (low < Stoploss)
    strategy.close("Buy on Monday", comment="Long Stopped on Someday")
if (high > Stoploss)
    strategy.close("Short on Friday", comment="Short Stopped on Someday")