Estrategia de inversión cuantitativa basada en la fecha de compra mensual


Fecha de creación: 2023-11-24 14:10:23 Última modificación: 2023-11-24 14:10:23
Copiar: 0 Número de Visitas: 593
1
Seguir
1617
Seguidores

Estrategia de inversión cuantitativa basada en la fecha de compra mensual

Descripción general

La idea central de esta estrategia es encontrar la mejor fecha de compra de cada mes para obtener el mejor retorno de la inversión mediante la compra de activos digitales en esta fecha y su venta al final de la misma. La estrategia es adecuada para los inversores que buscan obtener ganancias adicionales aprovechando las fluctuaciones de los precios en el día.

Principio de estrategia

La estrategia funciona según la fecha de compra y la fecha de venta de cada mes que el usuario establezca. Si se abre una orden de compra y venta de activos el día de la fecha de compra, si se establece una fecha de venta, se cerrará el día de la venta; Si no se establece una fecha de venta, se cerrará el día de la fecha de finalización de la estrategia.

La lógica de la señal de compra es la siguiente: si es la fecha de compra establecida por el usuario y está dentro de la fecha de entrada en vigor de la estrategia, se abre una cuenta adicional.

La lógica de la señal de posición baja es: si se establece una fecha de venta y es la fecha de venta, la posición baja; si no se establece una fecha de venta pero es más allá de la fecha de finalización de la estrategia, también la posición baja.

Ventajas estratégicas

  1. Encuentra los puntos de compra con mayor fluctuación mensual de los precios y aprovecha las operaciones intraday de alta frecuencia para obtener ganancias adicionales
  2. Se puede encontrar el mejor punto de compra comparando las leyes de ganancias de diferentes fechas de compra
  3. La mejor fecha para comprar un producto cambiará si se combina con los eventos de la prensa del mes.
  4. Se pueden establecer diferentes fechas de venta para lograr un equilibrio entre las operaciones de línea corta y larga

Riesgos estratégicos y soluciones

  1. El riesgo de caída de precios después de la compra

    • Establecer un punto de parada para reducir las pérdidas máximas
    • Opte por pares con suficiente liquidez para evitar fluctuaciones extremas de precios
  2. El riesgo de cambio de fecha de compra óptima

    • Monitorear los cambios en los datos históricos y ajustar los mejores puntos de compra a tiempo
    • Reducir el tamaño de las posiciones en períodos de alto riesgo
  3. Riesgo de pérdidas por errores de configuración

    • Prueba de los diferentes parámetros y comparación de las diferencias en los ingresos
    • Seleccionar un rango de tiempo representativo para la prueba

Dirección de optimización de la estrategia

  1. Combina más factores para determinar el punto de compra

    • Considere el impacto en los precios de los acontecimientos noticiosos clave del mes
    • Análisis de la evolución de los precios de los activos digitales relevantes
    • Agregando modelos de aprendizaje automático para determinar el mejor momento de compra
  2. Mecanismo de gestión de posiciones optimizado

    • Establecer el punto de parada de la posición de paridad dinámica
    • Ajuste del tamaño de la posición en función de la volatilidad
    • Considere mantener posiciones a largo plazo
  3. Extensión a otros mercados de operaciones

    • Aplicación para más pares de transacciones de monedas digitales
    • Aplicación en mercados como el de acciones y divisas.
    • Establecer una estrategia de arbitraje entre mercados

Resumir

Esta estrategia busca el punto de compra con mayor fluctuación de precios por mes, probando las diferencias de ganancias generadas por las diferentes fechas de compra. Esto puede generar ganancias adicionales para los inversores que buscan obtener ganancias de las operaciones de alta frecuencia durante el día.

Código Fuente de la Estrategia
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dennis.decoene

//@version=4
strategy(title="Buy and Hold, which day of month is best to buy?", overlay=true)

// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31, group="Starting From")
     
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12, group="Starting From")
     
startYear = input(title="Start Year", type=input.integer,
     defval=2021, minval=1800, maxval=2100, group="Starting From")

endDate = input(title="End Date", type=input.integer,
     defval=2, minval=1, maxval=31, group="Until")
endMonth = input(title="End Month", type=input.integer,
     defval=10, minval=1, maxval=12, group="Until")
endYear = input(title="End Year", type=input.integer,
     defval=2021, minval=1800, maxval=2100, group="Until")

entryday = input(title="Entry Day", type=input.integer,
     defval=26, minval=1, maxval=31, tooltip="When to enter (buy the asset) each month")
exitday = input(title="Exit Day", type=input.integer,
     defval=6, minval=1, maxval=31, tooltip="When to exit (sell the asset) each month")
     
useExitDay= input(title="Close position on exit day?", type=input.bool, defval=false, tooltip="Use the Exit Day to close each months position it true or close at the end of the period (if false)")
     
isEntryDay= (dayofmonth(time)==entryday)
isExitDay= (dayofmonth(time)==exitday-1)


inDateRange = true

if (isEntryDay and inDateRange)
    strategy.entry(id="Buy", long=true)
    
if (isExitDay and useExitDay)
    strategy.close_all()


// Exit open market position when date range ends
if (not inDateRange and not useExitDay)
    strategy.close_all()