Exemple #1
0
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)
Exemple #2
0
# 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'])
Exemple #3
0
# -- ------------------------------------------------------------------------------------ -- #
# -- 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)
Exemple #4
0
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])])
Exemple #5
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)
Exemple #6
0
# -- ------------------------------------------------------------------------------------ -- #
# -- 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
Exemple #7
0
# -- 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)
Exemple #8
0
# -- ------------------------------------------------------------------------------------ -- #
# # -- 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)
Exemple #9
0
#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)
Exemple #10
0
# -- ------------------------------------------------------------------------------------ -- #
# -- 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)