Exemple #1
0
# -- 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
Exemple #2
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 #3
0
# -- 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)
Exemple #4
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 #5
0
# 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)
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
#%%

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)

#%%
Exemple #9
0
# -- ------------------------------------------------------------------------------------ -- #
# -- 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'])
Exemple #10
0
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