La finance est un des sujets importants dans la littérature économique, notamment pour son rôle dans les crises. R permet de faire une analyse poussée des séries financières, de l’importation des données à l’estimation de modèles économétriques avancés. Ici, on va se concentrer sur les bases, c’est-à-dire comment importer des données depuis Yahoo Finance (une des plus grosses bases de données de séries financières). C’est ce qu’on va faire ici, avec des données en rapport avec le Bitcoin et les crypto-monnaies.

Nous utilisons le package sous R nommé “Quantmod”, qu’il est possible d’installer ou d’importer avec :

install.packages("quantmod")
require(quantmod)

Afin d’importer des données, la fonction getSymbols est très utile, car elle permet de détailler tout ce que l’on veut : la période de début (”from”), de fin (”to”), la fréquence des données (”periodicity”), ainsi que la source (”src”). Ici, on va se concentrer sur des données entre novembre 2017 et juin 2023, à une fréquence journalière, importées depuis Yahoo Finance : https://fr.finance.yahoo.com/. Sur le site de Yahoo Finance, vous pouvez chercher, par exemple, le prix du Bitcoin en dollar américain (USD), dont le symbole est noté “BTC-USD” :

Untitled

C’est ce symbole qu’utilise quantmod pour importer des données :

getSymbols("BTC-USD", from="2017-11-10", to="2023-06-30", src="yahoo", periodicity="daily")

chartSeries(`BTC-USD`, theme="white")
chart_Series(`BTC-USD`)

*A noter que les symboles devant et derrière BTC-USD sont spécifiques, le mieux étant de copier/coller ceux les symboles sur R directement

Graphique obtenu avec la commande: chartSeries(, theme="white")

Graphique obtenu avec la commande: chartSeries(BTC-USD, theme="white")

Graphique obtenu avec la commande: chart_Series()

Graphique obtenu avec la commande: chart_Series(BTC-USD)

La commande chartSeries donne un aspect un peu plus technique ou finance de marché, avec des bougies et le volume de transactions (que l’on peut retirer si besoin). La commande chart_Series permet une visualisation plus simplifiée.

Il est également possible d’importer une liste entière de séries financières provenant de Yahoo Finance, en créant une liste contenant le nom de chaque variable:

symbols <- c("BTC-USD", "ETH-USD", "LTC-USD")
getSymbols(symbols, from="2017-11-10", to="2023-06-30", src="yahoo", periodicity="daily")

En économétrie, on utilise le plus souvent - par souci de stationnarité - les séries de rendements. Le package quantmod permet de calculer les rendements journaliers (daily), hebdomadaires (weekly), mensuels (monthly), trimestriels (quarterly) et annuels (yearly)

Series de rendements

daily <- dailyReturn(`BTC-USD`)
weekly <- weeklyReturn(`BTC-USD`)
monthly <- monthlyReturn(`BTC-USD`)
quarterly <- quarterlyReturn(`BTC-USD`)
yearly <- yearlyReturn(`BTC-USD`)

plot(monthly)

Untitled

On peut également transformer la série en un objet zoo, plus facile à manipuler pour l’économétrie - et ça permet aussi de modifier l’aspect des graphiques :

zoo_object<-zoo(monthly)
plot(zoo_object)