5 votos

¿Cómo se puede consultar la API de Google Finance para obtener los valores del Dow Jones y S&P 500?

0 votos

Lo más probable es que tenga algo que ver con la codificación Unicode del "." delante de los dos símbolos.

0 votos

Gracias @Forgottenscience pero el DJIA no tiene prefijo ".".

4voto

lilac Puntos 34

Esto no es algo que quieras escuchar, pero la mayoría de los sitios web gratuitos tienen problemas de licencia y muestran enlaces de descarga limitados o nulos para S&P y DJI. Te recomiendo que uses quantdl o stooq en su lugar.

Aquí tienes algunos enlaces de descarga de stooq:

DJI:

https://stooq.com/q/d/l/?s=^dji&i=d

S&P:

https://stooq.com/q/d/l/?s=^spx&i=d

Sin embargo, necesitas limpiar los datos antes de usarlos. Los datos de S&P se remontan hasta 1789 y los de DJI hasta 1896, así que ni siquiera sé si es posible... No confiaría en ningún dato anterior a 1960 en ningún sitio web.

2voto

Janning Puntos 570

El sitio web de wsj te permite descargar datos csv para DJI. Si juegas un poco, puedes averiguar la consulta de url para iniciar una descarga. Luego, puedes usar Powershell para hacer que la descarga sea programática (nota: este script también accede a comillas de acciones de yahoo finance utilizando su método de descarga csv actualmente disponible) (Nota: los códigos de la consulta de yahoo están documentados aquí: http://www.canbike.org/information-technology/yahoo-finance-url-download-to-a-csv-file.html)

#script sigue

cls

Function Get-LastFriday
{

    $djiDate = [DateTime]::Now

    while ($djiDate.DayOfWeek -ne "Friday")
    {

        $djiDate= [DateTime]::Now.AddDays(-1)

    }

    return $djiDate
 }

#prototipo: quotes.wsj.com/index/DJIA/historical-prices/download?MOD_VIEW=page&num_rows=1&range_days=1&startDate=08/20/2016&endDate=08/20/2016

$djiDate = Get-LastFriday

$startDate = $endDate = ([String]$djiDate.Month) + "/" +  ([String]$djiDate.Day) + "/" + ([String]$djiDate.Year) 
$uri = "quotes.wsj.com/index/DJIA/historical-prices/download?MOD_VIEW=page&num_rows=1&range_"+$startDate+"&endDate="+$endDate

Invoke-WebRequest -Uri $uri -OutFile "C:\Users\xxxx\Desktop\dji.csv"
Import-Csv -Header Date, Open, High, Low, Close -LiteralPath "C:\Users\bill\Desktop\dji.csv" | Out-GridView

Invoke-WebRequest -Uri "http://download.finance.yahoo.com/d/quotes.csv?s=^DJI,VWIAX,VMMXX,VWELX,DODGX&f=nsl1d1t1p&e=.csv" -OutFile "C:\Users\xxxx\Desktop\q.csv"
Import-Csv -Header Name, Symbol, 'Last Trade', 'Trade Date', 'Last Trade Time', p -LiteralPath "C:\Users\bill\Desktop\q.csv" | Out-GridView

2voto

Edward Hughes Puntos 1492

El símbolo para el DJIA es ".DJI" (sin comillas pero con el punto inicial) https://www.google.com/finance/historical?q=.DJI&startdate=Jun+01%2C+2017&output=txt

El símbolo para NASDAQ es ".IXIC" (sin comillas pero con el punto inicial) https://www.google.com/finance/historical?q=.IXIC&startdate=Jun+01%2C+2017&output=txt

El símbolo para S&P500 es ".INX" (sin comillas pero con el punto inicial) https://www.google.com/finance/historical?q=.INX&startdate=Jun+01%2C+2017&output=txt

2voto

user52137 Puntos 1

Si haces referencia a estos nombres de índice reales funciona

INDEXSP:.INX INDEXDJX:.DJI

1voto

Amod Gokhale Puntos 26

DataReader de Pandas (una biblioteca separada a Pandas) trabaja con Yahoo Finance (no con Google Finance).

Instalación: pip install pandas_datareader

Código: Solo ejecuto el siguiente código para obtener los datos del SPX entre 2010 y 2015 y funciona:

introducir descripción de la imagen aquí

Este enlace aquí tiene una lista actualizada de los proveedores de datos compatibles (Yahoo no está en la lista en este momento pero el código sigue funcionando como se muestra arriba y devuelve buenos datos).

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X