TradingTools: Extracción de Estadísticas de un Portfolio
En anteriores entradas de nuestro blog, presentábamos una opción para extraer de manera directa las estadísticas de un sistema a una hoja Excel a través de las Trading Tools.
En el presente artículo, presentamos una nueva modalidad. En esta ocasión, vamos a poder analizar los resultados obtenidos por un conjunto de sistemas previamente definidos.
Pueden descargar la hoja Excel desde el siguiente enlace:
Ejemplo EstadisticaPortfolio
Cómo utilizar la hoja de Estadísticas Porfolio
El proceso que seguiremos inicialmente es similar al de la versión anterior. Para más detalles, pueden consultar dicha entrada.
La diferencia en este caso se centra en la descripción de la lista de sistemas que vamos a usar. Esta información se rellena en las cuatro primeras columnas de la hoja Excel:
También debemos especificar el rango de fechas durante las cuales se realizará el estudio estadístico.
Por último, si queremos obtener los resultados en términos porcentuales o de dinero.
Datos devueltos
Una vez ponemos en marcha la aplicación, se solicitan los datos de cada sistema a Visual Chart.
La información recibida se agrupa por DIAS. Esto nos va a permitir poder analizar de manera conjunta los resultados obtenidos por los distintos sistemas.
Por último, se muestra la información estadística para cada día dentro del intervalo de fechas especificado.
Anotaciones relativas a la programación
Los aspectos fundamentales asociados a la programación fueron expuestos en la anterior entrada de extracción de estadísticas. En este caso, vamos a centrarnos en cómo hemos agrupado las estadísticas según el día.
El principal punto a destacar es el método SetCalculateOptions. Declarar este método es el equivalente a definir las opciones de filtro de las estadísticas de Visual Chart:
Sólo que en este caso lo haremos desde el código de programación: Queremos agrupar los resultados en días, y además, mostrar los resultados en Dinero o Porcentual, según lo que haya elegido el usuario:
Hecho esto, recorremos las fechas desde la fecha inicio hasta la fecha fin, recuperando para cada fecha los datos estadísticos de cada sistema, siempre y cuando éstos coincidan con la fecha en cuestión:
Aclaraciones
Para este ejemplo que hemos desarrollado, la información estadística que se facilita se limita a los campos de ganancia y pérdida máxima. No obstante, puesto que tenemos los datos necesarios de cada operación, el usuario puede generar el cálculo de cualquier valor estadístico que desee, pudiendo incluso aprovechar las funciones estadísticas que proporciona Microsoft Excel y aplicarlas a dichos datos.
En el presente artículo, presentamos una nueva modalidad. En esta ocasión, vamos a poder analizar los resultados obtenidos por un conjunto de sistemas previamente definidos.
Pueden descargar la hoja Excel desde el siguiente enlace:
Ejemplo EstadisticaPortfolio
Cómo utilizar la hoja de Estadísticas Porfolio
El proceso que seguiremos inicialmente es similar al de la versión anterior. Para más detalles, pueden consultar dicha entrada.
La diferencia en este caso se centra en la descripción de la lista de sistemas que vamos a usar. Esta información se rellena en las cuatro primeras columnas de la hoja Excel:
También debemos especificar el rango de fechas durante las cuales se realizará el estudio estadístico.
Por último, si queremos obtener los resultados en términos porcentuales o de dinero.
Datos devueltos
Una vez ponemos en marcha la aplicación, se solicitan los datos de cada sistema a Visual Chart.
La información recibida se agrupa por DIAS. Esto nos va a permitir poder analizar de manera conjunta los resultados obtenidos por los distintos sistemas.
Por último, se muestra la información estadística para cada día dentro del intervalo de fechas especificado.
Anotaciones relativas a la programación
Los aspectos fundamentales asociados a la programación fueron expuestos en la anterior entrada de extracción de estadísticas. En este caso, vamos a centrarnos en cómo hemos agrupado las estadísticas según el día.
El principal punto a destacar es el método SetCalculateOptions. Declarar este método es el equivalente a definir las opciones de filtro de las estadísticas de Visual Chart:
Sólo que en este caso lo haremos desde el código de programación: Queremos agrupar los resultados en días, y además, mostrar los resultados en Dinero o Porcentual, según lo que haya elegido el usuario:
'-- Establecemos los params de la ESTADISTICA
If Range("B3").Text = "Porcentual" Then Unidad = VCDS_SMU_Perc
If Range("B3").Text = "Dinero" Then Unidad = VCDS_SMU_Money
For i = 1 To ND
Datos(i).Sistema.SetCalculateOptions Unidad, VCDS_SC_Days, 1, FechaIni, FechaFin
Datos(i).n = 1
Next i
Hecho esto, recorremos las fechas desde la fecha inicio hasta la fecha fin, recuperando para cada fecha los datos estadísticos de cada sistema, siempre y cuando éstos coincidan con la fecha en cuestión:
For i = 1 To ND
With Datos(i)
If .Sistema.Size > 0 Then
Calcular = False
'Resultado
FechaAux = .Sistema.GetStatisticVariableDate(VC_SV_Net, .n)
If FechaAux < Dia Then
SalirFecha = False
While Not SalirFecha
.n = .n + 1
If .n > .Sistema.GetStatisticVariableSize(VC_SV_Net) Then
SalirFecha = True
Else
FechaAux = .Sistema.GetStatisticVariableDate(VC_SV_Net, .n)
If FechaAux = Dia Then
SalirFecha = True
Calcular = True: IncluirDia = True
ElseIf FechaAux > Dia Then
SalirFecha = True
End If
End If
Wend
ElseIf FechaAux = Dia Then
Calcular = True: IncluirDia = True
End If
Aclaraciones
Para este ejemplo que hemos desarrollado, la información estadística que se facilita se limita a los campos de ganancia y pérdida máxima. No obstante, puesto que tenemos los datos necesarios de cada operación, el usuario puede generar el cálculo de cualquier valor estadístico que desee, pudiendo incluso aprovechar las funciones estadísticas que proporciona Microsoft Excel y aplicarlas a dichos datos.
Comentarios
Publicar un comentario