<jupyter_start><jupyter_text>Simulación de procesos financieros. **Nombres:** <NAME>, <NAME>, <NAME>.**Fecha:** 01 de febrero del 2021.**Expediente** : if726622, .**Profesor:** <NAME>. Tarea 1: Clase 2  **Tarea 1- git** Este archivo contiene las pautas necesarias para crear el archivo conjunto en Github, usando los notebooks de Jupyter:1.  El archivo debe realizarse en parejas y sólo uno de los dos debe crear en su cuenta de *Github* un repositorio con el nombre **ProyectoConjunto\_APELLIDO1\_APELLIDO2**. A la persona que creó el repositorio la llamaremos (ESTUDIANTE 1 ). El APELLIDO se debe de escribir (Iniciales del nombre y primer apellido), por ejemplo si yo creara el archivo lo debería de nombrar *ProyectoConjunto\_ODJaramillo*. 1.  Posteriormente, desde la cuenta del (ESTUDIANTE 2), 'aquel que no creó el repositorio anterior', ingresar al perfil del ESTUDIANTE 1 y en el repositorio creado en el paso 1, realizar un "fork" de este repositorio en su perfil, y además realizar los pasos en Gitkraken para hacer dicho repositorio "Remoto (REMOTE)" VER DICHO PROCEDIMIENTO EN LA CLASE **Clase2_GitTurorial2**.1.  Luego de realizados los pasos 1 y 2, el ESTUDIANTE 1 y ESTUDIANTE 2, desde su computador realizar un *clone* del repositorio creado en el numeral 1 en la carpeta que cada quién haya asignado para el curso en su computador. 1.  Luego desde Jupyter el ESTUDIANTE 1, crea un nuevo ``notebook`` en el repositorio del paso 3. 1.  En este nuevo notebook el ESTUDIANTE 1 y ESTUDIANTE 2, deben realizar una presentación describiendo sus expectativas del curso y la transcipción de la Figura 1 y Figura 2 respectivamente, haciendo uso de la sintaxis Markdown. Recuerden definir unas celdas donde cada usuario modificará el cuaderno de python para evitar futuros conflictos. **RECOMENDACIÓN:ANTES DE EMPEZAR A REALIZAR MUCHAS MODIFICACIONES DEL NOTEBOOK PRIMERO REALICEN CAMBIOS PEQUEÑOS EN EL ARCHIVO EN CONJUNTO Y VERIFIQUEN SI TANTO EL ``ESTUDIANTE 1`` COMO EL ``ESTUDIANTE 2``  RECIBEN LAS ACTUALIZACIONES QUE REALIZAN CADA UNO EN EL PROYECTO PARA VERIFICAR QUE EL REMOTE ESTUVO BIEN CONFIGURADO.**>Les recomiendo ver los siguientes enlaces para ver distintas funciones para escribir en markdown.>    - [Creador de tablas online](https://www.tablesgenerator.com/markdown_tables)>    - [Sintáxis markdown](https://joplinapp.org/markdown/)6. Cuando ya se encuentre el proyecto conjunto con la información del ESTUDIANTE 1 y ESTUDIANTE 2, el ``ESTUDIANTE 2``  debe de realizar un `pull request` con las modificaciones realizadas a el `ESTUDIANTE 1` para que este realice un merge a la rama `master`, con las moficaciones propuestas por el `ESTUDIANTE 2`, TAL Y CÓMO SE REALIZÓ EN CLASE. (Recuerden que los pull request se generan en *Gitkraken* y se administran los comentarios o cambios propuestos por su compañero desde *Github* ver `Clase1_GitTurorial` para aclaración de dudas, donde se explica cómo crear *branch y pull request*)7. Luego de culminado los pasos anteriores, el ESTUDIANTE 1,realizará un programa que imprima la serie de fibonacci para sus primeros 100 términos en un array de python,usando la rama “master” del repositorio creado. Por otro lado, el ESTUDIANTE 2,creando un “branch” llamado `ejerPrograma`, generará un programa que muestre los números primos del 0-100. Luego de que el ESTUDIANTE 2 haya terminado su programa, debe de realizar un “pull request” al ESTUDIANTE 1, **ANTES** de hacer un “merge” de la rama `ejerPrograma` en el proyecto principal (“master”). Luego de realizado estos pasos **NO BORRAR LA RAMA CREADA (`ejerPrograma`)**  Estudiante 1: <NAME>  Expectativas del Curso Espero aprender a utilizar herramientas que me ayuden a simular distintos escenarios financieros y sus impactos para poder crear expectativas o anticiparme a cambios en el mercado y así ayudar a cualquier lugar en el que me encuentre trabajando. | $i$ | $x$ | $f(x)$ ||-|-|-|| $0$ | $-1$ | $0.3678$ || $\color{red}{1}$ | $\color{red}{-0.5}$ | $\color{red}{0.7788}$ || $\color{blue}{2}$ | $\color{blue}{0}$ | $\color{blue}{1}$ || $\color{red}{3}$ | $\color{red}{0.5}$ | $\color{red}{0.7788}$ || $4$ | $1$ | $0.3678$ |$\text{Cuadro 1: Tabla de valores de} f(x)$$$\int_{-1}^{1}e^{-x^{2}}dx\approx \frac{0,5}{3}[f(-1)+f(1)+4(\color{Red}{ f(-0,5)})+2\color{Blue}{ f(0)}] \\ \quad \quad  \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\approx \frac{0,5}{3}[0,3678 + 0,3678+4(\color{Red}{0,7788+0,7788})+2\cdot {\color{Blue} 1})]\approx 1,4943 $$ $$ \text{A modo de verificación, se calculará por software, el valor del área para n = 100, un valor mucho}$$  $$\text{más elevado al que se utilizó anteriormente. Si lo calculado previamente es correcto, se esperaría que }$$ $$\text{sea próximo al valor presentado a continuación para ser una buena aproximación.} $$  $$\int_{-1}^{1}e^{-x^{2}}dx\approx1,4943$$<jupyter_code># Código de solución 
# Programa que imprime los primeros 100 términos de la serie de Fibonacci en un array de python
# Cuántos términos necesito?
n = 100
# Array
array = []
for i in range(n):
    if i == 0:
        array.append(0)
    elif i == 1: 
        array.append(1)
    else:
        array.append(array[i - 1]+array[i - 2])
print(array)<jupyter_output>[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, 12586269025, 20365011074, 32951280099, 53316291173, 86267571272, 139583862445, 225851433717, 365435296162, 591286729879, 956722026041, 1548008755920, 2504730781961, 4052739537881, 6557470319842, 10610209857723, 17167680177565, 27777890035288, 44945570212853, 72723460248141, 117669030460994, 190392490709135, 308061521170129, 498454011879264, 806515533049393, 1304969544928657, 2111485077978050, 3416454622906707, 5527939700884757, 8944394323791464, 14472334024676221, 23416728348467685, 37889062373143906, 61305790721611591, 99194853094755497, 160500643816367088, 259695496911122585, 420196140727489673, 679891637638612258, 110008777[...]<jupyter_text>Estudiante 2: <NAME>   EXPECTATIVAS DEL CURSO Espero mejorar en el uso de las herramientas de Git y GitKraken, además de adquirir nuevos conocimientos de programación y mejorar mis códigos.  Figura 2 | $i$           | $1$  | $2$ | $3$ | $4$ | $5$ | $6$ | $7$ || ----          | ---- |---- | ----| ----| ----| ----| ----|| $E_i(V)$      | $12$ |$10$ |$24$ |$12$ |$-$  |$-$  |$-$  || $r_i(\Omega)$ | $0.1$|$0.5$|$0.2$|$0.5$|$-$  |$-$  |$-$  || $R_i(\Omega)$ | $25$ |$40$ |$16$ |$20$ |$9$  |$4$  |$20$ | Kemna y Vorst (1990)  muestran que las opciones asiáticas con media geométrica continua se pueden valuar con el mismo enfoque de las opciones *plain vanilla*; solo se deben cambiar los paámetros de volatilidad $\sigma$ por $\sigma_a$, y el costo de acarreo *$b$* por *$b_A$*    De acuerdo con Kemma y Vorst, las fórmulas para valuar una opción de compra y una opción de venta son:    $c≈ S_I e^{(b_A-r)(T-t)}\Phi(d_1) - K_e^{-r(T-t)}\Phi(d_2)$,$p≈ K_e^{-r(T-t)}\Phi(-d_2) - S_I e^{(b_A-r)(T-t)}\Phi(-d_1) $con $d_1$ y $d_2$ dados por:$ d_1 = \frac{ln(S_t/K) + (b_A + 1/2\sigma^2_a)(T-t)}{\sigma \sqrt{T-t}} $$ d_" = d1-\sigma \sqrt{T-t}$La función $\Phi(d)$ es la función de distribución acumulada de $E\sim \mathcal{N}(0,1)$. La volatilidad ajustada es igual a:$\sigma_a = \frac{\sigma}{\sqrt{3}}$mientras que el costo de acarreo ajustado es:$b_A = \frac{1}{2} \left(v- \frac{\sigma^2}{6} \right)$      Programa que muestra los número primos del 0-100<jupyter_code>X= [i for i in range(2,101)
   if(i%2!=0 or i==2) and (i%3!=0 or i==3) and (i%5!=0 or i==5) and (i%7!=0 or i==7)]
print(X)<jupyter_output>[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]<jupyter_text>Estudiante 3: <NAME>ada Expectativas del cursoEn este curso espero aprender a realizar simulaciones de procesos estocásticos utilizando distintos métodos eficientes, así como poder modelar procesos.  | $i$       | $1$   | $2$   | $3$   | $4$   | $5$ | $6$ | $7$  ||---------|-----|-----|-----|-----|---|---|----|| $E_i(V)$   | $12$  | $10$  | $24$  | $12$  | $-$ | $-$ | $-$  || $r_i(\Omega)$ | $0.1$ | $0.5$ | $0.2$ | $0.5$ | $-$ | $-$ | $-$  || $R_i(\Omega)$ | $25$  | $40$  | $16$  | $20$  | $9$ | $4$ | $20$ |  $\color{3e97cf}{\text{Kemna y Vorst (1990)}}$ muestran que las opciones asiáticas con media geométrica continua se puede valuar con el mismo enfoque de las opciones *plain vanilla*; solo se deben cambiar los parámetros de volatilidad $\sigma$ por $\sigma_a$, y el costo de acarreo $b$ por $b_a$.  De acuerdo con Kemna y Vorst, las fórmulas para valuar una opción de compra y una opción de venta son:  $\quad c \approx S_t e^{(b_A - r)(T-t)}\Phi(d_1) - Ke^{-r(T-t)}\Phi(d_2), $  $\quad p \approx Ke^{-r(T-t)}\Phi(-d_2) - S_te^{(b_A-r)(T-t)}\Phi(-d_1). $  con $d_1$ y $d_2$ dados por:  $\quad d_1 = \frac{ln(S_t/K) + (b_A + 1/2\sigma^2_a)(T-t)}{\sigma \sqrt{T-t}}, $  $\quad d_2 = d_1 - \sigma_a\sqrt{T-t}. $  La función $\Phi(d)$ es la función de distribución acumulada de $E \sim \mathcal{N}(0,1)$. La volatilidad ajustada es igual a:  $\quad \sigma_a = \frac{\sigma}{\sqrt{3}}$  mientras que el costo de acarreo ajustado es:  $\quad b_A = \frac{1}{2} \left( v - \frac{\sigma^2}{6} \right)$<jupyter_code># Numeros Primos 0-100
import numpy as np
def is_prime(n: int) -> bool:
    """ Checks if a number is prime.
    
    Parameters
    ----------
    n : int
        number to check
        
    Returns
    -------
    bool : indicating if the number is prime
    """
    
    if n == 1 or (n > 2 and n % 2 == 0):
        return False
    
    if n == 2:
        return True
    
    for i in range(3, int(n**0.5)+1, 2):
        if n % i == 0:
            return False
    return True

print([i for i in range(0,101) if is_prime(i)])<jupyter_output>[0, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
{'fraction_non_alphanumeric': 0.14749233356415076, 'fraction_numerical': 0.12246513008210505, 'mean_word_length': 3.985207100591716, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 22, 'https://': 2, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 14, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '433069', 'license': 'MIT', 'n_tokens_mistral': 4825, 'n_tokens_neox': 3937, 'n_words': 1282, 'path': ' ProyectoConjunto_DPintor_LFGomez_DNavarro.ipynb', 'repo_name': 'if722749/ProyectoConjunto_DPintor_LFGomez_DNavarro', 'size': '10225'}