Thursday, November 3, 2016

Backtesting En Excel

Backtesting en Excel Backtesting en Excel Ahora, para aquellos de ustedes que me conocen como blogger podría encontrar este post un poco ortodoxo al estilo tradicional de la escritura, sin embargo, en el espíritu de la evolución, inspirado en un amigo mío Stuart Reid (TuringFinance), estaré siguiendo algunos de los consejos sugeridos en la siguiente entrada del blog. Ser un estudiante en el programa EPAT Yo estaba emocionado de conocer la metodología que otros hacen uso de la hora de backtesting. Como de costumbre, comenzamos en Excel y luego migrar a R. Después de haber escrito anteriormente una serie blog en backtesting en Excel y luego pasar a R. Yo estaba muy interesado en ver un método ligeramente diferente utilizado por el equipo QuantInsti. Por favor, descargue la hoja de cálculo Excel para que pueda seguir el ejemplo a medida que avanzamos. "Mediante el cálculo de los precios de transacción que abre algunas puertas muy interesantes para la aplicación de análisis MAE" La única diferencia principal en el método es que abre la puerta para que las métricas de rendimiento como: Los retornos totales positivos Devoluciones negativos Oficios positivos Oficios negativos Proporción de aciertos Rentabilidad media MAE (Máxima Excursión Adversa) Pero sufre de no ser capaz de trazar una curva de la equidad como mi método original, puede sin embargo, incorporar fácilmente la curva de la equidad. (Voy a añadir la curva de las acciones de este post) Misión Objetivo Construir el "Hola Mundo" de estrategias de negociación: el "Largo Corto Media Móvil Estrategia Crossover". Paso 1: Obtener datos Hay varios lugares desde donde se puede obtener los datos, sin embargo, para este ejemplo vamos a obtener datos de Yahoo Finance. Voy a estar construyendo este ejemplo usando Google como proporción. Aquí hay un enlace para descargar los datos de precios en formato de archivo CSV de Yahoo. Nota: Por favor, asegúrese de pedir de la más antigua a la más reciente fecha. Los datos de precios de Yahoo en formato de archivo CSV Paso 2: Crear una columna, tanto para el largo y la media móvil simple a corto (SMA). Para este ejemplo quiero que haga uso de la SMA de 5 a 25 días. Para aquellos de ustedes que son nuevos en estrategias de negociación, una SMA es simplemente la suma total de precio de cierre dividido por el número de observaciones. 2.1) Crear el corto plazo SMA (5 días) El uso de la siguiente fórmula en Excel: = PROMEDIO (G2: G6) 2.2) Crear largo plazo SMA (25 Días) El uso de la siguiente fórmula en Excel: = PROMEDIO (E2: E26) Paso 3: Generar señales de trading Es en este paso donde los lectores se darán cuenta de una gran diferencia de mis anteriores entradas del blog en la construcción de un backtester vectorizado. Me incorporaré a mi metodología original en este post, así con el fin de trazar la curva de la equidad. Lo siguiente que tenemos que hacer es generar señales de compra y venta En el día anterior, el (5) SMA estaba por debajo del (25) SMA y en el día actual hay un cambio en el que el (5) es ahora SMA por encima de la (25) SMA, Escribe la cadena "COMPRAR" en el campo actual En la jornada anterior el (5) SMA estaba por encima de la (25) SMA y en el día de hoy hay un cambio en el que el (5) SMA está ahora por debajo de la (25) SMA, Escribe la cadena "vender" en el campo actual Añadir una cadena vacía "" para el campo actual. Esto se representa en Excel usando la siguiente fórmula: = SI (Y (H26 & gt; I26, H25 & lt; I25), COMPRA, SI (Y (H26 & lt; I26, H25 & gt; I25), VENDER,)) Paso 4: Obtener precio de compra / venta del comercio En la siguiente columna agregar la siguiente fórmula de Excel: = SI (J26 & lt; & gt;, B27, K26) La lógica es la siguiente: Si la columna de la señal de comercio para el día anterior (Muy importante a la zaga el indicador como para eliminar el sesgo de look-ahead) no es una cadena vacía a continuación, hacer uso del precio anterior por encima del campo actual. Else defina el campo actual al precio de apertura para el día. Paso 5: Calcular devoluciones Añadir una columna llamada rendimientos que hace uso de la siguiente fórmula de Excel: = SI (J26 = VENDER, K27 / K26-1, SI (J26 = COMPRA, 1-K27 / K26,)) Si el día anterior genera una señal de venta luego tomar el precio de cierre de hoy y se divide por el precio de compra y restar 1. Else Si el día anterior genera una señal de compra a continuación, añadir 1 y restar (precio de cierre de hoy y se divide por el precio de compra). Esta fórmula calcula la rentabilidad de una determinada línea. Paso 6: Calcular algunas métricas de rendimiento Retornos positivos: = SumIf (L: L, & gt; 0 ") Retornos negativos: = SumIf (L: L, y lt; 0 ") Operaciones positivas: = de CONTAR. SI (L: L, & gt; 0) Comercios negativos: = de CONTAR. SI (L: L, & lt; 0) Promedio Devoluciones = PROMEDIO (L: L) Estas no son las métricas tradicionales desempeño de la cartera, sino por el cálculo de la compra y el precio de venta se abre algunas puertas muy interesantes para la aplicación de análisis de máxima excursión adversa que se puede utilizar para optimizar detener las pérdidas. (Más sobre esto en otro post) "Nota: Yo no era capaz de calcular estos indicadores en mi método anterior debido a no haber registrado los precios de compra y venta de las transacciones." Parte 2: Adición de una curva de la equidad Paso 1: Agregar una nueva columna para los retornos diarios de la cuota. Para ello voy a utilizar el precio de cierre ajustado como quiero dividendos pagados a reflejarse en nuestra curva de estrategias de equidad y el perfil de rentabilidad total. La fórmula para retornos diarios es: (el precio actual precio / de ayer) - 1 Fórmula de Excel: = G3 / G2-1 Señales Calcular el largo o corto holdings: Paso 2 En esta columna queremos saber si estamos llevando a cabo actualmente un largo o una posición corta. Esto está representado por 1 de largo y -1 para abreviar. Esto se basa en la cruz media móvil sobre la estrategia yendo mucho tiempo si el corto plazo SMA está por encima del largo plazo SMA y corta si es todo lo contrario. "Nota: usted tiene que quedarse las señales de un día de fin de eliminar el sesgo de look-ahead." En este ejemplo, la fórmula Excel es como tal: = IF (H26 & gt; I26, 1, -1) Paso 3: Calcular Devoluciones diarias Estrategia Esta es la parte facil; simplemente multiplique los retornos diarios de Google por la posición actual. Paso 4: Calcular los rendimientos acumulados, tanto para la estrategia y la cuota como si usted compró y mantener. (Haga esto para que actúe como una comparación) La fórmula para acumular rendimientos es simple. En primer lugar es necesario agregar un importe de partida, he usado 1.000.000 para empezar. A continuación, aplicar la siguiente fórmula: acumulativa de retorno = (intereses * valor actual) + valor actual. Fórmula de Excel = (T26 * S27) + T26 Paso 5: Trazar los retornos Como se puede observar en el gráfico anterior, esta estrategia no es una rentable en este marco de tiempo particular y participación, pero el enfoque de este tutorial es en la construcción de un backtester usando Excel. Me gustaría animar a los lectores a explorar otras estrategias de negociación al tratar de incorporar el indicador RSI para actuar como una guía sobre cómo el tamaño de una posición. Para los lectores que estén interesados: echar un vistazo a la excursión adversa máxima y la forma en que se puede utilizar para optimizar detener las pérdidas. Una gran parte de ello se puede leer en el siguiente libro


No comments:

Post a Comment