Rastree una cartera de diferentes activos y reciba información analítica sobre ellos. Este código tiene herramientas para tener en cuenta automáticamente las divisiones de acciones e incluso encontrará pagos de dividendos haciendo algunos WebScapping (esta característica es muy propensa a los errores ya que no hay API).
Este proyecto utiliza una base de datos MySQL para almacenar los datos. Sin embargo, gracias al uso de un intermediario ORM (Flask-Sqlalchemy), puede intercambiar fácilmente con otras bases de datos. La aplicación buscará automáticamente un archivo de configuración llamado mysql_config.yml . No está incluido en el repositorio, pero simplemente contiene la información necesaria para generar el URI para la base de datos que desea utilizar.
Para correr, simplemente haz:
python app.py Dentro de la subcarpeta Asset_Portfolio. Asegúrese de configurar su archivo de configuración de base de datos y base de datos antes de ejecutar el código.
Escribí esta publicación de blog sobre un proyecto de juguete que es de naturaleza muy similar a este. Le recomendaría que lo revise para que tenga un mejor sentido de parte del código aquí.
La herramienta para calcular las acciones totales según las divisiones de acciones se encuentra en el archivo database_operations.py . La función se llama events_table_updater . Hay otra función para dividendos, llamadas acertadamente: dividends_table_updater .
Estas funciones deben ejecutarse independientemente del guión principal y en intervalos regulares. Estaba pensando en configurar un cron-trabajo para ejecutarlos, pero aún no lo he hecho.
No soy un diseñador gráfico o de GUI, así que cortéme un poco si la apariencia del proyecto parece un sitio web mal hecho de principios de los 90.
El HTML para las páginas se puede encontrar bajo la subcarpeta asset_portfolio/templates . Aquí hay algunas capturas de pantalla de lo que verá una vez que ejecute el código e ingrese algunos datos.
Aquí es donde el usuario ingresa a la información transaccional. Actualmente está configurado para la entrada manual, lo cual no es ideal, pero lo construí con Robinhood en mente, y todavía no tienen una API oficial con la que trabajar.
La interfaz muestra un gráfico básico alimentado por un servidor Bookeh que se ejecuta en la parte posterior. Puede pasar por cada acción para obtener más información. 


Aquí hay un lugar donde se registra a los corredores que luego se usan. No es increíblemente útil, pero está ahí. 
En esta página muestro todas las tenencias de activos pero separando las porciones que se considerarían a largo plazo de las tenencias a corto plazo.
Por ejemplo, si tuviera 10 acciones de Apple de hace 5 años, y 5 acciones de Apple de hace 6 meses, el programa mostraría esos dos lotes por separado.
