Estoy teniendo problemas con lo que parece una inconsistencia de unidades con los datos de la API de Yahoo Finanzas.
El problema se refiere a si obtengo el precio actual o el histórico. El precio actual casi siempre se cotiza en GBX (también conocido como GBp/ o peniques), como es de esperar. Sin embargo, el precio histórico se cotiza en GBP (libras) para algunos tickers.
Por ejemplo, 1: Lo siguiente funciona con las mismas unidades GBX (nota: los precios tendrán pequeñas diferencias debido a la diferencia de fechas):
http://download.finance.yahoo.com/d/quotes.csv?s=DLG.L&f=sl1d1t1c1hgvbap2 http://ichart.yahoo.com/table.csv?s=DLG.L&a=0&b=1&c=2016&d=0&e=26&f=2016&g=d
P. ej. 2: Lo siguiente (para una empresa diferente, pero también LSE) difiere en un factor de 100 (nota: los precios tendrán pequeñas diferencias debido a la diferencia de fechas):
http://download.finance.yahoo.com/d/quotes.csv?s=DIG.L&f=sl1d1t1c1hgvbap2 http://ichart.yahoo.com/table.csv?s=DIG.L&a=0&b=1&c=2016&d=0&e=26&f=2016&g=d
Entonces creé un programa para comprobar cuántos eran así.
De aproximadamente 1.400 tickers de London (.L) en Yahoo Finanzas:
- Aproximadamente el 19,5% tenía el precio histórico en libras esterlinas (GBP) y el precio actual en libras esterlinas (peniques) - por ejemplo, DIG.L
- Aproximadamente el 0,675% tenía el precio actual 100 veces mayor que el valor correcto - por ejemplo, CZB.L
- Aproximadamente un 78,39% de aciertos (¡vaya!). - Por ejemplo, PFC.L
El 1,4% restante no se ajustaba a mi algoritmo, pero podía explicarse como una de las tres categorías anteriores cuando se revisaba manualmente.
Así que parece que el precio actual es casi siempre correcto, pero los datos históricos pueden ser inexactos.
Mi pregunta es: el 19,5% es una cifra extraña para estar fuera. ¿Hay algo en Yahoo para cambiar las unidades de libras a peniques para los datos históricos, o siempre tendré que tener en cuenta esta inconsistencia?
NOTA: Probé el foro de Yahoo hace unos días, pero está casi sin uso. Espero que la comunidad de StackExchange sea más activa.
0 votos
¿Por qué DLG frente a DIG? Dos valores diferentes, ¿no?
0 votos
Exactamente, la incoherencia entre los valores. Uno de ellos tiene las mismas unidades para los datos actuales y los históricos, pero el otro tiene un factor de 100. Esto significa que si se compara un precio actual con un precio obtenido por medios históricos, las cifras serán erróneas. Por ejemplo, un buen caso de media móvil simple podría ser 40+60+50+60+40=> SMA=50, comparar con el precio actual de 55 - eso tiene sentido. Pero si el dato histórico es el 19,5% en libras, el resultado es 0,4+0,6+0,5+0,6+0,4=> SMA=0,5 - compárese con un precio actual de 55 y la cifra es completamente errónea. Se esperaría una coherencia unitaria en todos los casos.