knitr::opts_chunk$set(echo = TRUE)

Casabourse

library(casabourse)

Casabourse est un R package qui permet d’obtenir des données à temps réel de la bourse de Casablanca. L’objectif est de faciliter l’accès aux données à tous les utilisateurs du langage de programmation R. Ce package comporte une diversité de données accessibles juste par appel de fonction.

Guide d'installation

Ce package est disponible sur github et sur le CRAN pour l’installer vous devez exécuter une de ces lignes de codes :

#CRAN version
install.packages("casabourse")
#Or github dev version
devtools::install_github("AODiakite/casabourse")

La fonction tickers()

Cette fonction ne prend aucun argument et retourne une table de données associant chaque entreprise à un ticker. Il est important de visualiser les tickers. En effet, ils sont utilisés par les autres fonctions du package pour représenter les entreprises auxquelles ils correspondent.

#' Affichage des tickers
tickers <- tickers()
head(tickers)

La fonction msi20.data()

C’est une fonction permettant de télécharger les données de l’indice MSI20. Elle renvoie une table de données.

msi20 <- msi20.data() #affection de la table MSI20 a la variable ms
msi20 #afichage des premiers elements de la table

La fonction masi.data()

C’est une fonction permettant de télécharger les données de l’indice MASI. Elle renvoie une table de données.

#' Affichage des données de MASI
ms <- masi.data() #affection de la table MASI a la variable ms
head(ms) #afichage des premiers elements de la table

La fonction daily.data("ticker", "from", "to") :

Comme son nom l’indique, cette fonction renvoie les cours journaliers d’un titre entre deux dates données par l’utilisateur. Elle reçoit trois arguments : ticker : qui correspond au ticker du titre qui nous intéresse ou même de l'indice MASI( pour rappelle vous pouvez connaitre tous les tickers des titres grâce à la fonction tickers() ) from : représente la date de début de collecte de données. Cet argument est du type ‘’jour-mois-année’’. * to : représente la date d’arrêt de collecte de données. Cet argument est du type ‘’jour-mois-année’’. NB : Les week-end ne sont pas pris en compte lors du téléchargement des données et en plus Il est important de mettre chaque argument entre des doubles quotes( ‘’ ‘’)

#Affichage des cours journaliers de ATTIJARIWAFA BANK entre 01 janvier 2017 et le 14 decembre 2021
atw <- daily.data("atw","01-01-2017","14-12-2021") #affection de la table a la variable atw
head(atw) #afichage des premiers elements de la table

La fonction bySector() :

Elle renvoie une table contenant des données par secteur d’activités. Elle est une fonction sans argument.

#Afichage des données par secteur d'activité
bySector()

La fonction instruments() :

Elle est sans argument et nous donne les informations sur les instruments financiers du marché, telles que le code ISIN, le compartiment, le nombre de titres etc.

#Afichage les instruments financiers du marché
instruments()

La classe de fonctions today. :

C’est une classe de fonctions permettant d’obtenir des informations de la date d’aujourd’hui. Nous pouvons y trouver les fonctions suivantes :

  • today.prizelist("up_or_down") : reçoit ‘’up’’ ou ‘’down’’ et renvoie respectivement une table de palmarès de hausse ou de baisse des cours des instruments du marché
#Afichage du palmares de hausse des cours de la journée
today.prizelist('up')
  • today.market() : est sans argument et renvoie le cours actuel des instruments financier ainsi que leurs variations, leurs cours à l’ouverture, leurs max etc.
#Affichage des données du marché d'aujourd'hui
today.market()
  • today.transactions() : permet d’obtenir une table des transactions de la journée. Elle est une fonction sans argument.
#Affichages des transactions de la journée
today.transactions()

Exemples d'utilisations de la library(casabourse) :

  • Nous allons tracer la courbe de variations des cours des titres de Attijariwafa Bank et de la Banque Populaire du Maroc entre le début de l’année 2020 et le 15 décembre 2021.
library(casabourse) 
library(ggplot2)
#lecture des données de Attijariwafa Bank
atw <- daily.data(ticker = "ATW", from = "01-01-2020", to = "15-12-2021")
#lecture des données de la Banque Populaire du Maroc
bcp <- daily.data(ticker = "BCP", from = "01-01-2020", to = "15-12-2021")
data=merge(atw,bcp, by = "Date")

data = xts::xts(x = data[,-1],order.by = data$Date)
dygraphs::dygraph(data = data,main = "Variation des cours",ylab = "Cours")
  • Traçons maintenant la courbe des taux de rentabilités des titres de Attijariwafa Bank et de la Banque Populaire du Maroc entre le 15 octobre 2021 et le 15 décembre 2021.
rent <- function(x){
  returns = (x[-1]-x[-length(x)])/x[-length(x)]
  c(0,round(returns*100,2))
}
#lecture des données de Attijariwafa Bank
atw <- daily.data(ticker = "ATW", from = "15-10-2021", to = "15-12-2021")
#lecture des données de la Banque Populaire du Maroc
bcp <- daily.data(ticker = "BCP", from = "15-10-2021", to = "15-12-2021")
#Utilisation de la function rent
atw$returnATW = rent(atw$ATW)
bcp$returnBCP = rent(bcp$BCP)


#Traçage de la courbe avec le package ggplot2
data = merge(atw,bcp,by = "Date")
data = xts::xts(data[,c("returnATW","returnBCP")],order.by = data$Date)
dygraphs::dygraph(data)


AODiakite/casabourse documentation built on May 21, 2023, 6:43 a.m.