Sujet 11 : Modélisation d actifs financiers Sujet proposé par J. Lelong & M. Echenim. [DOCUMENTATION API LOGICIEL MODAFI]

Dimension: px
Commencer à balayer dès la page:

Download "Sujet 11 : Modélisation d actifs financiers Sujet proposé par J. Lelong & M. Echenim. [DOCUMENTATION API LOGICIEL MODAFI]"

Transcription

1 Sujet 11 : Modélisation d actifs financiers Sujet proposé par J. Lelong & M. Echenim. [DOCUMENTATION API LOGICIEL MODAFI] 1 P a g e

2 Sommaire Introduction p.3 Gestion de l Univers p.3 o Ajout / Suppression d actifs o Corrélation Simuler des actifs p.5 Exploiter les résultats p.6 Evaluation d actifs p.6 Erreurs p.7 XML Sauvegarde / Restauration de l Univers p.7 o Structure générale o Détails des taux o Détails des sous-jacents o Détails des corrélations o Détails des produits dérivés o Exemple complet XML Exportation des cours simulés p.13 o Structure générale o Exemple complet XML Exportation des évaluations p.15 o Structure générale o Exemple complet 2 P a g e

3 I. Introduction Ce document décrit de manière informelle comment utiliser l API. On détaille les fonctions principales de l API (avec des exemples d utilisation) ainsi que l architecture des fichiers d entrée/sortie de l application. Pour la documentation exhaustive et l architecture de l application, se référer au document d implémentation. II. Gestion de l Univers On sépare les actifs en trois catégories : les actifs «simples» dont le cours ne dépend pas d autres actifs (classe SousJacent), les actifs dont le cours dépend d un sous-jacent (classe ProduitDerive) et les taux (classe Taux). Tous les actifs sont stockés dans une classe appelée Univers. Cette classe est unique et ne peut pas être instanciée par l utilisateur. Chaque actif sous-jacent, chaque produit dérivé et chaque taux peuvent être stockés dans cette structure. L instance unique de l univers est obtenue avec la fonction : static Univers GetInstance() 1) Ajout / Suppression d actifs Les fonctions de création/ajout d actifs sont les suivantes : void AjouterObligationCoupon(String nom, int maturite, Double taux_coupon, Double valeur, Double intervalle,datetime date) void AjouterCallDividende(String nom, SousJacentSimple sj, int maturite, Double strike, Double r) void AjouterCallDividendePro(String nom, SousJacentSimple sj, int maturite, Double strike, Double r) void AjouterCallSimple(String nom, SousJacentSimple sj, int maturite, Double strike, Double r) void AjouterPutDividende(String nom, SousJacentSimple sj, int maturite, Double strike, Double r) void AjouterPutDividendePro(String nom, SousJacentSimple sj, int maturite, Double strike, Double r) void AjouterPutSimple(String nom, SousJacentSimple sj, int maturite, Double strike, Double r) void AjouterSpotForex(String nom, Double pip, Double solde, Double valeur,double levier_max, Definitions.typeDevise devc, Definitions.typeDevise dev1, Definitions.typeDevise dev2) void AjouterSousJacentMBGDividendePro(String nom, Double spot, Double tendance, Double volatilite,double proportion, Double intervalle) void AjouterSousJacentMBGDividende(String nom, Double spot, Double tendance, Double volatilite,double dividende, Double intervalle) void AjouterSousJacentMB(String nom, Double spot) void AjouterSousJacentMBD(String nom, Double spot, Double tendance, Double volatilite) void AjouterSousJacentMBG(String nom, Double spot, Double tendance, Double volatilite) void AjouterSousJacentMerton(String nom, Double spot, Double tendance, Double volatilite, Double lambda, Double moyennesauts, Double alpha) void AjouterSousJacentKouWang(String nom, Double spot, Double tendance, Double volatilite, Double lambda, Double p, Double lambda1, Double lambda2) void AjouterSousJacentPoisson(String nom, Double spot, Double lambda) void AjouterSousJacent(SousJacent sj) void AjouterZeroCoupon(String nom, Taux taux, int maturite) 3 P a g e

4 void AjouterTauxZeroCouponVasicek(String nom, Double tinit, Double volatilite, Double a, Double b, int maturite) void AjouterTauxCourtVasicek(String nom, Double tinit, Double volatilite, Double a, Double b) void AjouterBasisSwapTaux(string nom, double nominal, int maturite, DateTime dateemission, int intervallevar1, int intervallevar2, int convention1, int convention2, bool typeswap, double spread1, double spread2, int typetauxvariable1, int typetauxvariable2) void AjouterSwapDevise(string nom, double nomdomestique, int maturite, DateTime dateemission, int intervalledomestique, int intervalleetrangere, int conventiond, int conventione, bool typeswap, Definitions.typeDevise deviseetrangere, Definitions.typeDevise devisedomestique, double txfixedomestique, double txfixeetrangere) void AjouterSwapTaux(string nom, double nominal, int maturite, DateTime dateemission, int intervallefixe, int intervallevar, int conventionf, int conventionv, bool typeswap, double txfixe, double spread, int typetauxvariable) On peut également instancier des actifs directement avec leur constructeur, puis les ajouter dans l univers avec des fonctions génériques d ajout (voir la documentation du code). Il est cependant fortement conseillé d utiliser les méthodes précédentes, car elles garantissent la cohérence entre les actifs et les taux. Ainsi dans tout le programme, un actif est identifié par son nom. Passer par la classe univers pour gérer les actifs garantit l unicité du nom. De même, en passant par les constructeurs, on peut très bien faire des associations produits dérivés / sous-jacents incohérentes (ex. créer un call de sous-jacent suivant un processus de Poisson). Les méthodes précédentes interdisent de telles associations. On peut accéder aux actifs et aux taux enregistrés dans l univers avec : ProduitDerive Univers.GetProduitDerive(String nomproduit) SousJacent Univers.GetSousJacent(String nomsousjacent) Taux GetTaux(String nomtaux) Exemple : Le code suivant ajoute une action Google suivant un modèle brownien géométrique (spot = 100, tendance = 0.05, volatilité = 20%) et un call sur cet actif (prix d exercice = 110, maturité = 3 mois, taux d intérêt mensuel = 0.4%). Univers uni = Univers.GetInstance() ; uni.ajoutersousjacentmbg("goog", 100, 0.05, 0.2) ; SousJacent sj = uni.getsousjacent("goog") ; uni.ajoutercall("call_goog", sj, 3, 110, 0.004); Il est possible de retirer des actifs et des taux avec les fonctions suivantes: void SupprimerSousJacent(String nom) void SupprimerProduitDerive(String nom) void SupprimerTaux(String nom) void Univers.ViderUnivers() On peut également charger/enregistrer un univers préenregistré dans un fichier avec la fonction : void Output.RestaureUniversXML(String nomfichier) void Output.sauvegardeUniversXML(String nomfichier) (cf. section VII pour la structure des fichiers XML) 4 P a g e

5 2) Corrélation Pour corréler/décorréler des actifs: void Univers.SetCorrelation(String noma1, String noma2, Double correlation) Double Univers.GetCorrelation(String noma1, String noma2) void DecorrelerUnivers() Remarque : Il n y a pas d erreur levée quand on entre des corrélations incohérentes. Une erreur sera levée plus tard lors de la simulation. On rappelle qu ajouter un sous-jacent à un univers cohérent est susceptible de briser cette cohérence. Exemple : Le code suivant définit et corrèle les actions Google et Microsoft à 50%. Ces actifs ne suivent pas le même modèle. Univers uni = Univers.GetInstance() ; uni.ajoutersousjacentmbg("goog", 100, 0.05, 0.2) ; uni.ajoutersousjacentmbd("msft", 50, 0.03, 0.15) ; SetCorrelation("GOOG", "MSFT", 0.5) /* Idem SetCorrelation("MSFT", "GOOG", 0.5) */ III. Simuler des actifs Le cours d un actif sous-jacent est aléatoire et il est calculé à partir d un mouvement brownien. Le cours d un produit dérivé est obtenu en appliquant une formule fermée sur le cours de son sous-jacent. C est la classe Simulation qui pilote les simulations. Il est nécessaire d instancier cette classe en précisant les paramètres de la grille de simulation dans le constructeur. pas est le pas de discrétisation de la simulation, nbunitesdetemps est le nombre d unités de temps sur lesquelles on simule et toutcorreler est un booléen indiquant si on simule les actifs financiers sur le même mouvement brownien (corréler tous les actifs à 100%). Activer toutcorreler masque donc toutes les corrélations enregistrées. Simulation(Double pas, int nbunitesdetemps, Boolean toutcorreler) On peut alors ajouter des actifs ou des taux à simuler avec les méthodes : void Simulation.AjouterProduitDeriveALaSimulation(ProduitDerive prod) void Simulation.AjouterSousJacentALaSimulation(SousJacent sj) void Simulation.AjouterTauxALaSimulation(Taux taux) Pour ajouter un produit dérivé, il n est pas nécessaire d ajouter son sous-jacent. Celui-ci sera ajouté automatiquement avant de lancer la simulation, mais n apparaîtra pas dans le tableau des résultats. Pour lancer la simulation, il faut simplement appeler la fonction : Resultat Simulation.Simule() Cette méthode retourne un objet Resultat détaillé dans la section suivante. 5 P a g e

6 Exemple : Le code suivant simule les deux actifs précédents pendant 6 mois avec 10 subdivisions par mois. Simulation sim = new Simulation(0.1, 6, false); SousJacent action = Univers.GetInstance().GetSousJacent("GOOG"); sim.ajoutersousjacentalasimulation(action); ProduitDerive option = Univers.GetInstance().GetProduitDerive("Call_GOOG"); sim.ajouterproduitderivealasimulation(option); Resultat res = sim.simule(); IV. Exploiter les résultats Les résultats d une simulation sont stockés dans un objet Resultat. Les cours des actifs simulés peuvent être récupérés en faisant appel à la fonction : Double Resultat.Prix(String nomactif, Double date) La date doit être cohérente avec la grille de la simulation. On lève systématiquement une erreur si la date passée en paramètre ne correspond pas à une date de la grille (la fonction ne cherche pas à arrondir à la date de simulation la plus proche). Exemple : avec la simulation précédente Resultat res = sim.simule(); res.prix("goog", 0); // correct, prix spot de l'action res.prix("call_goog", 1.10); // correct, prix à un 1.1 mois de l'option res.prix("call_goog", 1.11); // incorrect, le pas de simulation est de 0.1 res.prix("call_goog", 4); // correct, la maturité de l option est dépassée mais on reste dans l'intervalle de simulation (0 à 6 mois), l option vaut 0 res.prix("call_goog", 7); // incorrect, on n'est plus dans l'intervalle de simulation Les résultats peuvent être exportés dans des fichiers au format CSV et XML avec les fonctions : void Output.simToCSV(String nomfichier) void Output.simToXML(String nomfichier) (cf. section VIII pour la structure des fichiers XML) V. Evaluation d actifs Certains actifs comme les swap, les obligations couponnées et les spot Forex ne sont pas simulables. Il est simplement possible d évaluer leur prix à la date de création du produit. Les fonctions permettant d évaluer les actifs sont les suivantes (elle retournent le prix du produit en date d évaluation): double Swap.Evalue() double ObligationCoupon.Evalue() double SpotForex.Evalue() 6 P a g e

7 Les résultats peuvent être exportés dans des fichiers au format XML avec la fonction : void Output.evalToXML(String nomfichier) (cf. section IX pour la structure des fichiers XML) VI. Erreurs On lève une exception à chaque utilisation incorrecte d une fonction. On vérifie systématiquement la cohérence des paramètres des fonctions de l API : les références ne doivent pas être à null et certaines valeurs ont des contraintes particulières (comme être positives). On vérifie également les erreurs d exécution plus fines comme la cohérence des actifs dans l univers (deux actifs ne peuvent pas avoir le même nom), les relations entre les actifs (le sous-jacent d un call est obligatoirement modélisé par un mouvement brownien géométrique). 5 Exemple : La fonction AjouterSousJacentPoisson(String nom, Double spot, Double lambda) lève les erreurs suivantes : SjNameException("Erreur : un sous-jacent doit contenir un nom.") si le nom est à null ou la chaine vide. UniversArgumentException("Erreur : L'actif " + nom + " existe déjà dans l'univers.") si un autre actif du même nom existe déjà dans l univers. ArgumentException("Paramètre \"spot\" negatif", "spot") si le spot est négatif ou nul. ArgumentException("Paramètre \"lambda\" negatif", "lambda") si le paramètre lambda est négatif ou nul. On utilise les exceptions fournies par le framework (ArgumentException dans l exemple précédent), et on définit des exceptions génériques (SjNameException et UniversArgumentException dans l exemple précédent) pour factoriser le code. VII. XML Sauvegarde / Restauration de l Univers 1) Structure générale La structure générale du fichier de sauvegarde XML est la suivante : <?xml version="1.0"?> <Univers> <ListeTaux> /* détails des taux */ </ListeTaux> <ListeSousJacents> /* détails des sous-jacents */ </ListeSousJacents> <ListeProduitsDerives> /* détails des produits dérivés */ </ListeProduitsDerives> <MatriceCorrelation> 7 P a g e

8 /* détails des corrélations */ </MatriceCorrelation> </Univers> 2) Détails des taux A l intérieur de la balise <ListeTaux> doivent être décrits tous les taux de l univers. Pour décrire un taux, on doit : ouvrir une balise <Taux > possédant un attribut nomtaux de valeur le nom du taux. Ouvrir une balise <TauxInit>, écrire la valeur du cours initial du taux, puis refermer le taux initial avec la balise </TauxInit>. Selon le type du taux, plusieurs balises sont à remplir : voici les différents actifs que l on peut ajouter : 2-1) Taux cours modèle Vasicek Ouvrir une balise <TypeTaux> possédant un attribut nomtypetaux de valeur TauxCourtVasicek, puis refermer le type de taux avec la balise </TypeTaux> Ouvrir une balise <Modele>, possédant un attribut nommodele de valeur Vasicek. Ouvrir une balise pour chaque paramètre, donner la valeur du paramètre, puis refermer la balise. Les paramètres à renseigner doivent être indiqués dans l ordre suivant : Volatilite, A, B. Refermer le modèle avec la balise </Modele>. Refermer le taux avec la balise </Taux>. Exemple : <Taux nomtaux="taux 2"> <TauxInit>1</TauxInit> <TypeTaux nomtypetaux="tauxcourtvasicek" /> <Modele nommodele="vasicek"> <Volatilite>0,5</Volatilite> <A>0,3</A> <B>0,2</B> </Modele> </Taux> 2-2) Taux zéro-coupon modèle Vasicek Ouvrir une balise <TypeTaux> possédant un attribut nomtypetaux de valeur TauxZCVasicek, puis refermer le type de taux avec la balise </TypeTaux> Ouvrir une balise <Modele>, possédant un attribut nommodele de valeur Vasicek. Ouvrir une balise pour chaque paramètre, donner la valeur du paramètre, puis refermer la balise. Les paramètres à renseigner doivent être indiqués dans l ordre suivant : Volatilite, A, B. Refermer le modèle avec la balise </Modele>. Refermer le taux avec la balise </Taux>. Exemple : <Taux nomtaux="taux 1"> <TauxInit>1</TauxInit> <TypeTaux nomtypetaux="tauxzcvasicek" /> <Maturite>2</Maturite> <Modele nommodele="vasicek"> <Volatilite>0,5</Volatilite> <A>0,3</A> <B>0,2</B> </Modele> </Taux> 8 P a g e

9 3) Détails des sous-jacents A l intérieur de la balise <ListeSousJacents> doivent être décrits tous les sous-jacents de l univers. Pour décrire un sous-jacent, on doit : ouvrir une balise <SousJacent> possédant un attribut nomsousjacent de valeur le nom du sous-jacent. Selon le type d actif, plusieurs balises sont à remplir : voici les différents actifs que l on peut ajouter : 3-1) Sous-jacents simples Ouvrir une balise <TypeSousJacent > possédant un attribut nomtypesousjacent de valeur SousJacentSimple Ouvrir une balise <Spot>, écrire la valeur du spot du sous-jacent (valeur initiale du cours), puis refermer le spot avec la balise </Spot>. Ouvrir une balise <Modele>, possédant un attribut nommodele de valeur le nom du modèle mathématique du sous-jacent ("MB", "MBD", "MBG", "MBGDividende", "MBGDividendePro", "Merton", "KouWang", "Vasicek", ou "Poisson"). Ouvrir une balise pour chaque paramètre du modèle mathématique choisi, donner la valeur du paramètre, puis refermer la balise. Les paramètres varient selon le modèle choisi, et doivent être indiqués dans l ordre suivant ; o MB : aucun paramètre. o MBD : Tendance, Volatilite. o MBG : Tendance, Volatilite. o MBGDividende : Tendance, Volatilite, Valeur, Intervalle. o MBGDividendePro : Tendance, Volatilite, Proportion, Intervalle. o Merton : Tendance, Volatilite, Lambda, Alpha, M (moyenne des sauts). o KouWang : Tendance, Volatilite, Lambda, P, Lambda1, Lambda2. o Poisson : Lambda. Refermer le modèle avec la balise </Modele>. Refermer le type de sous-jacent avec la balise </TypeSousJacent>. Refermer le sous-jacent avec la balise </SousJacent>. Exemple : sous-jacent simple mouvement brownien géométrique avec dividendes proportionnels <SousJacent nomsousjacent="action avec dividendes proportionnels"> <TypeSousJacent nomtypesousjacent="sousjacentsimple"> <Spot>100</Spot> <Modele nommodele="mbgdividendepro"> <Tendance>0,5</Tendance> <Volatilite>0,2</Volatilite> <Proportion>1000</Proportion> <Intervalle>0,4</Intervalle> </Modele> </TypeSousJacent> </SousJacent> 3-2) Obligations Ouvrir une balise <TypeSousJacent > possédant un attribut nomtypesousjacent de valeur Obligation 9 P a g e

10 Ouvrir une balise <Maturite >, écrire la valeur de la maturité (en années), puis refermer la maturité avec la balise </Maturite>. Ouvrir une balise <TypeObligation, possédant un attribut type de valeur le nom du type d obligation ("ZeroCoupon", "ObligationCoupon"). Ouvrir une balise pour chaque paramètre du type choisi, donner la valeur du paramètre, puis refermer la balise. Les paramètres varient selon le modèle choisi, et doivent être indiqués dans l ordre suivant ; o ZeroCoupon : Taux. o ObligationCoupon : TauxCoupon, Valeur, Intervalle, DateEmission. Refermer le type d obligation avec la balise </TypeObligation >. Refermer le type de sous-jacent avec la balise </TypeObligation >. Refermer le sous-jacent avec la balise </SousJacent>. Exemple : obligation avec coupons <SousJacent nomsousjacent="obligation avec coupons"> <TypeSousJacent nomtypesousjacent="obligation"> <Maturite>10</Maturite> <TypeObligation nomtypeobligation="obligationcoupon"> <TauxCoupon>0,3</TauxCoupon> <Valeur>100</Valeur> <Intervalle>0,5</Intervalle> <DateEmission>09/06/ :00:00</DateEmission> </TypeObligation> </TypeSousJacent> </SousJacent> Tous les sous-jacents de l univers doivent être décrits selon les schémas ci-dessus, et écrits les uns à la suite des autres dans la balise <ListeSousJacents>. 4) Détails des produits dérivés A l intérieur de la balise <ListeProduitsDerives> doivent être décrits tous les produits dérivés de l univers. Pour décrire un produit dérivé, on doit : Ouvrir une balise <ProduitDerive> possédant un attribut nomproduitderive de valeur le nom du produit dérivé. Ouvrir une balise <TypeProduitDerive> possédant un attribut nomtypeproduitderive de valeur le nom du type du produit dérivé : "Option", "Swap" ou "SpotForex". 4-1) Dans le cas d une option Ouvrir une balise <SousJacent>, écrire le nom du sous-jacent, puis refermer le sous-jacent avec la balise </SousJacent>. Ouvrir une balise pour chaque paramètre, donner la valeur du paramètre, puis refermer la balise. Les paramètres à renseigner doivent être indiqués dans l ordre suivant : Maturite, Strike, Taux. Ouvrir une balise <TypeOption>, possédant un attribut nomtypeoption de valeur le nom du type de l option ("CallSimple", "CallDividende", "CallDividendePro","PutSimple", "PutDividende","PutDividendePro"). Refermer le type d option avec la balise </TypeOption>. Refermer le type de produit dérivé avec la balise </TypeProduitDerive>. Refermer le produit dérivé avec la balise </ProduitDerive>. Exemple : call sur sous-jacents avec dividendes proportionnels <ProduitDerive nomproduitderive="call avec dividendes proportionnels"> 10 P a g e

11 <TypeProduitDerive nomtypeproduitderive="option"> <SousJacent>action avec dividendes proportionnels</sousjacent> <Maturite>10</Maturite> <Strike>100</Strike> <Taux>0,05</Taux> <TypeOption nomtypeoption="calldividendepro" /> </TypeProduitDerive> </ProduitDerive> Le sous-jacent dont le nom est indiqué dans la balise <SousJacent> doit impérativement avoir été défini précédemment dans la balise <ListeSousJacents>. 4-2) Dans le cas d un swap Ouvrir une balise pour chaque paramètre, donner la valeur du paramètre, puis refermer la balise. Les paramètres à renseigner doivent être indiqués dans l ordre suivant : Nominal, Maturite, DateEmission, Intervalle1, Intervalle2, Convention1, Convention 2, CaracteristiqueSwap. Ouvrir une balise <TypeSwap>, possédant un attribut nomtypeswap de valeur le nom du type du swap ("SwapTaux", "BasisSwap", "SwapDevise"). Ouvrir une balise pour chaque paramètre du type choisi, donner la valeur du paramètre, puis refermer la balise. Les paramètres à renseigner varient selon le type choisi, et doivent être indiqués dans l ordre suivant : o SwapTaux : TauxFixe, TypeTauxVariable, SpreadTauxVariable. o BasisSwap : TypeTauxVariable1, TypeTauxVariableVariable2, SpreadTauxVariable1, SpreadTauxVariable2. o SwapDevise : DeviseDomestique, DeviseEtrangere, TauxFixeDomestique, TauxFixeEtrangere. Refermer le type de swap avec la balise </TypeSwap>. Refermer le type de produit dérivé avec la balise </TypeProduitDerive>. Refermer le produit dérivé avec la balise </ProduitDerive>. Exemple : swap de devise <ProduitDerive nomproduitderive="swap de devises"> <TypeProduitDerive nomtypeproduitderive="swap"> <Nominal>100</Nominal> <Maturite>10</Maturite> <DateEmission>09/06/ :00:00</DateEmission> <Intervalle1>1</Intervalle1> <Intervalle2>1</Intervalle2> <Convention1>0</Convention1> <Convention2>0</Convention2> <CaracteristiqueSwap>True</CaracteristiqueSwap> <TypeSwap nomtypeswap="swapdevise"> <DeviseDomestique>EUR</DeviseDomestique> <DeviseEtrangere>USD</DeviseEtrangere> <TauxFixeDomestique>0,5</TauxFixeDomestique> <TauxFixeEtrangere>0,3</TauxFixeEtrangere> </TypeSwap> </TypeProduitDerive> </ProduitDerive> 4-3) Dans le cas d un spotforex Ouvrir une balise pour chaque paramètre, donner la valeur du paramètre, puis refermer la balise. Les paramètres à renseigner doivent être indiqués dans l ordre suivant : Pip, SoldeCompte, ValeurInvestie, LevierMax, DeviseCompte, DeviseChange1, DeviseChange2. Refermer le type de produit dérivé avec la balise </TypeProduitDerive>. Refermer le produit dérivé avec la balise </ProduitDerive>. 11 P a g e

12 Exemple : <ProduitDerive nomproduitderive="operation spot sur Forex"> <TypeProduitDerive nomtypeproduitderive="spotforex"> <Pip>0,0001</Pip> <SoldeCompte>1919, </SoldeCompte> <ValeurInvestie>10000</ValeurInvestie> <LevierMax>200</LevierMax> <DeviseCompte>EUR</DeviseCompte> <DeviseChange1>EUR</DeviseChange1> <DeviseChange2>USD</DeviseChange2> </TypeProduitDerive> </ProduitDerive> 5) Détails des corrélations Les corrélations entre les sous-jacents, taux sont spécifiées dans la balise <MatriceCorrelation>. Par défaut, la matrice de corrélation entre les sous-jacents, taux est la matrice identité (tous les sousjacents et taux sont indépendants, donc de corrélation nulle). Pour modifier la corrélation entre deux actifs, il suffit d ouvrir une balise <Cellule> avec deux paramètres actif1 et actif2 de valeur les noms des deux sous-jacents à corréler, d écrire la valeur de la nouvelle corrélation, puis de fermer la corrélation avec la balise </Cellule>. Exemple : corrélation correcte en XML : <Cellule actif1=" nom de l actif 1" actif2="nom de l actif 2">0,5</Cellule> Les corrélations doivent être mises à la suite dans la balise <MatriceCorrelation>. Si une corrélation entre deux sous-jacents est définie plus d une fois, c est la dernière valeur qui est conservée par l application lors de la restauration d un univers. Remarque : Les flottants doivent être entrés dans le fichier XML avec une virgule et non un point. 6) Exemple complet Nous détaillons ici un exemple de simulation traduit en fichier XML dans lequel on définit un taux Taux1, un sous-jacent simple SJ1, une obligation Obl1 et un produit dérivé P1 vérifiant : Taux 1 est un taux court modèle Vasicek de volatilité 0.5, de coefficient A = 0.3, B = 0.2 et de valeur initial 1. SJ1 est un actif de spot 100 et ayant pour modèle le mouvement brownien géométrique de paramètres une tendance de 0.05 et une volatilité de 0.2. Obl1 est une obligation de nominal 100, de maturité 10 ans, versant des coupons de 5%, et ayant été émise le 15 février P1 est une option d achat (produit dérivé de type Call européen simple) portant sur le sous-jacent SJ1, de prix d exercice 90 (strike) et de maturité 10 sous un taux d intérêt de <?xml version="1.0"?> <Univers> <ListeTaux> <Taux nomtaux="taux1"> <TauxInit>1</TauxInit> <TypeTaux nomtypetaux="tauxcourtvasicek" /> 12 P a g e

13 <Modele nommodele="vasicek"> <Volatilite>0,5</Volatilite> <A>0,3</A> <B>0,2</B> </Modele> </Taux> </ListeTaux> <ListeSousJacents> <SousJacent nomsousjacent="sj1"> <TypeSousJacent nomtypesousjacent="sousjacentsimple"> <Spot>100</Spot> <Modele nommodele="mbg"> <Tendance>0,05</Tendance> <Volatilite>0,2</Volatilite> </Modele> </TypeSousJacent> </SousJacent> <SousJacent nomsousjacent="obl1"> <TypeSousJacent nomtypesousjacent="obligation"> <Maturite>10</Maturite> <TypeObligation nomtypeobligation="obligationcoupon"> <TauxCoupon>0,05</TauxCoupon> <Valeur>100</Valeur> <Intervalle>1</Intervalle> <DateEmission>15/02/ :00:00</DateEmission> </TypeObligation> </TypeSousJacent> </SousJacent> </ListeSousJacents> <ListeProduitsDerives> <ProduitDerive nomproduitderive="p1"> <TypeProduitDerive nomtypeproduitderive="option"> <SousJacent>SJ1</SousJacent> <Maturite>2</Maturite> <Strike>90</Strike> <Taux>0,04</Taux> <TypeOption nomtypeoption="callsimple" /> </TypeProduitDerive> </ProduitDerive> </ListeProduitsDerives> <MatriceCorrelation> <Cellule actif1="sj1" actif2="sj1">1</cellule> <Cellule actif1="sj1" actif2="taux1">0</cellule> <Cellule actif1="taux1" actif2="sj1">0</cellule> <Cellule actif1="taux1" actif2="taux1">1</cellule> </MatriceCorrelation> </Univers> VIII. XML Exportation des cours simulés 1) Structure générale La structure générale du fichier reprend la précédente (il n y a pas de section pour les corrélations) : <?xml version="1.0"?> <Simulation> <ListeTaux> /* détails des taux */ </ListeTaux> <ListeSousJacents> 13 P a g e

14 /* détails des sous-jacents */ </ListeSousJacents> <ListeProduitsDerives> /* détails des produits dérivés */ </ListeProduitsDerives> </Simulation> Après chaque ouverture/fermeture de <Taux>, <SousJacent> ou <ProduitDerive> on ajoute les cours. Pour décrire un cours, on doit ouvrir une balise <Valeur> possédant un attribut indice de valeur le cours de l actif à la date indice (l attribut est nommé ainsi car la date coïncide avec l indice du cours dans les structures de données interne). 2) Exemple complet Nous détaillons ici un exemple de simulation traduit en fichier XML dans lequel on définit un sousjacent SJ1 et un produit dérivé P1 vérifiant : SJ1 est un actif de spot 100 et ayant pour modèle le mouvement brownien géométrique de paramètres une tendance de 0.05 et une volatilité de 0.2. P1 est une option d achat (produit dérivé de type Call européen simple) portant sur le sous-jacent SJ1, de prix d exercice 90 (strike) et de maturité 2 sous un taux d intérêt de La simulation s effectue sur une durée de 5 unités de temps subdivisées en 2 simulations. <?xml version="1.0"?> <Simulation> <ListeTaux /> <ListeSousJacents> <SousJacent nomsousjacent="sj1"> <TypeSousJacent nomtypesousjacent="sousjacentsimple"> <Spot>100</Spot> <Modele nommodele="mbg"> <Tendance>0,05</Tendance> <Volatilite>0,2</Volatilite> </Modele> </TypeSousJacent> </SousJacent> <Valeur indice="1">100</valeur> <Valeur indice="2">112,35409</valeur> <Valeur indice="3">137,11955</valeur> <Valeur indice="4">139,30552</valeur> <Valeur indice="5">160,54333</valeur> <Valeur indice="6">182,13675</valeur> <Valeur indice="7">184,95295</valeur> <Valeur indice="8">147,8214</valeur> <Valeur indice="9">163,55084</valeur> <Valeur indice="10">203,87873</valeur> <Valeur indice="11">195,21022</valeur> </ListeSousJacents> <ListeProduitsDerives> <ProduitDerive nomproduitderive="p1"> <TypeProduitDerive nomtypeproduitderive="option"> <SousJacent>SJ1</SousJacent> <Maturite>2</Maturite> <Strike>90</Strike> <Taux>0,04</Taux> <TypeOption nomtypeoption="callsimple" /> </TypeProduitDerive> 14 P a g e

15 </ProduitDerive> <Valeur indice="1">20,86781</valeur> <Valeur indice="2">29,07052</valeur> <Valeur indice="3">50,72671</valeur> <Valeur indice="4">51,09023</valeur> <Valeur indice="5">70,54333</valeur> <Valeur indice="6">0</valeur> <Valeur indice="7">0</valeur> <Valeur indice="8">0</valeur> <Valeur indice="9">0</valeur> <Valeur indice="10">0</valeur> <Valeur indice="11">0</valeur> </ListeProduitsDerives> </Simulation> IX. XML Exportation des évaluations 1) Structure générale La structure générale du fichier reprend la précédente (il n y a pas de section pour les corrélations) : <?xml version="1.0"?> <Simulation> <ListeTaux> /* détails des taux */ </ListeTaux> <ListeSousJacents> /* détails des sous-jacents */ </ListeSousJacents> <ListeProduitsDerives> /* détails des produits dérivés */ </ListeProduitsDerives> </Simulation> Après chaque ouverture/fermeture de <Taux>, <SousJacent> ou <ProduitDerive> on ajoute les évaluations. Pour décrire une évaluation : Ouvrir une balise <DateEvaluation>, écrire la date d évaluation, puis refermer la date d évaluation avec la balise </DateEvaluation>. Ouvrir une balise <ValeurEvaluation>, écrire la valeur d évaluation, puis refermer la valeur d évaluation avec la balise </ValeurEvaluation>. 2) Exemple complet Nous détaillons ici un exemple d évaluations traduites en fichier XML dans lequel on définit une obligation Obl1 et un basis swap Swap1 vérifiant : Obl1 est une obligation de nominal 100, de maturité 2 ans, versant des coupons de 5%, et ayant été émise le 3 avril Swap1 est un basis swap sur un nominal de 100, de maturité 10 ans, échangeant annuellement de l Euribor 1 mois contre de l Euribor 7 mois + 5 bps créé le 3 avril <?xml version="1.0"?> <Evaluation> <ListeSousJacents> 15 P a g e

16 <SousJacent nomsousjacent="obl1"> <TypeSousJacent nomtypesousjacent="obligation"> <Maturite>2</Maturite> <TypeObligation nomtypeobligation="obligationcoupon"> <TauxCoupon>0,05</TauxCoupon> <Valeur>100</Valeur> <Intervalle>0,5</Intervalle> <DateEmission>03/04/ :00:00</DateEmission> </TypeObligation> </TypeSousJacent> </SousJacent> <DateEvaluation>12/06/ :00:00</DateEvaluation> <ValeurEvaluation>119, </ValeurEvaluation> </ListeSousJacents> <ListeProduitsDerives> <ProduitDerive nomproduitderive="swap1"> <TypeProduitDerive nomtypeproduitderive="swap"> <Nominal>100</Nominal> <Maturite>10</Maturite> <DateEmission>03/04/ :00:00</DateEmission> <Intervalle1>1</Intervalle1> <Intervalle2>1</Intervalle2> <Convention1>0</Convention1> <Convention2>1</Convention2> <CaracteristiqueSwap>True</CaracteristiqueSwap> <TypeSwap nomtypeswap="basisswaptaux"> <TypeTauxVariable1>1</TypeTauxVariable1> <TypeTauxVariable2>7</TypeTauxVariable2> <SpreadTauxVariable1>0</SpreadTauxVariable1> <SpreadTauxVariable2>5</SpreadTauxVariable2> </TypeSwap> </TypeProduitDerive> </ProduitDerive> <DateEvaluation>12/06/ :00:00</DateEvaluation> <ValeurEvaluation>-0, </ValeurEvaluation> </ListeProduitsDerives> </Evaluation> 16 P a g e

Manuel d Utilisateur - Logiciel ModAFi. Jonathan ANJOU - Maud EYZAT - Kévin NAVARRO

Manuel d Utilisateur - Logiciel ModAFi. Jonathan ANJOU - Maud EYZAT - Kévin NAVARRO Manuel d Utilisateur - Logiciel ModAFi Jonathan ANJOU - Maud EYZAT - Kévin NAVARRO Grenoble, 12 juin 2012 Table des matières 1 Introduction 3 2 Modèles supportés 3 2.1 Les diérents modèles supportés pour

Plus en détail

Corrigés des premiers exercices sur les classes

Corrigés des premiers exercices sur les classes Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.

Plus en détail

Options et Swap sur intérêt

Options et Swap sur intérêt Options et Swap sur intérêt Risk Management - TP 3-1 - Exercice1 : choix de deux options J ai décidé d utiliser le site Swissquote pour cette recherche. Toutefois j ai préféré prendre des warrants (certificats

Plus en détail

Les techniques des marchés financiers

Les techniques des marchés financiers Les techniques des marchés financiers Corrigé des exercices supplémentaires Christine Lambert éditions Ellipses Exercice 1 : le suivi d une position de change... 2 Exercice 2 : les titres de taux... 3

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Pratique des options Grecs et stratégies de trading. F. Wellers

Pratique des options Grecs et stratégies de trading. F. Wellers Pratique des options Grecs et stratégies de trading F. Wellers Plan de la conférence 0 Philosophie et structure du cours 1 Définitions des grecs 2 Propriétés des grecs 3 Qu est ce que la volatilité? 4

Plus en détail

LISTE D EXERCICES 2 (à la maison)

LISTE D EXERCICES 2 (à la maison) Université de Lorraine Faculté des Sciences et Technologies MASTER 2 IMOI, parcours AD et MF Année 2013/2014 Ecole des Mines de Nancy LISTE D EXERCICES 2 (à la maison) 2.1 Un particulier place 500 euros

Plus en détail

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend

Plus en détail

Programme Compte bancaire (code)

Programme Compte bancaire (code) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public

Plus en détail

Liste des notes techniques... xxi Liste des encadrés... xxiii Préface à l édition internationale... xxv Préface à l édition francophone...

Liste des notes techniques... xxi Liste des encadrés... xxiii Préface à l édition internationale... xxv Préface à l édition francophone... Liste des notes techniques.................... xxi Liste des encadrés....................... xxiii Préface à l édition internationale.................. xxv Préface à l édition francophone..................

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

QUESTIONS D ENTRETIENS EN FINANCE DE MARCHE

QUESTIONS D ENTRETIENS EN FINANCE DE MARCHE QUESTIONS D ENTRETIENS EN FINANCE DE MARCHE Le présent document est un recueil de questions, la plupart techniques, posées à des candidats généralement jeunes diplômés, issus d école d ingénieurs, de commerce

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

Plus en détail

1/ Présentation de SQL Server :

1/ Présentation de SQL Server : Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture

Plus en détail

Probabilités III Introduction à l évaluation d options

Probabilités III Introduction à l évaluation d options Probabilités III Introduction à l évaluation d options Jacques Printems Promotion 2012 2013 1 Modèle à temps discret 2 Introduction aux modèles en temps continu Limite du modèle binomial lorsque N + Un

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

GUIDE UTILISATEUR. KPAX Discover

GUIDE UTILISATEUR. KPAX Discover GUIDE UTILISATEUR KPAX Discover STATUT DU COPYRIGHT ET DE LA REPRODUCTION La société KPAX vous autorise à consulter le contenu de ce document sous réserve d appliquer à toutes les copies les droits d auteur

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Présentation Salle des marchés. Centrale Lille Octobre 2007. Contacts: Matthieu MONLUN Responsable de la salle des marchés

Présentation Salle des marchés. Centrale Lille Octobre 2007. Contacts: Matthieu MONLUN Responsable de la salle des marchés Présentation Salle des marchés Centrale Lille Octobre 2007 Contacts: Matthieu MONLUN Responsable de la salle des marchés Jérôme CHANE Sales Fixed Income Tel: 03.20.57.50.00 Email: prenom.nom@calyon.com

Plus en détail

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le 10.09.

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le 10.09. SOFI Gestion+ SOFI Informatique Version 5.4 Echanges de données informatiques Spicers Sofi gestion+ Groupements Actualisé le 10.09.2004 Table des matières 1. Catalogue et tarifs... 4 1.1 Définition EDI...

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Valorisation d es des options Novembre 2007

Valorisation d es des options Novembre 2007 Valorisation des options Novembre 2007 Plan Rappels Relations de prix Le modèle binomial Le modèle de Black-Scholes Les grecques Page 2 Rappels (1) Définition Une option est un contrat financier qui confère

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Processus 6 : Gestion de la trésorerie et du financement

Processus 6 : Gestion de la trésorerie et du financement 1 / 10 Processus 6 : Gestion de la trésorerie et du financement Le P6 regroupe 3 parties : - Le suivi et l optimisation de la trésorerie à court terme (au jour le jour) ; - La détermination des besoins

Plus en détail

Définition des Webservices Ordre de paiement par email. Version 1.0

Définition des Webservices Ordre de paiement par email. Version 1.0 Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

LES MARCHÉS DÉRIVÉS DE CHANGE. Finance internationale 9éme ed. Y. Simon & D. Lautier

LES MARCHÉS DÉRIVÉS DE CHANGE. Finance internationale 9éme ed. Y. Simon & D. Lautier LES MARCHÉS DÉRIVÉS DE CHANGE 1 Section 1. Les instruments dérivés de change négociés sur le marché interbancaire Section 2. Les instruments dérivés de change négociés sur les marchés boursiers organisés

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

Programmation avec des objets : Cours 7. Menu du jour

Programmation avec des objets : Cours 7. Menu du jour 1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes

Plus en détail

TP de risque management Risque Forex

TP de risque management Risque Forex TP de risque management Risque Forex Exercice 1 Partie 1. Le but de cette exercice est voir quel sont les options qui permettent de gérer le risque du au taux de change. En effet, dans notre cas, une société

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

Calcul et gestion de taux

Calcul et gestion de taux Calcul et gestion de taux Chapitre 1 : la gestion du risque obligataire... 2 1. Caractéristique d une obligation (Bond/ Bund / Gilt)... 2 2. Typologie... 4 3. Cotation d une obligation à taux fixe... 4

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

Question 1: Analyse et évaluation des obligations / Gestion de portefeuille

Question 1: Analyse et évaluation des obligations / Gestion de portefeuille Question 1: Analyse et évaluation des obligations / Gestion de portefeuille (33 points) Monsieur X est un gérant de fonds obligataire qui a repris la responsabilité de gestion du portefeuille obligataire

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Tutoriel D utilisation. Du PGI Open line d EBP

Tutoriel D utilisation. Du PGI Open line d EBP Tutoriel D utilisation Du PGI Open line d EBP Tutoriel d utilisation du PGI EBP Open line - christophe.cessac@ac-orleans-tours.fr LP Les charmilles / Mission TICE Page 1/64 Table des matières Première

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

NOTICE MÉTHODOLOGIQUE SUR LES OPTIONS DE CHANGE

NOTICE MÉTHODOLOGIQUE SUR LES OPTIONS DE CHANGE NOTICE MÉTHODOLOGIQUE SUR LES OPTIONS DE CHANGE Avec le développement des produits dérivés, le marché des options de change exerce une influence croissante sur le marché du change au comptant. Cette étude,

Plus en détail

2- Comment les traders gèrent les risques

2- Comment les traders gèrent les risques 2- Comment les traders gèrent les risques front office middle office back office trading échange d'actifs financiers contrôle des risques, calcul du capital requis enregistrement des opérations traitement

Plus en détail

Programmation Objet Java Correction

Programmation Objet Java Correction INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le

Plus en détail

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options Université de Lorraine Modélisation Stochastique Master 2 IMOI 2014-2015 TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options 1 Les options Le but de ce

Plus en détail

Table des matières. Avant-propos. Chapitre 2 L actualisation... 21. Chapitre 1 L intérêt... 1. Chapitre 3 Les annuités... 33 III. Entraînement...

Table des matières. Avant-propos. Chapitre 2 L actualisation... 21. Chapitre 1 L intérêt... 1. Chapitre 3 Les annuités... 33 III. Entraînement... III Table des matières Avant-propos Remerciements................................. Les auteurs..................................... Chapitre 1 L intérêt............................. 1 1. Mise en situation...........................

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

JEU BOURSIER 2015. Séance d introduction à la plateforme de trading SaxoWebTrader. - Pour débutants -

JEU BOURSIER 2015. Séance d introduction à la plateforme de trading SaxoWebTrader. - Pour débutants - JEU BOURSIER 2015 Séance d introduction à la plateforme de trading SaxoWebTrader - Pour débutants - A partir d un ordinateur: a) Rends-toi sur le site suisse de SaxoBank: https://webtrader.saxobank.ch/sim/login/

Plus en détail

TP2 : Client d une BDD SqlServer

TP2 : Client d une BDD SqlServer TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc

Plus en détail

Exercice du cours Gestion Financière à Court Terme : «Analyse d un reverse convertible»

Exercice du cours Gestion Financière à Court Terme : «Analyse d un reverse convertible» Exercice du cours Gestion Financière à Court Terme : «Analyse d un reverse convertible» Quand la trésorerie d une entreprise est positive, le trésorier cherche le meilleur placement pour placer les excédents.

Plus en détail

COMPRENDRE LES OPTIONS BINAIRES - LEÇON 1

COMPRENDRE LES OPTIONS BINAIRES - LEÇON 1 COMPRENDRE LES OPTIONS BINAIRES - LEÇON 1 Qu est ce que sont les options binaires? Le trading d options binaires, parfois connu sous le nom des options numériques ou ORF (options de retour fixe), est une

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Options, Futures, Parité call put

Options, Futures, Parité call put Département de Mathématiques TD Finance / Mathématiques Financières Options, Futures, Parité call put Exercice 1 Quelle est la différence entre (a) prendre une position longue sur un forward avec un prix

Plus en détail

Exchange Traded Funds (ETF) Mécanismes et principales utilisations. 12 Mai 2011

Exchange Traded Funds (ETF) Mécanismes et principales utilisations. 12 Mai 2011 Exchange Traded Funds (ETF) Mécanismes et principales utilisations 12 Mai 2011 Sommaire I Présentation du marché des ETF II Construction des ETF III Principales utilisations IV Les ETF dans le contexte

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

Capital économique en assurance vie : utilisation des «replicating portfolios»

Capital économique en assurance vie : utilisation des «replicating portfolios» Capital économique en assurance vie : utilisation des «replicating portfolios» Anne LARPIN, CFO SL France Stéphane CAMON, CRO SL France 1 Executive summary Le bouleversement de la réglementation financière

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Hedging delta et gamma neutre d un option digitale

Hedging delta et gamma neutre d un option digitale Hedging delta et gamma neutre d un option digitale Daniel Herlemont 1 Introduction L objectif de ce projet est d examiner la couverture delta-gamma neutre d un portefeuille d options digitales Asset-Or-Nothing

Plus en détail

Traitement des données avec Microsoft EXCEL 2010

Traitement des données avec Microsoft EXCEL 2010 Traitement des données avec Microsoft EXCEL 2010 Vincent Jalby Septembre 2012 1 Saisie des données Les données collectées sont saisies dans une feuille Excel. Chaque ligne correspond à une observation

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

Le Mini E-book de XForex pour débutants TRADER PRO. Guide de trading de devises

Le Mini E-book de XForex pour débutants TRADER PRO. Guide de trading de devises Le Mini E-book de XForex pour débutants TRADER PRO Guide de trading de devises XForex vous a préparé un condensé du E- book, son manuel électronique sur le trading de devises. Le Mini E-book a été conçu

Plus en détail

Guide de prise en main. Yourcegid SOLOS. Devis-Factures. 12/08/2013 Page 1 / 38

Guide de prise en main. Yourcegid SOLOS. Devis-Factures. 12/08/2013 Page 1 / 38 Yourcegid SOLOS Devis-Factures 12/08/2013 Page 1 / 38 Sommaire 1. YOURCEGID SOLOS DEVIS-FACTURES : AUTONOME, SIMPLE, INTUITIF ET PERSONNALISABLE 3 2. CENTRE D'AIDE ET SUPPORT... 5 3. ERGONOMIE... 6 Les

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

HighPush. document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale.

HighPush. document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale. Version du Date document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale Commentaires 1 Table des matières 1 Introduction / Identification...

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

PROJET MODELE DE TAUX

PROJET MODELE DE TAUX MASTER 272 INGENIERIE ECONOMIQUE ET FINANCIERE PROJET MODELE DE TAUX Pricing du taux d intérêt des caplets avec le modèle de taux G2++ Professeur : Christophe LUNVEN 29 Fevrier 2012 Taylan KUNAL - Dinh

Plus en détail

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 UNIVERISTE MOHAMMED PREMIER Faculté des Sciences d Oujda Oujda - Maroc Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 Pr. El Mostafa DAOUDI Département de Mathématiques

Plus en détail

Comprendre vos relevés de comptes CFD/FOREX:

Comprendre vos relevés de comptes CFD/FOREX: Comprendre vos relevés de comptes CFD/FOREX: WHS ProStation WHS FutureStation Version: 16.06 2011 1 Rapports disponibles Rapport Historique du compte Fournit une vue d ensemble sur une période de temps

Plus en détail

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

LA GESTION DU RISQUE DE CHANGE. Finance internationale, 9 ème édition Y. Simon et D. Lautier

LA GESTION DU RISQUE DE CHANGE. Finance internationale, 9 ème édition Y. Simon et D. Lautier LA GESTION DU RISQUE DE CHANGE 2 Section 1. Problématique de la gestion du risque de change Section 2. La réduction de l exposition de l entreprise au risque de change Section 3. La gestion du risque de

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

GUIDE PRATIQUE. Du provisionnement des emprunts à risques

GUIDE PRATIQUE. Du provisionnement des emprunts à risques Ministère de l Égalité des territoires et du Logement Ministère de l Économie et des Finances GUIDE PRATIQUE Du provisionnement des emprunts à risques Application aux Offices Publics de l Habitat à comptabilité

Plus en détail

Manuel du logiciel PrestaTest.

Manuel du logiciel PrestaTest. Manuel du logiciel. Ce document décrit les différents tests que permet le logiciel, il liste également les informations nécessaires à chacun d entre eux. Table des matières Prérequis de PrestaConnect :...2

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Utilitaires méconnus de StrataFrame

Utilitaires méconnus de StrataFrame Utilitaires méconnus de StrataFrame Voici quelques classes d utilitaires, parmi ceux qui se trouvent dans le NameSpace MicroFour.StrataFrame.Tools. Cette liste n est pas exhaustive, et les regroupements

Plus en détail

Dérivés Financiers Contrats à terme

Dérivés Financiers Contrats à terme Dérivés Financiers Contrats à terme Mécanique des marchés à terme 1) Supposons que vous prenez une position courte sur un contrat à terme, pour vendre de l argent en juillet à 10,20 par once, sur le New

Plus en détail

Étude des résultats des investisseurs particuliers sur le trading de CFD et de Forex en France

Étude des résultats des investisseurs particuliers sur le trading de CFD et de Forex en France Étude des résultats des investisseurs particuliers sur le trading de CFD et de Forex en France Le 13 octobre 2014 Autorité des marchés financiers 17, place de la Bourse 75082 Paris cedex 02 Tél. : 01 53

Plus en détail

Produits structurés. Sacha Duparc, Développement & Trading Produits Structurés 20.12.2013

Produits structurés. Sacha Duparc, Développement & Trading Produits Structurés 20.12.2013 Produits structurés Sacha Duparc, Développement & Trading Produits Structurés 20.12.2013 Importance du marché des produits structurés en Suisse Les produits structurés constituent une catégorie d investissement

Plus en détail

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1. Plateforme PAYZEN Intégration du module de paiement pour la plateforme Magento version 1.3.x.x Paiement en plusieurs fois Version 1.4a Guide d intégration du module de paiement Multiple Magento 1/24 SUIVI,

Plus en détail

BTS Groupement A. Mathématiques Session 2011. Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

BTS Groupement A. Mathématiques Session 2011. Spécialités CIRA, IRIS, Systèmes électroniques, TPIL BTS Groupement A Mathématiques Session 11 Exercice 1 : 1 points Spécialités CIRA, IRIS, Systèmes électroniques, TPIL On considère un circuit composé d une résistance et d un condensateur représenté par

Plus en détail