De acuerdo, no soy un banquero o un analista financiero, pero he visto y aprendido un poco de cómo funcionan esas cosas, y soy bastante hábil con los pandas. En resumen, no es la herramienta adecuada para el trabajo.
Quizás el principal problema con las herramientas de ciencia de datos es que tienes que estar un poco alfabetizado para usarlas, y tienes que escribir MUCHO. Como mínimo, debe saber cómo hacer bucles, definir funciones y saber qué matrices, mapas / dictos hash y tipos de datos son, para trabajar con herramientas de ciencia de datos. Debe instalar Python o R, además de muchos paquetes, y luego escribir muchas cosas sin comentarios inmediatos en la pantalla sobre lo que está sucediendo. En realidad, no es divertido trabajar con él, pero si necesita algo que pueda usarse repetidamente, no puede evitar codificarlo.
Además, las herramientas de análisis de datos basadas en código también son horribles para la entrada de datos, porque están destinadas a aceptar estructuras de datos que crea automáticamente descargando datos de alguna base de datos o raspando algo.
- ¿Cuál es, en su opinión, la mejor medida de disimilitud para el análisis de imágenes en otras áreas del análisis de datos topológicos?
- ¿Cuáles son los temas candentes y / o importantes en la gestión de datos en la nube y en la investigación de la computación en la nube? Recientemente comencé mis estudios de doctorado y actualmente estoy buscando un problema en la computación en la nube.
- ¿Qué es la ciencia de datos? Estoy interesado en los conceptos de minería de datos ¿Alguien podría sugerir por dónde empezar?
- Cómo decidir qué datos recopilar al construir un modelo predictivo
- ¿Cómo ayuda el análisis de datos a los programadores informáticos?
El modelo financiero no se ajusta a esos criterios. El modelado financiero comienza con un pequeño número de entradas, que son números importantes que el analista debe comprender en profundidad, luego se hace algo de aritmética de acuerdo con uno o más marcos intuitivos. Hay mucha entrada manual de datos.
Además, en Excel, puede formatear bien las cosas con unos pocos botones, mientras que el formateo es esencialmente imposible de hacer con las herramientas de ciencia de datos, porque a nadie le importa formatear en esa configuración. Mostrar a los clientes bancarios o ejecutivos de grandes empresas algunas tablas HTML no funcionaría en absoluto.
Luego está la representación gráfica. Graficar en R o matplotlib o seaborn es una gran pesadilla que lleva años aprender.
Veamos un ejemplo de un modelo DCF en Excel, luego le mostraré cómo hacer lo mismo en pandas, una popular biblioteca de análisis de datos de Python.
Análisis de flujo de efectivo descontado
En Excel, debe escribir la columna en “Año 0”, luego ir a “Año 1”, escribir algo como = B3 * B4 para “Ingresos”, luego = C3 – C5 para “Beneficio bruto”, luego = C7 – C9 para “EBITDA”, y luego resalte todo, y arrastre por la pantalla. Muy fácil. De acuerdo, hay un poco más de tipeo que eso, pero rápidamente verás por qué no es relevante.
Luego tenemos algunos D&A que tenemos que ingresar, y luego hacemos algunos cálculos aritméticos para obtener FCF sin palancas, luego lo multiplicamos por la tasa de descuento para obtener el VPN de los flujos de efectivo. No es tan malo ¿verdad? Probablemente pueda hacer esto en Excel en menos de 2 minutos si es bueno.
Así es como haría esto en Python, y estoy cortando algunas esquinas:
importar pandas como pd
yoy_growth = 0.1
tasa_descuento = 0.11
if __name__ == ‘__main__’:
df = pd.DataFrame ({‘ingresos’: [20000 * (1 + yoy_growth) ** n
para n en el rango (6)],
‘cogs_to_revenue’: [0.45-0.002 * n para n en el rango (6)],
«ADN»: [1112, 1222, 1343, 1476, 1623, 1623],
‘change_in_nwi’: [318, 350, 384, 423, 465, 465]},
‘año’: rango (1, 7)})
df [‘yoy_growth’] = yoy_growth
df [‘cogs’] = df.revenues * df.cogs_to_revenue
df [‘gross_profit’] = df.revenues – df.cogs
df [‘sga_to_revenue’] = 0.145
df [‘sga’] = df.gross_profit * df.sga_to_revenue
df [‘ebitda’] = df.gross_profit – df.sga
df [‘ebit’] = df.ebitda – df.dna
df [‘cash_taxes’] = df.ebit * 0.35
df [‘tax_adjusted_ebit’] = df.ebit – df.cash_taxes
df [‘capital_expenditures’] = 1750
df [‘unlevered_fcf’] = df.tax_adjusted_ebit + df.dna – df.capital_expenditures – df.change_in_nwi
df [‘net_present_value’] = df.unlevered_fcf / (1 + discount_rate) ** df.year
Ah, también tenemos que formatear esto, lo que significa reordenar / renombrar algunas columnas y exportar a Excel, donde luego puede hacer que se vea bien. Elegí cambiar el nombre aquí para que escribir el código allí fuera más rápido, pero probablemente no era un ahorro de tiempo neto.
ebitda_calculation = df [[” réditos ‘,’ dna ‘,’ cogs ‘,’ cogs_to_revenue ‘,
‘gross_profit’, ‘sga’, ‘sga_to_revenue’, ‘ebitda’]]. rename (
columnas = {‘ingresos’: ‘Ingresos’,
‘dna’: ‘D&A’, ‘cogs’: ‘COGS’,
# Me faltan algunas columnas porque estoy harto de escribir
‘cogs_to_revenue’: ‘\% Revenue’,}). T.to_csv (‘your_filename_here.csv’)
No haré la siguiente tabla abajo porque no tengo ganas. Eso llevó unos 10-15 minutos sólidos de código de escritura frente a lo que hubiera sido 2 en Excel, y tuve que pensar mucho sobre cómo reducir la cantidad de escritura que tenía que hacer y permitir ajustes fáciles de parámetros como la tasa de descuento. En teoría, podría usar esto nuevamente, pero después de exportar a un archivo de Excel necesitaría hacer algunas copias y pegar adicionales y los números no se “vincularán” para que nadie más pueda ver su modelo.
Esperemos que haya sido una demostración útil de por qué NO desea utilizar herramientas de ciencia de datos en finanzas.