twarrants.py

Created by matthieumorvant

Created on February 11, 2024

2.43 KB


# Demande à l'utilisateur s'il est exportateur ou importateur
role = input("Êtes-vous exportateur(1) ou importateur(2) ? ")

# Si l'utilisateur est un importateur
if role == '2':
    print("Sélection : Put/Warrants €/$")
    
    # Collecte des informations de l'utilisateur
    montant_global = float(input("Montant global ($): "))
    cours_spot = float(input("Cours spot (€/$): "))
    prix_exercice = float(input("Prix d'exercice (€/$): "))
    prime = float(input("Prime (en cts d'euros): "))
    delta = abs(float(input("Delta (positif): ")))  # Assurez-vous que Delta est positif
    parite = float(input("Parité (décimal): "))
    quotite = float(input("Quotité: "))
    
    # Calculs pour l'importateur
    somme_euros_a_couvrir = montant_global / cours_spot
    nb_warrants = (somme_euros_a_couvrir * parite) / delta
    montant_prime = prime * nb_warrants
    
    # Affichage des résultats et des formules
    print("Somme en euros à couvrir = Montant global / Cours spot = {:.2f}".format(somme_euros_a_couvrir))
    print("Nombre de warrants nécessaires = (Somme à couvrir * Parité) / Delta = {:.2f}".format(nb_warrants))
    print("Montant total de la prime = Prime * Nombre de warrants = {:.2f} €".format(montant_prime))

# Si l'utilisateur est un exportateur
elif role == '1':
    print("Sélection : Call/Warrants €/$")
    
    # Collecte des informations de l'utilisateur
    cours_actuel = float(input("Cours actuel du sous-jacent (€/$): "))
    prix_warrant = float(input("Prix du warrant (€): "))
    prix_exercice = float(input("Prix d'exercice (€/$): "))
    delta = abs(float(input("Delta (positif): ")))  # Assurez-vous que Delta est positif
    parite = float(input("Parité (warrants pour 1 sous-jacent): "))
    
    # Calculs pour l'exportateur
    levier = cours_actuel / (prix_warrant * parite)
    elasticite = levier * delta
    appreciation_sous_jacent = 10  # Supposons une appréciation de 10%
    progression_warrant = elasticite * appreciation_sous_jacent
    
    # Affichage des résultats et des formules
    print("Levier = Cours actuel du sous-jacent / (Prix du warrant * Parité) = {:.2f}".format(levier))
    print("Élasticité = Levier * Delta = {:.2f}".format(elasticite))
    print("Progression du warrant pour une appréciation de 10% du sous-jacent = Élasticité * 10 = {:.2f}%".format(progression_warrant))

else:
    print("Choix non valide. Veuillez entrer '1' pour exportateur ou '2' pour importateur.")