6 votos

Obtener automáticamente la ETF iShares holdings

He oído que la ETF debe informar públicamente de sus explotaciones todo el tiempo. He visto que por ejemplo en el iShares sitio web puedo descargar la lista de las explotaciones como un archivo csv:

https://www.ishares.com/us/products/239705/ishares-phlx-semiconductor-etf

Me imagino que hay una manera de acceder a estas explotaciones gratis de forma automática, tal vez con algunas API? He comprobado la Roca de la API, pero en la página principal, no veo info de la ETF en el 'análisis de la cartera" y " búsqueda de valores pestañas.

Soy nuevo en la interacción con la web, así que tal vez mi mejor apuesta sería a google cómo tirar descargables de páginas web?

Los pensamientos?

8voto

dmuir Puntos 146

No hay necesidad de raspar el sitio. Que debe ser siempre un último recurso. El de abajo va a importar el .archivo csv que se preguntan acerca y guárdelo en un directorio de su elección. Si usted no desea especificar un directorio puede eliminar dir y todas las referencias a él y el archivo irá directamente a su directorio de trabajo. Yo suelo guardar los datos por separado, por lo tanto esa opción.

from urllib.request import urlretrieve
import pandas as pd

dir = '[Your directory of choice]'

url = 'https://www.ishares.com/us/products/239705/ishares-phlx-semiconductor-etf/\
1467271812596.ajax?fileType=csv&fileName=SOXX_holdings&dataType=fund'

urlretrieve(url, dir + 'SOXX_holdings.csv')

df = pd.read_csv(dir + 'SOXX_holdings.csv', skiprows=10)
print(df.head())

Alternativa a la anterior: la importación de datos directamente en un pandas dataframe en lugar de guardarlo localmente por el paso de la url como argumento.

import pandas as pd

url = 'https://www.ishares.com/us/products/239705/ishares-phlx-semiconductor-etf/\
1467271812596.ajax?fileType=csv&fileName=SOXX_holdings&dataType=fund'

df = pd.read_csv(url, skiprows=10)    
print(df.head())

Saltarse las 10 primeras filas y la impresión de la cabeza es la forma en que yo quería ver los datos. Muchas de las otras cosas que usted puede hacer desde aquí.

La buena suerte.

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