He implementado algo similar a lo que deseas hacer. Cómo implementarlo depende en gran medida de lo que vayas a hacer con esos datos diarios OHLC y cuántos datos estás manejando.
Las implementaciones más viables que veo son las siguientes:
1. MS Excel
Si estás realizando algún análisis de hoja de cálculo u algo por el estilo y solo estás agregando estos datos una vez al día, puedes hacerlo fácilmente en MS Excel y probablemente sea la ruta más fácil y sin complicaciones para lograr tu objetivo. (no estoy completamente seguro de cómo tratar con las zonas horarias aquí)
2. Python pandas
Otra solución muy fácil de implementar es utilizar la biblioteca Python pandas (https://pandas.pydata.org/ - de la que soy un gran fan, por cierto), y utilizar sus funciones de agregación. Ya tiene la agregación 'OHLC' incorporada en ella (probablemente tendrás que ajustarla un poco para adaptarla a las zonas horarias - pero definitivamente es viable, Python tiene una biblioteca llamada 'pytz' que se ocupa de las zonas horarias).
La ventaja de utilizar la biblioteca pandas es que es súper rápida. Entonces, si estás tratando con mucha datos y MS Excel no es lo suficientemente eficiente, te sugiero esta ruta.
3. Codificación de propósito general
Esta fue en realidad la ruta que personalmente elegí, primero la implementé con pandas, pero como estaba realizando realmente muchas de esas agregaciones de 'OHLC' en transmisiones en vivo, el rendimiento no era muy bueno ya que siempre estaba reagregando todos los datos (quizás haya una mejor manera de implementar esto en pandas, pero no lo sé).
Así que para evitar reagregar los datos todo el tiempo, hice un código algo optimizado para agregar estos datos y lo construí exactamente adaptado a mis necesidades.
Esto requiere mucho más trabajo que otras soluciones, y solo lo recomendaría si realmente necesitas rendimiento Y si quieres trabajar con la agregación de 'OHLC' en tiempo real (actualizando la agregación OHLC para cada dato de tick, por ejemplo).
En cuanto a las zonas horarias, programé en Python y utilicé la biblioteca 'pytz'.
4. NinjaTrader
No sé qué haces con los datos OHLC, pero en caso de que los utilices con fines de visualización, te recomendaría que echaras un vistazo a NinjaTrader. Puedes hacer algunas agregaciones personalizadas allí.
0 votos
Si proporcionas una muestra de tus datos preparados, intentaré darte una solución funcional utilizando Plotly: plot.ly/python/ohlc-charts