Skip to content
Ventaja Comparativa Revelada por industrias
  • AI Chat
  • Code
  • Report
  • Spinner

    Este notebook contiene el cálculo de Ventajas Comparativas Revelada (Revealed comparative advange)

    ¿En qué productos/industrias están especializados los países? o ¿En qué industrias están especializados regiones dentro de un mismo país? Tomando como referencia a Hidalgo et al. (2007), se calcula la Ventaja Comparativa Revelada (RCA) de cada par provincia-industria. Es decir, ¿cuánto una provincia "sobre produce" una industria en comparación con todos las demás provincias?

    Técnicamente, este es el índice de ventaja comparativa de Balassa

    # Importamos Librerías
    import warnings
    warnings.filterwarnings("ignore")
    import os
    import pandas as pd
    import numpy as np
    # Librerías para visualizacion
    import matplotlib.pyplot as plt
    import matplotlib.colors as colors
    from matplotlib import cm
    import re
    
    from IPython.core.interactiveshell import InteractiveShell
    InteractiveShell.ast_node_interactivity = 'all' 
    
    # More about intertools: https://docs.python.org/3/library/itertools.html
    from itertools import count
    from itertools import combinations
    from itertools import product #Cartesian product of input iterables. Roughly equivalent to nested for-loops in a generator expression. For example, product(A, B) returns the same as ((x,y) for x in A for y in B).
    print('librerías cargadas')
    # cargo la base
    df = pd.read_csv('df_ind.csv')
    print('dataframe cargado')
    df.head()
    ## Función para el cálculo de RCA
    
    def calc_rca(data,pais_col,prod_col,anio_col,value_col):
        """
          La función que calcula la RCA
        
        """
        print('Creando las combinaciones de país-producto-tiempo')
        df_all = pd.DataFrame(list(product(data[anio_col].unique(), data[pais_col].unique(),data[prod_col].unique())))
        df_all.columns=[anio_col,pais_col,prod_col]
        print('Se procede a fusionar los datos')
        df_all = pd.merge(df_all,data[[anio_col,pais_col,prod_col,value_col]],how='left',on=[anio_col,pais_col,prod_col])
        df_all.loc[df_all[value_col].isnull(),value_col] = 0
    
        # En esta parte se calculan propiedades
        print('calculando')
        df_all['Xcpt'] = df_all[value_col]
        df_all['Xct'] = df_all.groupby([pais_col, anio_col])[value_col].transform(sum)
        df_all['Xpt'] = df_all.groupby([prod_col, anio_col])[value_col].transform(sum)
        df_all['Xt'] = df_all.groupby([anio_col])[value_col].transform('sum')
    
        df_all['RCAcpt'] = (df_all['Xcpt']/df_all['Xct'])/(df_all['Xpt']/df_all['Xt']) #--> ecuación de las ventaja comparativa revelada RCA
        
        ## 0 si el producto / país tiene 0 exportaciones
        df_all.loc[df_all['RCAcpt'].isnull(),'RCAcpt'] = 0 
        # drop the properties 
        df_all.drop(['Xcpt','Xct','Xpt','Xt'],axis=1,inplace=True,errors='ignore')
    
        return df_all

    Cálculo de RCA de toda la base

    df_rca = calc_rca(data=df,pais_col='provincia', prod_col='clase',
    anio_col='anio', value_col='ventas_totales')
    
    print('rca listo!!')
    
    # Se muestran resultados
    df_rca[0:20]

    ¿Cuáles son los valores de RCA para Guayas, Pichincha y Manabí en el año 2019?

    # Guayas
    print("\n Guayas: \n")
    
    df_rca[ (df_rca['anio']==2019) & (df_rca['provincia']=='Guayas')].sort_values(by=['RCAcpt'],ascending=False)[['clase','RCAcpt','anio']][0:10]
    
    print("\n Pichincha: \n")
    
    df_rca[ (df_rca['anio']==2019) & (df_rca['provincia']=='Pichincha')].sort_values(by=['RCAcpt'],ascending=False)[['clase','RCAcpt','anio']][0:10]
    
    print("\n Manabí: \n")
    
    df_rca[ (df_rca['anio']==2019) & (df_rca['provincia']=='Manabí')].sort_values(by=['RCAcpt'],ascending=False)[['clase','RCAcpt','anio']][0:10]