Sunday 12 November 2017

Backtesting Estrategias De Operación Con R


I m muy nuevo para R y tratando de backtest una estrategia de I ve ya programados en WealthLab. Varias cosas yo no entiendo (y que doesn t trabajo, obviamente :) I don t obtener los precios Cerrar muy bien en un vector. o algún tipo de vector pero comienza con la estructura y Yo no entienden realmente lo que hace esta función. Es por eso que mi serie, 1 llamada probablemente doesn t trabajo. n - nrow (serie) doesn t trabajo bien, pero necesito que por el bucle Así que supongo que si consigo Estas 2 preguntas contestadas mi estrategia debería funcionar. I m muy agradecido por cualquier help..R parece bastante complicado, incluso con experiencia en programación en otros idiomas sí que tipo de copiado algunas líneas de código de este tutorial y don MichiZH 6 Jun 13 a las 14:22 Este es el tercer mensaje en el Backtesting en serie Excel y R y se mostrará cómo bACKTEST una estrategia simple en R. se va a seguir los 4 pasos Damian esbozado en su post sobre cómo backtest una estrategia simple en Excel. Paso 1: Obtener los datos La función getSymbols en quantmod facilita este paso si se puede usar datos diarios de Yahoo Finanzas. También existen métodos (no en el sentido estricto) para extraer datos de otras fuentes (FRED, Google, Oanda, R guardar archivos, bases de datos, etc.). También se podría utilizar como una plantilla para escribir una función personalizada para un proveedor en particular que se utilice. ejecute el comando a continuación si quantmod ISN t ya instalado utilización del paquete quantmod (cargas TTR, XTS, y zoológico) extraer datos SPX de Yahoo (getSymbols devuelve un objeto XTS) Paso 2: Crear el indicador El paquete TTR contiene una multitud de indicadores. Los indicadores se escriben para que sea fácil de combinar de manera creativa y no convencionales. A partir de la revisión de 106 a I-forja, TTR tiene un indicador de DVI. calcular el indicador DVI DVI - DVI (Cl (GSPC)) Cl () extrae el precio de cierre columna Paso 3: Construir la regla de comercio Desde esta regla de comercio es simple - que re larga 100 si el DVI está por debajo de 0,5 y 100 corto de lo contrario - - se puede escribirse en una sola línea. normas más elaboradas y / o aprestos de posición se puede hacer también, pero requieren más código (RSI (2) con el tamaño de la posición es un ejemplo de reglas de dimensionamiento de las posiciones más complejas). Observe también que el vector de señal se retrasa, lo que evita el sesgo de preanálisis. crear señal: (larga (corta) si está por debajo de DVI (arriba) 0.5) Lag entonces la señal de ayer s se aplica a los rendimientos actuales s sig 0,5, 1, -1)) Paso 4: La curva de normas comerciales / patrimonio Como en Damian s ejemplo, el código siguiente es un enfoque simplificado, que es sin fricción y no tiene en cuenta el deslizamiento. El código siguiente realiza hoy s porcentaje de retorno y lo multiplica por el tamaño de la señal de ayer s / posición (siempre / - 100 en este ejemplo). También subconjunto del sistema vuelve a coincidir con los resultados en el archivo de Excel. el cálculo basado en la señal vuelve ret - ROC (Cl (GSPC)) subconjunto sig vuelve a coincidir con los datos en el archivo de Excel ret - ret 2009-06-02 / 2010-09-07 Paso 5: Evaluar el desempeño estrategia Damian mencionó la importancia de la evaluación de su estrategia. Afortunadamente para los usuarios de R, el paquete PerformanceAnalytics lo hace fácil. Con unas pocas líneas de código podemos ver las detracciones de crédito, riesgos a la baja, y un resumen de rendimiento. utilizar el paquete PerformanceAnalytics crear tabla que muestra las estadísticas Drawdown Crear una tabla de riesgo a la baja estima curva de la equidad carta y su vida diaria, y detracciones que s todo lo que hay backtesting una estrategia simple en R. No era que intimidante, fue que por favor vote si re moviendo el backtesting de Excel a R y hay algo que estés colgó o si tiene una punta impresionante usted gustaría compartir. Aquí la versión sa sucinta del código en el post anterior, si usted quiere ser capaz de copiar / pegar todo en un solo bloque: Backtesting un simple stock de comercio Estrategia Nota: Este artículo no es asesoramiento financiero Esto es sólo una forma divertida de explorar algunos de las capacidades de I tiene para importar y manipular datos. Hace poco leí un post en ETF profeta que exploró una estrategia de comercio de acciones interesantes de Excel. La estrategia es simple: Encuentra el punto más alto de la población durante los últimos 200 días, y contar el número de días que han transcurrido desde que el alto. Si su estado más a menos de 100 días, propietaria de las acciones. Si reaparece haciendo caso omiso de los costes de negociación y los retrasos de ejecución, los cuales afectan al rendimiento de la estrategia.) La aplicación de esta estrategia en la que R es simple, y ofrece numerosas ventajas sobre Excel, la principal de las cuales es que la extracción de datos del mercado de valores en la que R es fácil, y nos puede probar esta estrategia en una amplia gama de índices con relativamente poco esfuerzo. En primer lugar, debemos descargar datos para GSPC usando quantmod. (GSPC representa el índice S P 500). A continuación, se construye una función para calcular el número de días transcurridos desde el alto n días en una serie de tiempo, y una función para implementar nuestra estrategia de negociación. Esta última función toma 2 parámetros: el alto n-día que desee utilizar, y el número de días pasados ​​que el alto se llevará a cabo la acción. El ejemplo es de 200 y 100, pero se puede cambiar fácilmente esto a los 500 días de alta y ver lo que sucede si se mantiene la población de 300 días pasados ​​que antes de rescatar a. Dado que esta función se ha parametrizado, se puede probar fácilmente muchas otras versiones de nuestra estrategia. Nos almohadilla al comienzo de nuestra estrategia con ceros por lo que será la misma longitud que los datos de entrada. (Si desea una explicación más detallada de la función daysSinceHigh, ver la discusión sobre validado cruzada). Multiplicamos nuestra posición (0,1) vectores por los retornos del índice para conseguir nuestra estrategia hemos decidido mirar al rendimiento acumulativo, con una media anual de retorno, ratio de Sharpe, ganando, significa volatilidad anual, reducción máxima y reducción de longitud máx. Otras estadísticas serían fáciles de implementar. Como se puede ver, esta estrategia se compara favorablemente con el enfoque estándar. Por último, ponemos a prueba nuestra estrategia en otros 3 índices: FTSE lo que representa Irlanda y el Reino Unido, el índice industrial Dow Jones. que se remonta a 1896, y la N225. que representa Japón. Me he funcionalizado todo el proceso, por lo que puede probar cada nueva estrategia con 1 línea de código: No te pierdas ni una actualización Suscribirse a R-bloggers para recibir correos electrónicos con los últimos mensajes R. (No verá este mensaje de nuevo.)

No comments:

Post a Comment