Estrategia de entrada y salida aleatorias

El autor:¿ Qué pasa?, Fecha: 2023-10-11 15:17:28
Las etiquetas:

Resumen general

La estrategia de entrada y salida aleatoria es una estrategia que decide al azar el momento de entrada y salida durante la negociación. Utiliza un generador de números aleatorios para simular las decisiones de entrada y salida.

Estrategia lógica

La lógica central de esta estrategia es la siguiente:

  1. Cada candelabro generará aleatoriamente un número entre 0 y 100.

  2. Si el número aleatorio es inferior al umbral de entrada establecido, se abrirá una posición.

  3. Si el número aleatorio es inferior al umbral de salida establecido, la posición se cerrará.

  4. Hay tres opciones de dirección: sólo larga, sólo corta o dirección aleatoria.

  5. El año de inicio también se puede establecer para evitar años con grandes oscilaciones del mercado.

Al establecer diferentes combinaciones de probabilidad de entrada, probabilidad de salida y dirección, podemos simular los comportamientos de comercio aleatorios de diferentes tipos de operadores y examinar el rendimiento del comercio aleatorio en diferentes mercados.

Análisis de ventajas

  • Simula la toma de decisiones al azar de un comerciante real, cerca de situaciones reales de mercado.

  • Puede probar las diferencias de rendimiento del comercio aleatorio en varios mercados.

  • Puede encontrar qué mercados pueden generar rendimientos positivos incluso con el comercio aleatorio.

  • Puede utilizar el comercio aleatorio como estrategia de referencia para probar las ventajas de otras estrategias.

Análisis de riesgos

  • Incapaz de sacar provecho de las tendencias del mercado, incapaz de determinar el momento óptimo de entrada.

  • La salida aleatoria puede detener la pérdida en niveles desfavorables.

  • Se desempeña mal en mercados con un claro sesgo direccional.

  • Necesidad de optimizar la probabilidad de entrada/salida para evitar el exceso de negociación o el período de retención insuficiente.

  • Considerar la posibilidad de añadir un stop loss para evitar pérdidas ampliadas.

Direcciones de optimización

  • Ajustar la probabilidad de entrada/salida para encontrar combinaciones adecuadas para diferentes mercados.

  • Añadir estrategias de stop loss para controlar la pérdida de una sola operación.

  • Optimizar el tamaño de las posiciones para reducir el riesgo de una sola operación.

  • Cambiar a las estrategias de tendencia cuando la tendencia está clara.

  • Utilice el análisis estadístico para encontrar qué mercados favorecen el comercio aleatorio.

Resumen de las actividades

La estrategia de entrada y salida aleatoria prueba el rendimiento de diferentes mercados bajo decisiones aleatorias de comerciantes simuladas. La lógica de la estrategia es simple y puede servir como punto de referencia para examinar otras estrategias. Sin embargo, tiene sus defectos como no capturar tendencias y falta de gestión adecuada de stop loss. Podemos mejorar la estrategia ajustando combinaciones de parámetros, agregando paradas, optimizando el tamaño de posición, etc., para convertirla en una estrategia comercial cuantitativa viable.


/*backtest
start: 2022-10-04 00:00:00
end: 2023-10-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_1",2]]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
//
// "tHe MaRkEtS aRe RaNdOm", say moron academics.
//
// The purpose of this study is to show that most markets are NOT random! Most markets show a clear bias where we can make such easy money, that a random number generator can do it.
// 
// === HOW THE INDICATOR WORKS ===
// 
// -The study will randomly enter the market
// -The study will randomly exit the market if in a trade
// -You can choose a Long Only, Short Only, or Bidirectional strategy
//
// === DEFAULT VALUES AND THEIR LOGIC ===
// 
// Percent Chance to Enter Per Bar: 10%
// Percent Chance to Exit Per Bar: 1%
// Direction: Long Only
// Commission: 0
//
// Each bar has a 10% chance to enter the market. Each bar has a 1% to exit the market [if in a trade]. It will only enter long.
//
// I included zero commission for simplication. It's a good exercise to include a commission/slippage to see just how much trading fees take from you.
// 
// === TIPS ===
//
// -Increasing "Percent Chance to Exit" will shorten the time in a trade. You can see the "Avg # Bars In Trade" go down as you increase. If "Percent Chance to Exit" is too high, the study won't be in the market long enough to catch any movement, possibly exiting on the same bar most of the time.
// -If you're getting the red screen, that means the strategy lost so much money it went broke. Try reducing the percent equity on the Properties tab.
// -Switch the start year to avoid black swan events like the covid drop in 2020.
// -
// === FINDINGS ===
//
// Most markets lose money with a "Random" direction strategy.
// Most markets lose ALL money with a "Short Only" strategy.
// Most markets make money with a "Long Only" strategy.
// 
// Try this strategy on: Bitcoin (BTCUSD) and the NASDAQ (QQQ).
//
// There are two popular memes right now: "Bitcoin to the moon" and "Stocks only go up". Both are seemingly true. Bitcoin was the best performing asset of the 2010's, gaining several billion percent in gains. The stock market is on a 100 year long uptrend. Why? BECAUSE FIAT CURRENCIES ALWAYS GO DOWN! This is inflation. If we measure the market in terms of others assets instead of fiat, the Long Only strategy doesn't work anymore.
// Try this strategy on: Bitcoin/GLD (BTCUSD/GLD), the Eurodollar (EURUSD), and the S&P 500 measured in gold (SPY/GLD).
// 
// Bitcoin measured in gold (BTCUSD/GLD) still works with a Long Only strategy because Bitcoin increased in value over both USD and gold.
// The Eurodollar (EURUSD) generally loses money no matter what, especially if you add any commission. This makes sense as they are both fiat currencies with similar inflation schedules.
// Gold and the S&P 500 have gained roughly the same amount since ~2000. Some years will show better results for a long strategy, while others will favor a short strategy. Now look at just SPY or GLD (which are both measured in USD by default!) and you'll see the same trend again: a Long Only strategy crushes even when entering and exiting randomly.
//
// === "JUST TELL ME WHAT TO DO, YOU NERD!" ===
//
// Bulls always win and Bears always lose because fiat currencies go to zero.
//
strategy(title="Random Entries Work", shorttitle="REW", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.USD,commission_type=strategy.commission.percent,commission_value=0)

// === GENERAL INPUTS ===
strategy = input(defval="Long Only",title="Direction",options=["Long Only", "Short Only", "Random"])
enter_frequency = input(defval=10,minval=1,maxval=100,title="Percent Chance to Enter")
exit_frequency = input(defval=3, minval=0,maxval=100,title="Percent Chance to Exit",tooltip="This should be much lower than Percent Chance to Enter. Higher values decrease time in market. Lower values increase time in market.")
start_year = input(defval=2020, title="Start Year")


// === LOGIC ===
r = random(0,100)
enter = enter_frequency > r[0]
exit = exit_frequency > r[0]
direction = random(0,100) >= 50

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
    strategy.opentrades == 0 and enter and (strategy == "Long Only" or (strategy == "Random") and direction) and 
       time > timestamp(start_year, 01, 01, 01, 01)
exitLong() =>
    exit
strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() =>
    strategy.opentrades == 0 and enter and (strategy == "Short Only" or (strategy == "Random" and not direction)) and 
       time > timestamp(start_year, 01, 01, 01, 01)
exitShort() =>
    exit
strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())

Más.