Vous souhaitez partager votre contenu sur R-bloggers ? cliquez ici si vous avez un blog, ou ici si vous n’en avez pas.

{talib} est un nouveau
R package construit sur TA-Lib, qui est maintenant disponible sur CRAN. Le R-package s’adresse aux individus et, peut-être, aux institutions qui, sous une forme ou une autre, interagissent avec les marchés financiers à l’aide d’une analyse technique.
La bibliothèque est construite avec un minimum de dépendances pour une stabilité et une liberté à long terme. Toutes les fonctions sont construites autour
data.frame– et matrix-des classes qui sont portables vers tous les autres conteneurs de données avec un minimum d’effort.
Tout dans la bibliothèque est construit « de bas en haut » pour une vitesse et une efficacité de mémoire maximales. Chaque indicateur interagit directement avec l’API C de R via
.Call().
Dans cet article de blog, je donnerai une brève introduction à l’interface et aux aspects les plus importants du package. La bibliothèque comprend également des graphiques financiers statiques et interactifs, qui seront abordés dans un autre article.
Une introduction rapide à l’interface
Dans cette section, je présenterai brièvement les aspects les plus importants des appels de fonction, des formels et de la façon dont <NA> sont manipulés. Vous trouverez ci-dessous un point de départ simple ; calculer les bandes de Bollinger pour Bitcoin :
tail(
talib::bollinger_bands(
talib::BTC
)
)
#> UpperBand MiddleBand LowerBand
#> 2024-12-26 01:00:00 100487.38 96698.61 92909.83
#> 2024-12-27 01:00:00 100670.65 96512.96 92355.27
#> 2024-12-28 01:00:00 100632.13 96581.91 92531.69
#> 2024-12-29 01:00:00 99628.77 95576.60 91524.43
#> 2024-12-30 01:00:00 96403.53 94231.31 92059.09
#> 2024-12-31 01:00:00 95441.13 93774.23 92107.34
En soi, un simple appel. Ci-dessous se trouvent les formals:
str(formals(talib::bollinger_bands)) #> Dotted pair list of 8 #> $ x : symbol #> $ cols : symbol #> $ ma : language SMA(n = 5) #> $ sd : num 2 #> $ sd_down : symbol #> $ sd_up : symbol #> $ na.bridge: logi FALSE #> $ ... : symbol
Toutes les fonctions partagent la même signature x,
cols, na.bridge et ...alors que tout le reste est spécifique à l’indicateur. Le cols-argument est manquant, mais a une valeur par défaut codée en dur par rapport à la TA-Lib en amont – cela est également vrai pour les indicateurs restants. Le cols-argument accepte une formule unilatérale comme suit :
tail(
talib::bollinger_bands(
talib::BTC,
cols = ~close
)
)
#> UpperBand MiddleBand LowerBand
#> 2024-12-26 01:00:00 100487.38 96698.61 92909.83
#> 2024-12-27 01:00:00 100670.65 96512.96 92355.27
#> 2024-12-28 01:00:00 100632.13 96581.91 92531.69
#> 2024-12-29 01:00:00 99628.77 95576.60 91524.43
#> 2024-12-30 01:00:00 96403.53 94231.31 92059.09
#> 2024-12-31 01:00:00 95441.13 93774.23 92107.34
Dans ce cas, le résultat data.frame est la même que ci-dessus, car la colonne par défaut pour laquelle les bandes sont calculées est le prix de clôture de l’actif.
Tous les indicateurs sont enveloppés par model.frame() et ses fonctionnalités sont accessibles via ... comme suit:
tail(
talib::bollinger_bands(
talib::BTC,
cols = ~close,
subset = 1:nrow(talib::BTC) %in% 1:100
)
)
#> UpperBand MiddleBand LowerBand
#> 2024-04-04 02:00:00 72605.20 68193.82 63782.44
#> 2024-04-05 02:00:00 70646.91 67502.88 64358.84
#> 2024-04-06 02:00:00 70087.36 67344.94 64602.52
#> 2024-04-07 02:00:00 70475.41 68122.29 65769.16
#> 2024-04-08 02:00:00 71820.87 69249.88 66678.89
#> 2024-04-09 02:00:00 71848.20 69372.65 66897.09
Ici, nous calculons l’indicateur uniquement sur un sous-ensemble du
BTC. Bien que cela puisse sembler une fonctionnalité redondante à première vue, sa principale justification réside dans l’interface graphique où seules certaines parties d’un indicateur présentent un intérêt visuel.
Le <NA>-manipulation dans {talib} fonctionne un peu différemment de na.rm. Avant de démontrer cela, nous ajoutons aléatoirement quelques valeurs manquantes à BTC
BTC <- talib::BTC BTC$close[sample(1:100, size = 20)] <- NA
L’approche naïve consiste à calculer directement l’indicateur :
tail(
talib::bollinger_bands(
BTC
)
)
#> UpperBand MiddleBand LowerBand
#> 2024-12-26 01:00:00 NA NA NA
#> 2024-12-27 01:00:00 NA NA NA
#> 2024-12-28 01:00:00 NA NA NA
#> 2024-12-29 01:00:00 NA NA NA
#> 2024-12-30 01:00:00 NA NA NA
#> 2024-12-31 01:00:00 NA NA NA
Qui revient <NA> pour toutes les valeurs. Il s’agit du comportement par défaut. La fonction renvoie fidèlement l’objet complet avec le même nombre de lignes – remplies de
<NA>-valeurs.
Pour éviter cela, vous pouvez définir na.bridge = TRUE comme suit:
tail(
object <- talib::bollinger_bands(
BTC,
na.bridge = TRUE
)
)
#> UpperBand MiddleBand LowerBand
#> 2024-12-26 01:00:00 100487.38 96698.61 92909.83
#> 2024-12-27 01:00:00 100670.65 96512.96 92355.27
#> 2024-12-28 01:00:00 100632.13 96581.91 92531.69
#> 2024-12-29 01:00:00 99628.77 95576.60 91524.43
#> 2024-12-30 01:00:00 96403.53 94231.31 92059.09
#> 2024-12-31 01:00:00 95441.13 93774.23 92107.34
Encore une fois, avec le même nombre de lignes que BTC. Ce comportement est vrai pour toutes les fonctions : N-les rangées,
N– rame. Quoi na.bridge ce que fait sous le capot, c’est d’extraire tout <NA>-valeurs, calcule l’indicateur puis les rajoute dans leur position d’origine.
Installation
{talib} est enfin sur CRAN, et peut être installé comme suit :
install.packages("talib")
Il peut également être construit à partir des sources avec des
CMake-les drapeaux :
install.packages( "talib", type = "source", configure.args = "-O3 -march=native" )
Contribuer et soumettre des rapports de bogues
{talib} est encore à ses débuts, donc les contributions, même minimes, les rapports de bogues, les suggestions et les critiques sont acceptés avec gratitude.
Visitez le référentiel ici :
Créé le 24/04/2026 avec reprex v2.1.1
{talib} : L’analyse technique utilisant R a été publiée pour la première fois le 27 avril 2026 à 1h00.
En rapport
PakarPBN
A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.
In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.
The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.