Calcul du 3e quartile d’une distribution de données

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #111063 quote
    Darwin
    Participant
    New

    Bonjour,

    Est-ce que PRT (plus particulièrement ProBuilder) offre une fonction pour calculer le 3e quartile d’une distribution ? Si ce n’est pas le cas est-il possible de stocker des valeurs dans un tableau (au sens programmation, pas graphique) ?

    Merci d’avance pour votre aide
    Meilleures salutations

    Darwin

    #111065 quote
    Nicolas
    Keymaster
    Master

    Il n’y a pas de fonction ou d’instruction toute faite encore. Faute de tableau de données sous ProBuilder, il va falloir faire des boucles pour trouver le quartile, et je pense qu’elles devront être imbriquées par ailleurs .. bref un casse tête bien sympa, mais on peut essayer de relever le défi.

    Au passage, il y a une fonction qui “traîne” sur le forum pour le quantile et la médiane.. En y réfléchissant bien, je pense qu’on pourrait partir de la valeur de la médiane une fois celle-ci trouvée et en déduire le 3éme quartile dans une seconde boucle.

    Pour ceux que ça intéresse, voici la définition du quartile depuis Wikipédia:

    En statistique descriptive, un quartile est chacune des trois valeurs qui divisent les données triées en quatre parts égales, de sorte que chaque partie représente 1/4 de l’échantillon de population. Le quartile fait partie des quantiles.

    Je vais y regarder à moins que tu es déjà creusé de ton côté ?

    quartile.png quartile.png
    #111067 quote
    Nicolas
    Keymaster
    Master

    Si je me réfère à ce schéma, la mediane est donc le deuxième quartile et le troisième 25% au dessus (soit la moitié du reste). Cela ne devrait pas être trop compliqué donc.

    median-and-quartiles.png median-and-quartiles.png
    #111073 quote
    Nicolas
    Keymaster
    Master

    Il faudrait essayer avec cette version que je pense être correcte (voir image jointe). Je ne sais pas quelle série de données tu penses utiliser, ici c’est CustomClose (donc tu peux choisir le type de prix dans les paramètres de l’indicateur), si il s’agit d’une autre série il faudrait modifier les références à CustomClose dans le code.

    Attention par contre, car si il  s’agit d’une série de données non linéaire (soit non lié au numéro de barindex), cela risque d’être plus difficile puisque qu’il faudra imbriquer l’ensemble du code dans une énième boucle et ça risquerait de pas passer …

    length=15 //analyzed data serie length
    
    // get the median of the last date serie length 
    FOR X = 0 TO length-1
    M = customclose[X]    
    SmallPart = 0
    LargePart = 0
    FOR Y = 0 TO length-1
    IF close[Y] < M THEN
    SmallPart = SmallPart + 1
    ELSIF close[Y] > M THEN
    LargePart = LargePart + 1
    ENDIF
    IF LargePart = SmallPart AND Y = length-1 THEN
    Median = M
    medianbar=barindex
    BREAK
    ENDIF
    NEXT
    NEXT
    
    
    //get the third quartile of the data serie
    if medianbar>0 and median<>median[1] then
    FOR Z = max(1,barindex-MedianBar) DOWNTO 0
    qM = customclose[Z]
    qSmallPart = 0
    qLargePart = 0
    if qM>Median then
    for w=max(1,barindex-MedianBar) DOWNTO 0
    IF close[W] < qM THEN
    qSmallPart = qSmallPart + 1
    ELSIF close[W] > qM THEN
    qLargePart = qLargePart + 1
    ENDIF
    IF qLargePart = qSmallPart AND W = max(1,barindex-MedianBar) THEN
    ThirdQuartile = qM
    BREAK
    ENDIF
    NEXT
    endif
    NEXT
    endif
    
    RETURN Median coloured(0,200,200) as "median", ThirdQuartile as "Third Quartile"
    third-quartile-and-median-data-serie.png third-quartile-and-median-data-serie.png
    #111078 quote
    Darwin
    Participant
    New

    Wouaw merci Nicolas pour tes réponses et le code ! Je vais regarder tout ça et l’adapter à mon besoin.

    Je reviendrai poster la solution retenue

    #150682 quote
    BenCD
    Participant
    Average

    Bonjour à tous les deux,

    Je trouve cette approche intéressante,

    Néanmoins je bloque un peu pour la création du premier quartile, j’ai essayé depuis les lignes de code du troisième, mais rien de concluant,


    @Nicolas
    saurais tu me dire quel en serait le code ?

    Merci d’avance!

    #150741 quote
    Nicolas
    Keymaster
    Master

    En fait, il faut procéder de la même façon, mais à l’envers, puisqu’on veut trouver la mediane (le premier quartile) de la distribution se trouvant sous la mediane de l’ensemble de la série. Sauf erreur de ma part, le code ci-dessous doit fonctionner en ce sens:

    length=15 //analyzed data serie length
    
    // get the median of the last date serie length
    FOR X = 0 TO length-1
    M = customclose[X]
    SmallPart = 0
    LargePart = 0
    FOR Y = 0 TO length-1
    IF close[Y] < M THEN
    SmallPart = SmallPart + 1
    ELSIF close[Y] > M THEN
    LargePart = LargePart + 1
    ENDIF
    IF LargePart = SmallPart AND Y = length-1 THEN
    Median = M
    medianbar=barindex
    BREAK
    ENDIF
    NEXT
    NEXT
    
    
    //get the first quartile of the data serie
    if medianbar>0 and median<>median[1] then
    FOR Z = max(1,barindex-MedianBar) DOWNTO 0
    qM = customclose[Z]
    qSmallPart = 0
    qLargePart = 0
    if qM<Median then
    for w=max(1,barindex-MedianBar) DOWNTO 0
    IF close[W] < qM THEN
    qSmallPart = qSmallPart + 1
    ELSIF close[W] > qM THEN
    qLargePart = qLargePart + 1
    ENDIF
    IF qLargePart = qSmallPart AND W = max(1,barindex-MedianBar) THEN
    FirstQuartile = qM
    BREAK
    ENDIF
    NEXT
    endif
    NEXT
    endif
    
    RETURN Median coloured(0,200,200) as "median", FirstQuartile as "First Quartile"
    BenCD thanked this post
    #150765 quote
    BenCD
    Participant
    Average

    Superbe, merci beaucoup @Nicolas, je vais pouvoir avancer!

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

Calcul du 3e quartile d’une distribution de données


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Darwin @a482864 Participant
Summary

This topic contains 7 replies,
has 3 voices, and was last updated by BenCD
5 years, 3 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 10/24/2019
Status: Active
Attachments: 3 files
Logo Logo
Loading...