1 votos

Incorporación de parámetros del mundo real a la negociación simulada(en papel)

Ampliando un poco la pregunta formulada aquí Quiero probar una estrategia utilizando una operación simulada (en papel). Como primer paso, he tratado de encontrar algún corredor que proporcione una plataforma de comercio simulado conveniente. Sin embargo, después de pensarlo un poco, he decidido utilizar un simple enfoque manual de "excel". Mi estrategia se basa en los siguientes supuestos:

  1. La decisión de entrar/salir de una posición se tomará antes del EOD, cuando se conozca el precio de cierre del mismo día.
  2. La acción de compra/venta se realizará el día después, una vez que comience la negociación.

Así que, básicamente, voy a esperar al siguiente día de negociación, ver los precios reales de ese día y anotar el precio que habría pagado/recibido. No hace falta decir que mi principal preocupación es crear una simulación lo más parecida posible a la real. Así que pensé en los factores que hay que tener en cuenta para que este proceso de simulación sea un poco más real. Se me ocurrió la siguiente lista:

  1. Gastos de intermediación . Se puede deducir fácilmente después de cada transacción realizada.
  2. Impuesto . Se puede calcular fácilmente.
  3. Disponibilidad de compradores/vendedores???

La última (tercera) cuestión parece problemática, ya que no sé cómo tenerla en cuenta. Estoy perfectamente bien para utilizar el precio de cierre para la etapa de toma de decisiones, pero cuando ejecuto la orden el día después, me gustaría estar seguro de que realmente puedo comprar / vender los papeles deseados y no quiero asumir el precio abierto del día para ser igual al precio de cierre del último día. Así que, según lo que entiendo, necesitaré tener un acceso al libro de pedidos para ver las solicitudes reales de compra y venta, incluyendo el número de acciones (o cualquier otra cosa). Me parece que la utilización de los registros del libro de órdenes en mis simulaciones, hará que los resultados sean más reales, por lo que incorporará todas las órdenes fallidas/ejecutadas parcialmente en los cálculos.

¿Está de acuerdo con eso? ¿Puedo acceder realmente a esta información o tal vez se puede calcular indirectamente de alguna manera? ¿Qué otros factores podría incorporar a mis cálculos para hacerlos más sólidos?

3voto

tobes Puntos 19

Dijiste que la decisión se tomaría en el EOD. Si has tomado la decisión antes del cierre del mercado, yo ejecutaría sobre el precio de cierre. Si estás negociando acciones con un volumen decente, no me preocuparía por la liquidez.

Si los beneficios de su estrategia son tan pequeños que sus ganancias se ven afectadas de forma significativa por, por ejemplo, el diferencial entre la oferta y la demanda (un céntimo o menos en el caso de los valores líquidos), yo me replantearía el enfoque. Descubrirá que la diferencia entre la apertura del mercado y el cierre de la noche anterior es mucho mayor que la oferta y la demanda normales.

2voto

Adam Tuttle Puntos 146

Creo que estás en el camino equivocado. Cada vez más muestras del mundo real hace no hacer que su backtest sea más preciso, sólo confirma que su estrategia puede resistir uno en particular trayectoria muestral de un proceso estocástico.

La razón por la que le resulta sencillo incorporar los honorarios, las comisiones, los impuestos, etc., es porque se trata de un proceso estático y constante -- bueno, puede que cambien con el tiempo, pero definitivamente no están correlacionados con los mercados.

Modelado Las devoluciones de un día para otro o los niveles más altos de la cartera de pedidos al día siguiente es un trabajo serio. En primer lugar, hay que seleccionar un modelo adecuado (es un trabajo principalmente teórico, pero la experiencia puede ayudar mucho). Después, para hacerlo en base a los datos, hay que revisar miles de días de datos de muestra en un conjunto de miles de instrumentos para obtener una "sensación" (es decir, parámetros significativos del modelo).

A propósito de la minería de datos, creo que Excel podría ser la herramienta equivocada para el trabajo. Los datos de nivel 2 (incluso sólo los 10 primeros niveles) son una masa masiva. Por ejemplo, el Datos históricos de NYSE OpenBook pesa nada menos que 15 TB comprimidos (74 TB sin comprimir) en los últimos 10 años, y cuesta 200.000 dólares.

De todos modos, en cuanto a otros factores a tener en cuenta:

  • ¡Deslizamiento! Incluso cuando los 3 primeros niveles del libro soportan fácilmente su, digamos, pedido de 20k, alguien más podría estar allí justo antes que usted y caería en los niveles 3, 4 y 5. (puede modelarse con un proceso de Poisson).
  • ¡Los límites de la posición! No has dicho con qué instrumentos operas, pero especialmente en la sección de futuros de materias primas hay límites de posición absolutos (en todos los vencimientos) que debes respetar.
  • ¡Atención a los márgenes! Se trata de límites de posición repentinos iniciados por el corredor, por ejemplo, como resultado de la modificación de los requisitos de margen (puede modelarse con un proceso de Poisson)
  • Acciones corporativas. En el caso de los instrumentos de renta fija o de renta variable, debe saber que el precio de apertura del día siguiente puede ser ex-derechos, ex-dividendo, ex-interés, ex-spin-off, etc. Estas acciones suelen afectar a las comillas, pero no afectan a su inversión (ya que se le compensa con dinero en efectivo o con más instrumentos).
  • Acciones corporativas especiales: squeeze-out, liquidación, quiebra, declaración de inutilidad; son los llamados eventos de cola y normalmente se modelan con una distribución de cola pesada. En su backtest del mundo real nunca los encontrará porque sufre el llamado sesgo de supervivencia

Entonces, ¿cómo tener en cuenta todo esto en un backtest? Personalmente, yo pondría algunos términos de penalización (como % sobre una base de rendimiento) para cada factor que desee considerar, no los codifique. A continuación, puede ejecutar un prueba de esfuerzo explorando estos parámetros (es decir, asignando algunos valores en el rango de 0 a lo que se ajuste). Explórelos individualmente (establezca sólo un término de penalización a la vez) para tener una idea de cómo podría reaccionar la estrategia ante el estrés de ese factor. A continuación, puede ejecutar el backtest con las combinaciones típicas (u observadas) de los factores de penalización y estresarlos lentamente en su conjunto.

Editar
Sólo para evitar confusiones sobre la terminología. Un backtest en sentido estricto (si hubiera aplicado esta estrategia hace X años, ¿qué habría pasado?) no se beneficiará de ninguna modelización simplemente porque el mundo real "hace el muestreo" por nosotros.

Sin embargo, para evaluar la estrategia robustez debe tener en cuenta los factores adicionales y realizar algunas pruebas de estrés. Si la estrategia funciona bien en el escenario real o sin estrés, pero produce pérdidas cuando se produce un pequeño deslizamiento de vez en cuando, podría concluir que la estrategia es muy frágil. La clave está en explorar el estrés máximo que puede soportar la estrategia (sea cual sea la medida); si es mucho se puede llamar la estrategia robusto.

Esto último es lo que personalmente llamo un backtest; el primer procedimiento recibiría el nombre de "extensión hacia el pasado" o así.

Algo de literatura ligera:

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X