Renta Variable

Precios de cierre

Puedes descargar fácilmente los precios de cierre en pocas líneas de código. Como mencionamos en la sección anterior, usaremos módulos de Python para obtener los datos. Requests se encarga de conectarse con la API Dolphin Markets, mientras que Pandas del manejo de los datos.

En este ejemplo, descargaramos los precios de cierre para Copec y CMPC desde el año 2018.

import pandas as pd
import requests

API_KEY = 'api_key'

payload = {
   "key": API_KEY,
   'tickers': ['CMPC', 'COPEC'],
   'values': ['close'],
   'start': '2018-01-01',
}

r = requests.post('https://dolphin.markets/api/stocks', json=payload)
df = pd.DataFrame(r.json())

print(df.head())

Con esto obtenemos lo siguiente:

       close       date      ticker
490  7480.0  2021-01-04      COPEC
492  8064.0  2021-01-07      COPEC
495  8090.0  2021-01-13      COPEC
497  7911.0  2021-01-11      COPEC
499  8000.0  2021-01-08      COPEC

Note

Si quieres acotar los resultados de la consulta, puedes utilizar los parámetros start y end, en formato YYYY-MM-DD. Estos parámetros están disponibles para todos los endpoints que entregan datos históricos.

Dividendos de acciones

import pandas as pd
import requests

API_KEY = 'api_key'

payload = {
   "key": API_KEY,
   'tickers': ['CMPC', 'COPEC'],
}

r = requests.post('https://dolphin.markets/api/dividends', json=payload)
df = pd.DataFrame(r.json())

print(df.head())

Dividendos de fondos de inversión

import pandas as pd
import requests

API_KEY = 'api_key'

payload = {
   "key": API_KEY,
 'tickers': ['CFIMRCLP'],
}
r = requests.post('https://dolphin.markets/api/dividends', json=payload)
df = pd.DataFrame(r.json())
df['payment_date'] = pd.to_datetime(df['payment_date'])

pivot = df.pivot_table(index='date', values='value', columns='ticker')

print(pivot.tail())

Dividend Yield

import pandas as pd
import requests

API_KEY = 'api_key'

payload = {
   "key": API_KEY,
   'tickers': ['CMPC', 'COPEC'],
   'values': ['dvd_yield'],
}

r = requests.post('https://dolphin.markets/api/stocks', json=payload)
dvd_y = pd.DataFrame(r.json())
dvd_y['date'] = pd.to_datetime(dvd_y['date'])

pivot_dvd_y = dvd_y.pivot_table(index='date', columns='ticker', values='dvd_yield')
pivot_dvd_y = pivot_dvd_y.resample('y').last().loc['2015':].T
pivot_dvd_y.columns = pivot_dvd_y.columns.year

print(pivot_dvd_y)

Número de acciones emitidas

Note

Para las sociedades que posean más de una serie de acciones emitida, puedes considerar lo siguiente: shares_outstanding entrega el número de acciones por serie emitida, mientras que shares_outstanding_all_series entrega el número total de acciones emitidas del emisor, sin tomar en cuenta la serie.

Ejemplo de solicitud

A continuación se presenta un ejemplo de Embotelladora Andina, obteniendo el número de acciones emitidas para cada serie.

payload = {
   "key": API_KEY,
   'tickers': ['ANDINA-A', 'ANDINA-B'],
   'values': ['shares_outstanding'],
   'start': '2020-01-01',
}

r = requests.post('https://dolphin.markets/api/stocks', json=payload)
df = pd.DataFrame(r.json())
pivot = df.pivot_table(index='date', columns='ticker', values='shares_outstanding')
pivot = pivot.ffill()