En un post anterior hablábamos de Company Insiders y de Insider Trading, y como estos están obligados a reportar a la SEC mediante la Form-4 cuando esto sucede. Como dijimos, esto puede dar información o pistas sobre la dirección de la empresa, pero es un gasto de tiempo andar revisando la base de datos EDGAR de la SEC manualmente para aquellas empresas en las que estamos interesados, especialmente cuando el beneficio marginal de esta información puede no ser tan grande.

Por eso usaremos Python para hallar automáticamente las últimas entregas de Form-4 de las empresas de nuestra watchlist. Este es el código completo del MVP inicial:

from bs4 import BeautifulSoup
from urllib2 import urlopen

EDGAR_STOCKS_TO_CHECK = ['T', 'GILD', 'MO', 'MMM', 'AMCR']

def _edgar_form_4(ticker):

	url = urlopen('https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=' + ticker + '&type=4&dateb=&owner=only&count=40')
	soup = BeautifulSoup(url, 'html.parser')
	
	filling_date_block = soup.find_all('tr')
	data = list()
	rows = filling_date_block[3].find_all('td')
	for row in rows:
		data.append(row)
	print ticker + ': Latest change was on ' + str(data[3])
	
for eachStock in EDGAR_STOCKS_TO_CHECK:
	_edgar_form_4(eachStock)

Partimos de la URL específica donde el Form-4 se puede encontrar en EDGAR, y ahí sustituimos la parte específica de la URL por el ticker de la empresa, esto hará que podamos usar una sola URL base para cualquier tipo de valor.

Una vez tenemos la URL con la información, usaremos el módulo BeautifulSoup para parsear el HTML de dicha página, y encontrar los formularios que han sido añadidos al histórico de cada empresa. Como estos están ordenados por defecto de más reciente a más antiguo, bastará hallar la última actualización para saber cuando fué la última vez que una Form-4 fué reportada a la SEC.

Finalmente, la función añadirá la fecha a una lista y pasará a la siguiente empresa hasta que todas hayan sido analizadas. Y el resultado será el siguiente:

Como veis esto es sólo el principio, y el script aún puede crecer de muchas formas diferentes. Seguiremos trabajando en ello en futuras entradas!

Leave a Reply

%d bloggers like this: