def sesgos_graph(sesgos): """ Parameters ---------- sesgos : función : Función utilizada para calcular los sesgos cognitivos Returns ------- graph : gráfica de barras representando valores porcentuales del status-quo y aversión al riesgo """ sesgos = fn.f_be_de(datos) df_resultados = pd.DataFrame(sesgos['resultados']) df_results = df_resultados.drop([0, 3]) sesgs_bar = go.Figure( data=[go.Bar(x=df_results['mediciones'], y=df_results['resultados'])]) sesgs_bar.update_layout(title="Disposition Effect", xaxis_title="Mediciones", yaxis_title="Resultados (%)") #sesgs_bar.show() py.iplot(sesgs_bar)
# Mi archivo OANDA # datos = fn.f_leer_archivo(param_archivo='archivos/archivo_oanda.xlsx', sheet_name= 0) # Tiempo de la operación datos = fn.f_columnas_tiempos(datos) # Número de pips datos = fn.f_columnas_pips(datos) # Capital acumulado ($) datos = fn.f_capital_acm(datos) #graph = vn.profitd(datos) # Estadísticas básicas estadisticas = fn.f_basic_stats(datos) # Estadísticas de desempeño de movimientos profit_d = fn.f_profit_diario(datos) desempeno = fn.f_stats_mad(datos) vn.profitd(datos) # Behavioral Finance, sesgos cognitivos sesgos = fn.f_be_de(datos) print(datos) print(estadisticas['df_1_tabla']) print(estadisticas['df_1_ranking']) print(desempeno) print(sesgos['ocurrencias']) print(sesgos['resultados'])
# -- ------------------------------------------------------------------------------------ -- # # -- proyecto: Microestructura y Sistemas de Trading - Laboratorio 2 - Behavioral Finance # -- archivo: principal.py - flujo principal del proyecto # -- mantiene: Natasha Gamez # -- repositorio: https://github.com/NatashaGamez/Lab_2_LNGO # -- ------------------------------------------------------------------------------------ -- # import funciones as fn #Datos datos = fn.f_leer_archivo(param_archivo='archivo_tradeview_1.xlsx') #Pip size pip_size = fn.f_pip_size(param_ins='eurusd') #Tranformaciones de tiempo datos = fn.f_columnas_tiempos(param_data=datos) #Transformaciones Pips datos = fn.f_columnas_pips(param_data=datos) # Estadisticas basicas y Raking [df_1_tabla, df_1_ranking] = fn.f_estadisticas_ba(param_data=datos) # Capital acumulado datos = fn.capital_acm(param_data=datos) # Profit diario, profit diario opercaiones buy, profit diario opercaiones sell [df_profit_d, profit_d_acm_c, profit_d_acm_v] = fn.f_profit_diario(param_data=datos) # Medidas de Atribución al Desempeño (MAD) Est_MAD = fn.f_estadisticas_mad(df_profit_d, profit_d_acm_c, profit_d_acm_v) # Segos cognitivos df_be_de = fn.f_be_de(datos)
data = fn.f_columnas_tiempos(data) #agregar columna de pip data = fn.f_columnas_pips(data) #diccionario con estadísticas de operaciones estadistica_operaciones = fn.f_estadisticas_ba(data) #crear dataframe con los profits de cada dia profit_d = fn.f_profit_diario(data) #aqui se hacen las medidas de atribucion al riesgo Medidas_atribucion_riesgo = fn.f_stats_mad(data) #%% #parte 4 sesgos = fn.f_be_de(data) #%% #parte 5 (esta grafica solo tiene el usdjpy mayor a 0 ya que fue con el unico par que llego a take profit ) #Gráfica 1: Ranking #tomamos el dataframe grafica1 = estadistica_operaciones['df_2_ranking'] #las unicas operaciones que tuve en ganadas fueron en usdjpy por lo que la grafica quedara muy mal #etiquetas labels = grafica1.index #valores para pie chart valores = grafica1.reset_index()['rank'].values values = valores # pull is given as a fraction of the pie radius fig = go.Figure( data=[go.Pie(labels=labels, values=values, pull=[.2, 0, 0, 0, 0, 0, 0])])
# -- archivo: principal.py - flujo principal del proyecto # -- mantiene: mauanaya # -- repositorio: https://github.com/mauanaya/LAB_2_VMAA # -- ------------------------------------------------------------------------------------ -- # import funciones as fn #%% datos = fn.f_leer_archivo(param_archivo='archivo_tradeview_1.xlsx') #%% fn.f_pip_size(param_ins='audusd') #%% datos = fn.f_columnas_tiempo(param_data=datos) #%% datos = fn.f_columnas_pips(param_data=datos) #%% stats = fn.f_estadisticas_ba(param_data=datos) #%% datos = fn.f_capital_acum(param_data=datos) #%% df_profit_diario = fn.f_profit_diario(param_data=datos)["df"] df_profit_diario_c = fn.f_profit_diario(param_data=datos)["df_c"] df_profit_diario_v = fn.f_profit_diario(param_data=datos)["df_v"] df_sp = fn.f_profit_diario(param_data=datos)["sp"] #%% df_mad = fn.f_estadisticas_mad(param_data=df_profit_diario, param_data_1=df_profit_diario_c, param_data_2=df_profit_diario_v) #%% df_disposition_effect = fn.f_be_de(param_data=datos)
# -- ------------------------------------------------------------------------------------ -- # # -- proyecto: Microestructura y Sistemas de Trading - Laboratorio 2 - Behavioral Finance # -- archivo: main.py - flujo principal del proyecto # -- mantiene: Hermela Peña # -- repositorio: https://github.com/hermelap/LAB_2_HPH # -- ------------------------------------------------------------------------------------ -- # import funciones as fn import visualizaciones as vs df_data = fn.f_leer_archivo(param_archivo='archivo_oanda.xlsx') fn.f_pip_size(param_ins='usdmxn') df_data = fn.f_columnas_tiempos(param_data=df_data) df_data = fn.f_columnas_pips(param_data=df_data) df_estadisticas_ba = fn.f_estadisticas_ba(param_data=df_data) df_profit_diario = fn.f_profit_diario(param_data=df_data) df_estadisticas_mad = fn.f_estadisticas_mad(param_data=df_data) sesgo = fn.f_be_de(df_data) grafica_1 = vs.pastel( diccionario=df_estadisticas_ba) # Grafica de pastel ranking grafica_2 = vs.linea( datos=df_profit_diario, estadisticos=df_estadisticas_mad) # Grafica de DrawDown y DrawUp
# -- archivo: main.py - codigo principal del proyecto # -- mantiene: IF Manuel Pintado # -- repositorio: https://github.com/manuelpintado/LAB_2_MPD.git # -- ------------------------------------------------------------------------------------ -- # import funciones as fn # Leer archivo de excel formato xlsx datos = fn.f_leer_archivo(param_archivo='reporte_cuenta.xlsx') # verificar funcionamiento de funcion tamaño pips pip_size = fn.f_pip_size(param_ins='usdmxn') # Calculos de tiempo transcurrido de operaciones datos = fn.f_columnas_tiempos(param_data=datos) # Calculos de pips y capital datos = fn.f_columnas_pips(param_data=datos) # Calculo de estadisticos basicos y ranking de portafolio estadisticos_ba = fn.f_estadisticas_ba(param_data=datos, ver_grafica=False) # Calculo datos diarios del portafolio datos_diarios = fn.f_profit_diario(param_data=datos) # Estadisticos financieros estadisticos_mad = fn.f_estadisticas_mad(param_data=datos, ver_grafica=True) # Sesgos sesgos_cognitivos = fn.f_be_de(param_data=datos, ver_grafica=False)
# -- ------------------------------------------------------------------------------------ -- # # # -- proyecto: Microestructura y Sistemas de Trading - Laboratorio 2 - Behavioral Finance # # -- archivo: datos.py - datos generales para uso en el proyecto # # -- mantiene: Tamara Mtz. # # -- repositorio: https://github.com/tamaramtz/LAB_2_TVM.git # # -- ------------------------------------------------------------------------------------ -- # import funciones as fn import visualizaciones as vn datos = fn.f_leer_archivo(param_archivo='archivo_tradeview_1.xlsx') datos = fn.f_columnas_tiempos(datos) datos = fn.f_columnas_pips(datos) datos = fn.f_capital_acm(datos) dt_stats = fn.f_estadisticas_ba(datos) pl_stats = vn.plot_ranking(dt_stats) profit_d = fn.f_profit_diario(datos) df_mad = fn.f_estadisticas_mad(datos) ddu = vn.plot_profit_diario(profit_d) ocur = fn.f_be_de(datos) pl_ocur = vn.plot_de(ocur)
#Cálculo del capital acumulado df_data = fn.f_capital_acum(df_data) #Sesgo df_data = fn.sesgo(df_data) #Extraer mes y día de la fecha df_data =fn.fechas(df_data) #Estadística básica df_1_tabla=fn.f_estadisticas_ba(param_data=df_data) #Ranking de operaciones df_1_ranking=fn.f_estadistica_ba2(param_data=df_data) df_1_ranking = df_1_ranking.reset_index(drop=True) #Condicional para llamar las funciones de acuerdo al archivo que se desea analizar. if data == 'archivo_tradeview1.xlsx': #Cáluclo del Profit diario df_profit_diario = fn.profitdiario(param_data=df_data) profit_sinsabado=fn.sinsabado(param_data=df_data) f_estadistica_mad = fn.f_estadistica_mad(param_data=df_profit_diario) grafica_pastel = vn.pie(param_data=data) ratio= fn.inforatio(param_data=df_data) f_be_de=fn.f_be_de(param_data=df_data) else: df_profit_diario = fn.profit2diario(param_data=df_data) profit_sinsabado=fn.sinsabado2(param_data=df_data) f_estadistica_mad = fn.f_estadistica2_mad(param_data=df_profit_diario) ratio = fn.inforatio2(param_data=df_data) grafica_pastel = vn.pie(param_data=data)
# -- ------------------------------------------------------------------------------------ -- # # -- proyecto: Microestructura y Sistemas de Trading - Laboratorio 2 - Behavioral Finance # -- archivo: principal.py - Codigo principal para el proyecto # -- mantiene: Alejandra Cortes # -- repositorio: https://github.com/alecortees22/LAB_2_ACS # -- ------------------------------------------------------------------------------------ -- # import funciones as fn import visualizaciones as vn import pandas as pd df_data = fn.f_leer_archivo(param_archivo='Statement_1.xlsx') time = fn.f_columns_datos(df_data) pips = fn.f_columns_pips(df_data) estadisticas = fn.f_estadisticas_ba(df_data) eurusd = fn.f_pip_size('eurusd-2') pd = fn.f_profit_diario(df_data) mad = fn.f_estadisticas_mad(df_data) seg_cog = fn.f_be_de(df_data)