Python - Ejercicio Python: rendimiento activos

 
Vista:

Ejercicio Python: rendimiento activos

Publicado por Julio García Ramos (1 intervención) el 25/12/2017 13:31:22
Buenos días!,

el problema que tengo es que no sé ni cómo empezar este ejercicio. Soy completamente nuevo en este mundillo. No sé si me podríais echar un cable.

Por si acaso, os cuelgo el problema.

Mi intención no es que me lo hagáis y ya está, me gustaría un poco de ayuda (por lo menos para empezarlo):

Problema
Sabemos el rendimiento de unos activos, dados por variables aleatorias independientes en [0,1] . Por ejemplo, el 25% de los días el rendimiento de la 'a' sigue una uniforme U(0.4,0.8), mientras que el 75% sigue una U(0.6,0.9).

Los rendimientos de los activos están recogidos en el siguiente diccionario:

1
2
3
4
5
6
asset_info = dict(
    a=[(0.25, (0.4, 0.8)), (0.75, (0.6, 0.9))],
    b=[(0.34, (0.8, 0.95)), (0.36, (0.6, 0.9)), (0.30, (0.55, 0.80))],
    c=[(0.1, (0.2, 0.4)), (0.2, (0.4, 0.7)), (0.7, (0.8, 1.0))],
    d=[(0.6, (0.7, 0.9)), (0.4, (0.1, 0.3))],
)

Lo que se pide es implementar una función calcP(asinfo). asinfo es un diccionario como el anterior. Debe devolver otro diccionario que almacene, para cada par de activos distintos, la probabilidad de que el primero dé un rendimiento superior al segundo . Se requiere el cálculo por simulación.

Luego, invocar la función para mostrar por pantalla los resultados: una línea por cada par de activos mostrando sus nombres y la probabilidad de que la primera supere a la segunda.

Ayuda
La función choiceW puede ser útil:

1
2
3
4
5
6
7
import random
def choiceW(dist):
    x = random.uniform(0, 1)
    for elem, prob in dist.items():
        x -= prob
        if x <= 0:
            return elem
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder