Chaine de Markov Lindt et Milka sont les seules entreprises de chocolat dans un

Chaine de Markov Lindt et Milka sont les seules entreprises de chocolat dans un pays (X). On suppose qu'une nouvelle entreprise de chocolat souhaite s'associer à l'un de ces deux géants concurrents. De ce fait, Ils font appel à une société d'études de marché pour déterminer quelle marque est plus bénéfique (quelle entreprise aura une part de marché plus élevée après 1 mois). Tout en sachant qu’actuellement, Lindt détient 55 % et Milka détient 45 % des parts de marché. Voici les conclusions tirées par la société d'études de marché : 1. P(P->P) : Probabilité qu'un client reste avec la marque Lindt sur un mois = 0,7 2. P(P->C) : Probabilité qu'un client passe de Lindt à Milka sur un mois = 0,3 3. P(C->C) : Probabilité qu'un client reste avec la marque Milka sur un mois = 0,9 4. P(C->P) : Probabilité qu'un client passe de Milka à Lindt sur un mois = 0,1 Nous pouvons constater que les clients ont tendance à choisir la marque Milka, mais cette marque a actuellement une part de portefeuille inférieure. Par conséquent, nous ne pouvons pas être sûrs de la recommandation sans faire quelques calculs de transition. Mise en œuvre en R : #installation des packages install.packages("markovchain") install.packages("diagram") #lancement des packages library(markovchain) library(diagram) #Création d’une matrice de transition avec la fonction matrix() contenant les 4 probabilités trans_mat <- matrix(c(0.7,0.3,0.1,0.9),nrow = 2, byrow = TRUE) trans_mat #Création d’une chaine de markov en temps discret disc_trans <- new("markovchain",transitionMatrix=trans_mat, states=c("Lindt","Milka"), name="MC 1") disc_trans plot(disc_trans) #Calcul du part de marché après un mois Current_state<-c(0.55,0.45) steps<-1 finalState<-Current_state*disc_trans^steps #en utilisant l'opérateur de puissance finalState #Calcul du part de marché après deux mois Current_state<-c(0.55,0.45) steps<-2 finalState<-Current_state*disc_trans^steps #using power operator finalState #création de la matrice de l’état stable steadyStates(disc_trans) Mathématiques financières Dans l'analyse financière, nous avons besoin de techniques pour faire de la modélisation prédictive pour prévoir et trouver les moteurs de différentes variables cibles. Dans cet exemple, nous expliquerons la manière dont nous pouvons construire un modèle de régression pour construire des modèles prédictifs. Nous utiliserons donc, une régression linéaire multiple afin d'expliquer une variable dépendante (Y) qui est StockYPrice, en fonction de plusieurs prédicteurs (StockX1Price, StockX2Price, StockX3Price), qui sont présentes dans l'ensemble de données DataMR importées. #Importation des données DataMR = read.csv("C:/Users/DALLA/Desktop/DataForMultipleRegression..csv") #exécution d'une régression multiple avec StockYPrice comme variable dépendante MultipleR.lm = lm(StockYPrice ~ StockX1Price + StockX2Price + StockX3Price +StockX4Price, data=DataMR) # L’affichage des résultats de la régression multiple exécutée summary(MultipleR.lm) #L’equation du model : StockYPrice = 88.42137 +(-0.16625) *StockX1Price + (-0.00468) * StockX2Price + (.03497) *StockX3Price+ (.02713) *StockX4Price #Nous pouvons obtenir une prévision sur d’autres échantillon en exécutant le code suivant : #création d’une nouvelle donnée et réalisation d’une prédiction basée sur la model exécuté auparavant newdata = data.frame(StockX1Price=70, StockX2Price=90, StockX3Price=60, StockX4Price=80) predict(MultipleR.lm, newdata) #Cela donne la sortie 80,63105 comme valeur prédite de la variable dépendante pour l'ensemble donné de variables indépendantes. Processus gaussien Un processus gaussien adapte un modèle à un ensemble de données, ce qui donne une fonction qui donne une prédiction pour la moyenne à tout moment avec une variance de cette prédiction.Supposant, qu’on veut modéliser la probabilité de sales d’un produit en fonction des dix premiers Hours : #simulation des deux variables Hours <- seq(0,10,l=10) sales <- abs(sin(2*pi*x))^.8 plot(Hours, sales) #par défaut !!! on réalise une régression linéaire pour modéliser la relation sales en fonction des heures lm_mod <- lm(sales ~ Hours) plot(Hours, sales) abline(a=lm_mod$coef[1], b=lm_mod$coef[2], col='red') #On constate que d'après la figure le modèle linéaire ne décrit clairement pas la fonction sous- jacente produisant les données. #Un processus gaussien est alors approprié, c’est un type de modèle qui suppose que la distribution des points suit une distribution multivariée. #installation du packages gaupro install.packages("GauPro") #lancement du packages gaupro library(GauPro) #nous pouvons ajuster un modèle GP avec une fonction de corrélation gaussienne en utilisant la fonction GauPro gp <- GauPro(Hours, sales, parallel=FALSE) #tracer les prédictions données par le modèle. Comme indiqué ci-dessous, ce modèle est bien meilleur qu'un modèle linéaire plot(Hours, sales) curve(gp$predict(Hours), add=T, col=2) Processus stochastique En théorie des probabilités et dans les domaines connexes, un processus stochastique ou aléatoire est un objet mathématique généralement défini comme une famille de variables aléatoires.Les processus stochastiques sont largement utilisés comme modèles mathématiques de systèmes et de phénomènes qui semblent varier de manière aléatoire. De plus, des changements apparemment aléatoires sur les marchés financiers ont motivé l'utilisation intensive de processus stochastiques en finance. Un mouvement brownien géométrique (GBM) (également connu sous le nom de mouvement brownien exponentiel) est un processus stochastique en temps continu dans lequel le logarithme de la quantité variant au hasard suit un mouvement brownien. Un mouvement brownien géométrique est utilisé pour modéliser le comportement du cours d'une action dans le temps. L'ensemble de données téléchargé à partir de (https://finance.yahoo.com/quote/AMZN/history/), contiennent les cours boursiers quotidiens d'Amazon.com, Inc. à l'heure de clôture de la bourse entre le 02/01/2020 et le 30/06/2021, soit un total de 377 jours ouvrables. Tout d'abord, nous traçons les données. #Importation des données téléchargées stock.data<- read.csv(file="./AMZN.csv", header=TRUE, sep=",") #Extraction des variables prix et date date<- as.POSIXct(stock.data$Date) price<- stock.data$Close # tracer la fluctuation de l'action par rapport à la date plot(date, price, type="l", lwd=2, cex=0, col="light blue", xlab="Time", ylab="Stock price", first.panel=grid()) #calcul des incréments de log-prix log.inc<- c() price1<- price[-1] price1.lag<- head(price, -1) log.ratio<- log(price1/price1.lag) # tracer l'histogramme library(rcompanion) plotNormalHistogram(log.ratio, xlab="Log-price increments", col="light blue") #À partir de l'histogramme, une courbe en forme de cloche décrit raisonnablement la densité des incréments de log-prix, nous concluons donc que la distribution peut être supposée normale. #estimer les paramètres print(mu.hat<-mean(log.ratio)) #0.001581681 print(sigma.hat<- sd(log.ratio)) #0.02156408 #spécifiant le mouvement brownien comme vecteur BM<- c() #spécification de la valeur initiale BM[1]<- 0 #spécifier la (seed) set.seed(43567347) #simulation du mouvement brownien avec dérive et volatilité for (i in 2:377) BM[i]<- mu.hat+BM[i-1] + sigma.hat*rnorm(1) #calcul des valeurs pour le mouvement brownien géométrique GBM<-prix[1]*exp(BM) # tracer des trajectoires réelles et simulées plot(date, price, type="l", lty=1, lwd=2, col="blue", xlab="Time", ylab="Stock price", first.panel=grid()) + lines(date, GBM, lwd=2, col="green") + legend("bottomright", c("Actual price", "Simulated price"), lty=1, col=c("blue", "green")) Série temporelle, ou série chronologique Une série chronologique est une suite de valeurs numériques représentant l'évolution d'une quantité spécifique au cours du temps. Dans R, cela peut être facilement fait par la fonction ts() avec certains paramètres. Cette fonction est principalement utilisée pour apprendre et prévoir le comportement d'un actif en entreprise pendant une période de temps. Par exemple, analyse des ventes d'une entreprise, analyse des stocks, analyse des prix d'une action ou d'un marché particulier, analyse de la population, etc. L'ensemble de données AirPassenger implémenté dans R fournit les totaux mensuels des passagers d'une compagnie aérienne américaine, de 1949 à 1960. Cet ensemble de données est déjà d'une classe de série chronologique, donc aucune autre manipulation de classe ou de date n'est requise. ##importation des données AirPassengers data("AirPassengers") AP <- AirPassengers # verification la classe du jeu de données AirPassengers class(AP) ## [1] "ts" ## L'année commence en 1949 et se termine en 1961 avec 144 observations, Nous devons maintenant convertir l'ensemble de données en données de séries temporelles. ts(AP, frequency = 12, start=c(1949,1)) ##tracage de la coubre de la série chronologique plot(AP) ##Ces données semblent stationnaires et nous pouvons opter pour une transformation de journal pour les données non stationnaires. #Log tronsformation AP <- log(AP) plot(AP) ##Prévision (Forecasting) ## modèle ARIMA - Moyenne mobile intégrée autorégressive ##installation du package forecast install.packages("forecast") ##lancement du package forecast library(forecast) ##création du modele ARIMA model <- auto.arima(AP) model ## examination du ACF et PACF des données de séries chronologiques. acf(model$residuals, main = 'Correlogram') ## verification de la normalité des résidus a l’aide d’un histogramme. hist(model$residuals, col = 'blue', xlab = 'Error', main = 'Histogram of Residuals', freq = FALSE) lines(density(model$residuals)) ##La plupart des valeurs sont concentrées à 0 et ressemblent à une distribution normale, ce qui indique qu'il n'y a pas de problème de série avec le modèle existant. f <- forecast(model, 48) library(ggplot2) autoplot(f) Marché financier (Financial market) Un marché financier est un marché sur lequel des personnes physiques, des sociétés privées et des institutions publiques peuvent négocier des titres financiers, matières premières et autres actifs, à des prix qui reflètent l'offre et la demande. Les marchés financiers désignent au sens large tout marché où se négocient des titres, y compris le marché boursier, le marché obligataire, le marché des changes (forex), ...etc. Le package TTR : (Technical Trading Rules) est une collection de plus de 50 indicateurs techniques permettant de créer des règles techniques de trading. Le package fournit également des implémentations rapides de fonctions courantes de fenêtre glissante et plusieurs calculs de volatilité. Data (ttrc) c'est une base de données historiques d'ouverture, de haut, de bas, de clôture et de volume pour les périodes du 2 janvier 1985 au 31 décembre 2006. Notre objectif est de calculer la valeur à risque ? qui est la perte maximale possible de votre argent dans une période, est aussi identifier les tendances de début et de la fin à l’aide du filtre horizontal vertical (VHF) qui est un outil utilisé pour identifier les conditions du marché (trending). uploads/Finance/ markov-chain 1 .pdf

  • 20
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Dec 12, 2021
  • Catégorie Business / Finance
  • Langue French
  • Taille du fichier 0.2077MB