Git Product home page Git Product logo

mno_finalproject's People

Contributors

brunocgf avatar czammar avatar danahirmt avatar izmfc avatar lgarayva avatar yalidt avatar

Watchers

 avatar  avatar  avatar  avatar

mno_finalproject's Issues

Punto Factible

Proponer un punto factible para el problema de Markowitz.

Punto que cumpla con las restricciones del problema a minimizar del cual se pueda partir para encontrar solución a este.

Resultados revisión Etapa 1

Hola, Itzel

Ya esta la revisión de tu código en la carpeta de Revisión/revision_extraer_datos_test.ipynb
Los comentarios del equipo de revisión en general son los siguientes:
1)Las funciones no están documentadas y sugieren que se ponga un ejemplo de lo que realiza tu algoritmo en la documentación.
2)Los parámetros de entrada en el rango de fechas(inicio y final) de extracción comentan que debería ser un parámetro general para que se puede extraer cualquier rango de fechas.

Puedes encontrar la información detallada en el notebook.

Infraestructura AWS

Infraestructura en AWS para la configuración de la GPU que será utilizada para CUPY.

1.b Limpieza y 1c.Transformación

Una vez extraídos los datos se necesita revisar si hay datos faltantes, que estén en la misma frecuencia de tiempo ( mismo numero de columnas para todas las acciones), en caso de que haya datos faltantes podemos imputar con la moda del precio para esa acción.

Revision Funcion 3b

Revisar la funcion de formación_abc puedes probar con varias corridas que funcione correctamente.

Revisión 3.c Etapa III

Se debe revisar el notebook "3c_formacion_delta.ipynb" que se encuentra en la carpeta de programación.
Debes realizar lo siguiente:

1)Hacer un notebook en la carpeta de revisión con un nombre apropiado a lo que estas revisando.
2)Revisar documentación de las funciones, en caso de que no este bien documentado levantas el issue.
3)Revisar que calcule correctamente la matriz delta, puede probar con números aleatorios positivos o negativos y de varias dimensiones para ver cuales son los resultados.

Revisión Etapa III 3b-3e

Se debe revisar el notebook "3e_solucion_markowitz.ipynb" que se encuentra en la carpeta de programación.
Deben realizar lo siguiente:

1)Hacer un notebook en la carpeta de revisión con un nombre apropiado a lo que estas revisando.
2)Revisar documentación de las funciones, en caso de que no este bien documentado levantas el issue.
3)En este notebook esta toda la parte 3 del algoritmo excepto por al apartado "3.a", deben revisar todas las funciones que estan definidas ahí y verificar que el resultado de la optimización sea lo más exacto posible. El problema se soluciono con multiplicadores de lagrange, pueden agregar alguna descripción de lo que observan al respecto.

Revisar la 2.b y 2.c de la etapa II

Se debe revisar el notebook "2b_c_Valor_medio_y_covarianzas.ipynb" que se encuentra en la carpeta de programación.
Debes realizar lo siguiente:

1)Hacer un notebook en la carpeta de revisión con un nombre apropiado a lo que estas revisando.
2)Revisar documentación de las funciones, en caso de que no este bien documentado levantas el issue.
3)Revisar que se calcule correctamente la matriz de varianzas y covarianzas de los rendimientos obtenidos, puedes probar con números aleatorios en varias corridas que se este calculando correctamente. --->Aqui la función se llama "calcular_varianza"
4)Revisar que se calcule correctamente el rendimiento de las acciones, igual puedes probar con números aleatorios. ----> Aqui la función se llama "calcular_rendimiento" y se apoya de una función auxiliar.
5)Explicar algo de teoría económica de lo que se esta realizando, esto nos va a servir para el reporte final.

Comparación Lagrange y Newton

Comparar los resultados obtenidos de los solver de Lagrange y Newton en la carpeta de results, notebook ReporteResultados_v3.ipynb sección 3.1

  • Añadir tabla que compare la norma de la diferencia y el valor absoluto entre ambos
  • Terminar explicaciones de esta sección

DL miércoles

Revisión 3.d Etapa III

Se debe revisar el notebook "3a_formacion_matrices.ipynb" que se encuentra en la carpeta de programación.
Debes realizar lo siguiente:

1)Hacer un notebook en la carpeta de revisión con un nombre apropiado a lo que estas revisando.
2)Revisar documentación de las funciones, en caso de que no este bien documentado levantas el issue.
3)Revisar que la formación de vectores auxiliares sea correcta con ayuda de los otros parámetros definidos en funciones.
4)Si es posible agregar algun comentario de la teoria matemática desarrollada, esto nos puede servir para el reporte final

Revisar 3.a de la etapa III de programación

Se debe revisar el notebook "3a_formacion_matrices.ipynb" que se encuentra en la carpeta de programación.
Debes realizar lo siguiente:

1)Hacer un notebook en la carpeta de revisión con un nombre apropiado a lo que estas revisando.
2)Revisar documentación de las funciones, en caso de que no este bien documentado levantas el issue.
3)Revisar que se calcule correctamente la formación de las matrices.

Método Markowitz

Selección de la metodología a implementar para el desarrollo del proyecto.

  • Escribirla en el README

Deberá contener:

[ ] Descripción del tema
[ ] Metodología a realizar

1.a Extracción de los datos desde Yahoo Finance

Crear una función que extraiga los precios de las acciones de 50 empresas, para los últimos 5 años:
Industria Energy- SASE:2222, NYSE:XOM, NYSE:CVX,ENXTAM:RDSA, NSEI:RELIANCE
Industria Real Estate -NYSE:AMT, NYSE:CCI, NYSE:PLD, NasdaqGS:QEIX, NYSE:DLR
Industria Materiales- NYSE:LIN, ASX:BHP, LSE:RIO, ENXTPA:AI, SASE:2010
Industrials Company- NSYE:LMT, NYSE:UNIP, NYSE:HON, NYSE:RTX, NYSE:UPS
Industria Discretionary consumer -NasdaqGS:AMZN,NYSE:BABA, NYSE:HD,ENXTPA:MC, TSE:7203
Industria Staples- NYSE:WMT, SWX:NESN, NYSE:PG, NYSE:KO, NasdaqGS:PEP
Industria Health Care- NYSE:JNJ, SWX:ROG, NYSE:UNH,NYSE:PFE, SYSE:MRK
Industria Financials- ARCA:VTI, ARCA:VOO, NYSE:BRK.A, NYSE:JPM, SEHK:1398
Industria Information Technology :NasdaqGS:MSTF, NasdaqGS:APPL, NYSE:V, KOSE:A005930, NYSE:MA
Industria Communication - NasdaqGS:GOOG.L, NasdaqGS:FB, SEHK:700,NYSE:VZ, NYSE:T

Revisión Funciones Simbólicas

Revisión del siguiente notebook: symbolic_gradient_Hessian.ipynb que se encuentra en la carpeta de programación.
El tema es el siguiente: Funciones gradiente y Hessiana simbólicas
Basados en el siguiente link:
https://github.com/ITAM-DS/analisis-numerico-computo-cientifico/blob/c1e0eea80579250b23d11921caa5b3ec8d3ab43b/temas/IV.optimizacion_convexa_y_machine_learning/algoritmos/Python/numerical_differentiation.py#L5

Crear el notebook 2Revision_Symbolic_GH en la carpeta de Revisión
En dado caso que haya que corregir algo crear el issue correspondiente

Revisión solver Newton

Revisar el notebook: 5_Solver_sistema_iterativo.ipynb
Escribir resultados de revisión en la carpeta Revisión con el título: 2Revision_SolverNewton

DL: Miércoles

Formación de script

Con base al notebook 4_Solver.ipynb crear un script llamado solver.py relacionado.

Funciones auxiliares para solver con método de Newton

Descripción de infraestructura

Describir la infraestructura que fue utilizada para el problema
Reportarla en

  • Readme.md
    -results/ReporteResultados_v3.ipynb

DL: Miércoles

Conclusiones

Revisar conclusiones adecuadas para el archivo results/ReporteResultados_v3.ipynb

Creación de reporte de resultados

Con base al notebook 4_Solver.ipynb crear un notebook con un nombre apropiado en la carpeta de results que contenga interpretación financiera y de pie al Reporte Final

Gráficas pt2

Realizar las siguiente gráficas con el solver implementado en la Fase 1, es decir la carpeta solver dentro de la carpeta de programación:

  • Rendimiento vs desviación estándar
  • Para diferentes rendimientos (r) mostrar como varian los pesos con gráficas de barras

Interpretar cada gráfica
En el notebook ya existente en results: ReporteResultados_v3.ipynb

Primera versión de Reporte

Comenzar el reporte en un notebook con un nombre adecuado en la carpeta results con información teórica y avances hasta el momento

Seccion 3d cambios en documentación

Sugerencia:

argm entrada faltante:

r (cupy array, escalar): escalar que denota el retorno esperado por el inversionista

argm salida:

w_0 (cupy array, escalar): escalar dada por $w_0 = \frac{1}{\Delta} (B \Sigma^{-1} \hat{\mu}- C\Sigma^{-1} 1) $
w_1 (cupy array, escalar): escalar dado por $w_1 = \frac{1}{\Delta} (C \Sigma^{-1} \hat{\mu}- A\Sigma^{-1} 1)$

Gráficas pt1

Realizar las siguiente gráficas con el solver implementado en la Fase 1, es decir la carpeta solver dentro de la carpeta de programación:

  • Series de tiempo de rendimientos de dos sectores (observar ReporteResultados_v3.ipynb Sección 2.2)
  • Con una acción en específico observar como cambia el rendimiento (observar ReporteResultados_v3.ipynb Sección 3.4)

Interpretar cada gráfica
Código en:
En el notebook ya existente en results: ReporteResultados_v2.2.ipynb
Imagenes de gráficas e interpretación en: ReporteResultados_v3.ipynb

Revisar 3.b de la Seccion III

Revisar el notebook "3b_formacion_abc.ipynb" que se encuentra en la carpeta de programación.
Debes realizar lo siguiente:
1)Hacer un notebook en la carpeta de revisión con un nombre apropiado a lo que estas revisando.
2)Revisar documentación de las funciones, en caso de que no este bien documentado levantas el issue.
3)Revisar que la función obtenga buenos resultados, con números aleatorios.

Índices

Realizar índices del readme y revisar su organización

DL:Miércoles

Revision Etapa 1 - Extracción de los datos, limpieza y transformación

Se debe revisar el notebook "1ab_extraer_datos_stock.ipynb" que se encuentra en la carpeta de programación.
Debes realizar lo siguiente:

  1. Hacer un notebook en la carpeta de revisón con un nombre apropiado a lo que estas revisando
  2. Revisar documentación de las funciones, en caso de que no este bien documentado levantas el issue
  3. Explicar algo de teoría económica de lo que se esta realizando, esto nos va a servir para el reporte final.
  4. Revisar que la limpieza y transformación sea razonable.

Hallazgos funciones simbólicas

Hola, Itzel
Sugiero las siguiente mejoras en tu código "symbolic_gradient_Hessian.ipynb"

  1. Falta documentación de ambas funciones.
  2. Considero que sería bueno que ambas funciones reciban como parámetro : Sigma, r, mu e incluso la dimension de los vectores de unos para que estos estén definidos dentro de la función.
    :)

Revisar la 2.a de la etapa II

Se debe revisar el notebook "2a_FuncionRetornoEsperado.ipynb" que se encuentra en la carpeta de programación.
Debes realizar lo siguiente:

1)Hacer un notebook en la carpeta de revisión con un nombre apropiado a lo que estas revisando.
2)Revisar documentación de las funciones, en caso de que no este bien documentado levantas el issue.
3)Revisar que el calculo de la tasa tenga la conversión correcta r_diario*264, ahi explicas que se multiplica por 264 porque son los días en los que la bolsa cotiza.
4)Probar con numeros aleatorios en varias corridas que se este calculando correctamente.
5)Explicar algo de teoría económica de lo que se esta realizando, esto nos va a servir para el reporte final.

Revisión Punto factible

Revisar el siguiente notebook Feasible_Markowitz.ipynb que se encuentra en programación

Hacer el notebook de revisión en la carpeta de Revision con el nombre 2Revision_PuntoFact

Notar que en efecto la suma de los pesos sea igual a 1 y cumpla con las restricciones.

Revision Solver Marcowitz

Debes revisar ya el conjunto de las funciones que anteriormente revisaron para validar que arroje resultados correctos. El notebook esta en la carpeta de programación/4_Solver.ipynb.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.