
La estrategia es una estrategia de comercio de alta frecuencia basada en la línea K de 3 minutos de la bolsa Coinbase. Calcula las líneas de subida y bajada de la línea K para determinar si hay oportunidades de reversión en el corto plazo. Cuando los precios suben o bajan mucho, la estrategia toma posiciones contrarias a la tendencia para esperar una reversión de la línea corta.
Esta estrategia se basa en determinar si el precio tiene la oportunidad de ser sobrecomprado o sobrevendido en el corto plazo. El sobrecomprado o sobrevendido generalmente proviene de un sentimiento de exceso de optimismo o pesimismo en el mercado. Cuando se produce este desequilibrio emocional temporal, el precio generalmente produce una inversión.
Concretamente, la estrategia calcula el tamaño de la línea de sombra superior y inferior de la línea K. Cuanto más grande sea la línea de sombra, más intensa será la oposición entre la fuerza de compra y la fuerza de venta cuando la línea K no esté terminada. Si la línea de sombra superior es demasiado grande, significa que muchas ofertas de compra fueron derrotadas por el parálisis antes del cierre de la línea K, lo que indica que la fuerza de la mayoría está a punto de fallar. Si la línea de sombra inferior es demasiado grande, significa que muchas de las ofertas de venta fueron absorbidas por los compradores antes del cierre de la línea K, lo que indica que la fuerza de la venta libre está a punto de fallar.
De acuerdo con esta lógica de juicio, la estrategia es tomar posiciones contrarias a la tendencia cuando la línea de sombra es demasiado grande (es decir, cuando los precios tienen una tendencia de sobrecompra y sobreventa en el corto plazo). El precio de parada para entrar en posiciones de múltiples cabezas es el precio medio de la línea de sombra inferior, y el precio de parada para entrar en posiciones de cabeza vacía es el precio medio de la línea de sombra superior.
La mayor ventaja de esta estrategia reside en que puede mover los mercados a corto plazo y provocar fluctuaciones irracionales, logrando un arbitraje inverso. Se puede obtener una mayor eficiencia con menos capital.
Otra ventaja es que Coinbase es un mercado muy volátil. La estrategia aprovecha las fuertes fluctuaciones de sus precios para sacar provecho.
El mayor riesgo de esta estrategia es que las fluctuaciones de precios a corto plazo pueden no ser muy predecibles. El tamaño de la línea de sombra ascendente y descendente no necesariamente captura toda la información de la reversión de los precios. Las emociones irracionales de los comerciantes no necesariamente siguen las leyes de la lógica.
Además, la configuración de los puntos de parada también es clave. Los puntos de parada son demasiado flexibles y pueden aumentar las pérdidas de la estrategia; los puntos de parada son demasiado estrictos y pueden perder oportunidades. Aquí se necesita encontrar un equilibrio entre la pérdida de ganancias y la probabilidad de ganar.
La estrategia puede optimizarse aún más en las siguientes dimensiones:
La estrategia en su conjunto es una típica estrategia de arbitraje estadístico. Trata de aprovecharse de las fluctuaciones irracionales de los precios a corto plazo y tiene cierta lógica y viabilidad. El siguiente paso es realizar experimentos de optimización en más dimensiones para que la configuración de los parámetros de la estrategia y las reglas de negociación sean más científicas.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//for coinbase, 3min logic
//This strategy trades against the short term trend. The first position can be either long or short.
//In the short term, prices fluctuate up and down on wide spread exchanges.
//And if the price moves to one side, the price tends to return to its original position momentarily.
//This strategy set stop order. Stop price is calculated with upper and lower shadows.
strategy("ndb_mm_for_coinbase_btcusd", overlay=true, initial_capital=100000, slippage=50)
fromyear = input(2019, minval = 2017, maxval = 2100, title = "From Year")
frommonth = input(12, minval = 1, maxval = 12, title = "From Month")
fromday = input(1, minval = 01, maxval = 31, title = "From day")
toyear = input(2100, minval = 1900, maxval = 2100, title = "To Year")
tomonth = input(12, minval = 01, maxval = 12, title = "To Month")
today = input(31, minval = 01, maxval = 31, title = "To day")
end = true
length = input(3, title="period")
mag = input(1.2, title="sigma", minval=0.1, step=0.1)
up_shadow = abs(high - max(open, close))
dn_shadow = abs(low - min(open, close))
up_shadow_ma = sma(up_shadow, length) * mag
dn_shadow_ma = sma(dn_shadow, length) * mag
upper = close + dn_shadow_ma
lower = close - up_shadow_ma
plot(upper, color=red)
plot(lower, color=blue)
if strategy.position_size == 0
strategy.entry("Long", strategy.long)
if 0 < strategy.position_size
strategy.entry("Short", strategy.short, stop=lower, when=end)
if 0 > strategy.position_size
strategy.entry("Long", strategy.long, stop=upper, when=end)