# -- archivo: datos.py - datos generales para uso en el proyecto # -- mantiene: marioabel96 # -- repositorio: https://github.com/marioabel96/LAB_2_MAGV/ # -- ------------------------------------------------------------------------------------ -- # # importamos el archivo funciones import funciones as fn import pandas as pd data = fn.f_leer_archivo(param_archivo="archivo_tradeview_1.xlsx") data = fn.f_columnas_tiempos(data) # creacion nuevo dataframe donde estaremos haciendo las modificaciones newd = pd.DataFrame(data) # obtenemos los pips de todos los inttrumentos uilizados y anexamos al dataframe pips = [fn.f_pip_size(param_ins=newd['symbol'][i]) for i in range(len(newd))] newd['pips'] = pips newd = fn.f_columnas_pips(newd) estadisticas = fn.f_estadisticas_ba1(newd) ranking = fn.f_estadisticas_ba2(newd) profits = fn.f_profit_diario(newd) medap = fn.f_estadisticas_mad(profits, newd).T
# -- ------------------------------------------------------------------------------------ -- # # -- 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)
# -- repositorio: https://github.com/MaferAnso/LAB_2_MFAA # -- ------------------------------------------------------------------------------------ -- # import funciones as fn # Funcion para leer los datos datos = fn.f_leer_archivo(param_archivo='archivo_tradeview_1.xlsx', sheet_name=0) # Agregar columna de tiempo datos = fn.f_columnas_tiempos(datos) #Agregar columna de pips datos = fn.f_columnas_pips(datos) #Agregar columna de capital acumulado datos = fn.f_capital_acm(datos) #Estadisticas de la tabla stats = fn.f_estadisticas_ba(datos) #Crear un nuevo dataframe con los profits diarios datos_profit = fn.f_profit_d(datos) #Creacion de tabla con metricas mad = fn.f_estadisticas_mad(datos) # Creación de tabla sobre los sesgos cognitivos sesgos = fn.f_be_de(datos)
# -- 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)
# DataFrames de Estadisticas basicas y ranking df_estadistic = fn.f_estadistica_ba(data) # -- PART III -- # Agregar capital acumulado fn.f_columna_capital_acm(data) # DataFrame de profits df_profit = fn.f_profit_diario(data) # Agregar rendimientos fn.log_dailiy_rends(df_profit, 'profit_acm') # Estadisticas de metricas de desempeño df_profit_estad = fn.f_estadisticas_mad(data) # -- PART IV -- # Operaciones ganadora vs perdedora (ocurrencia) sesgos = fn.f_sesgos_cognitivo(data) # Porcentaje de profit ganadoras / profit perdedoras porcentaje = abs( sum(data[data['profit/cap'] > 0]['profit/cap']) / sum(data[data['profit/cap'] < 0]['profit/cap'])) # Tiempo print(time() - t0)
# -- ------------------------------------------------------------------------------------ -- # # -- 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)
#%% df_1_ranking = fn.f_rank(datos=df_data) #%% df_data = fn.capital_acm(datos=df_data) #%% #df_profit_acm_d = fn.f_profit_diario(datos = df_data) profit_diario_acum = fn.f_profit_diario(datos=df_data) #%% estadisticas_mad = fn.f_estadisticas_mad(datos=df_data) #%%sesgos cognitivos #%% #Graphs1 = fn.graph1(datos = df_1_ranking) Graphs1 = fn.graph1(datos=df_1_ranking) #%% Graphs2 = fn.graph2(input1=df_data) #, input2 = estadisticas_mad) #Graphs3 = fn.graph1(datos = df_1_ranking) #%% graph pytplot GP1 = fn.gp1(datos=df_1_ranking) #%%
# -- ------------------------------------------------------------------------------------ -- # # -- proyecto: Microestructura y Sistemas de Trading - Laboratorio 2 - Behavioral Finance # -- archivo: principal.py - flujo principal del proyecto # -- mantiene: Oscar Flores # -- repositorio: https://github.com/OscarFlores-IFi/LAB_2_OEFH # -- ------------------------------------------------------------------------------------ -- # import funciones as fn import visualizaciones as vz archivo = "archivo_tradeview_1.csv" datos = fn.f_leer_archivo(archivo) datos = fn.f_columnas_tiempos(datos) datos = fn.f_columnas_pips(datos) datos = fn.f_capital_acm(datos) estadisticas = fn.f_estadisticas_ba(datos) vz.plot_ranking(estadisticas['df2']) profit_diario = fn.f_profit_diario(datos) vz.plot_profit_diario(profit_diario) desempenio = fn.f_estadisticas_mad(profit_diario) sesgos = fn.f_sesgos_cognitivos1(datos) df1 = estadisticas['df1'] df2 = estadisticas['df2'] sesgos2 = fn.f_sesgos_cognitivos2(datos, profit_diario) vz.plot_sesgos(sesgos2['resultados']['dataframe'])
pio.renderers.default = "browser" #%% 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) datos = fn.f_columnas_capital_acum(param_data=datos) datos = fn.f_columnas_log(param_data=datos) df_1tabla = fn.f_estadisticas_ba(param_data=datos) df_1ranking = fn.f_estadistica_ba2(param_data=datos) diario = fn.f_profit_diario(param_archivo='archivo_tradeview_1.xlsx') equidistante = fn.f_profit_diario_eq(param_archivo='archivo_tradeview_1.xlsx') estadisticas_mad = fn.f_estadisticas_mad(param_data=equidistante) #%%grafica del ranking abierta en browser ya que al parecer mi version de spyder no esta actualizada y no se podian ver aqui mismo graf = fn.f_estadistica_ba2(param_data=datos) df = pd.DataFrame(graf) # pull is given as a fraction of the pie radius fig = go.Figure() labels = df['symbol'] values = df['rank'] fig = go.Figure(data=[ go.Pie(labels=labels, values=values, pull=[ 0.2, 0.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0