N'hésitez pas de consulter notre chaîne YouTube "INGÉNIERIE et BOURSE" pour profiter des cours et tutos gratuits !
Objectifs
- Savoir l’importance de la médiane
- Savoir l’utilité du filtre médian
- Savoir calculer la valeur médiane
- Exemples pratiques
- Etc.
Synthèse du Prix & le Bruit
On considère un signal sinusoïdal bruité avec un bruit transitoire. L’objectif de l’exemple sera de filtré le bruit transitoire en utilisant le filtrage médian. Ci-dessous le code pour la synthèse du signal bruité :
[pastacode lang=”c” manual=”%25%20Prix%0AN%3D1e4%3B%0At%3Dlinspace(1%2C150%2CN)%3B%0At0%3D50%3B%20f0%3D1%2Ft0%3B%0AA%3D1%3B%0Ap_t0%3DA*sin(2*pi*f0*t)%3B%0A%0A%25%20Le%20bruit%20transitoire%0Ab_t%3Dzeros(1%2CN)%3B%0Ad%3D0.5%2F100%3B%0AA_b%3DA%3B%0Ab_t%3DA_b*imnoise(b_t%2C’salt%20%26%20pepper’%2Cd)%3B%0A%0A%25%20Ajout%20du%20bruit%0Ap_t%3Dp_t0%2Bb_t%3B%0A%0A%25%20Affichage%0Afigure(1)%3B%0Aplot(t%2Cp_t%2C%20’linewidth’%2C3)%3Bxlim(%5Bt(1)%20t(end)%5D)%3B%0Aset(gca%2C’color’%2C’none’)%3B” message=”” highlight=”” provider=”manual”/]
Le filtre Médian
L’exemple ci-dessous montre la différence entre la moyenne mobile et la médiane mobile :
[pastacode lang=”c” manual=”p%3D1%3B%20P%3D2*p%2B1%3B%0Ap_t_f%3Dzeros(1%2CN)%3B%0Ap_t_fMM%3Dzeros(1%2CN)%3B%0A%0Afor%20i%3Dp%2B1%3AN-p%0A%20%20%20%20%25%20M%C3%A9diane%0A%20%20%20%20V%3Dp_t(i-p%3Ai%2Bp)%3B%20%25%20Extraction%20du%20vecteur%201xP%0A%20%20%20%20Vs%3Dsort(V)%3B%20%20%20%20%20%25%20Tri%20du%20vecteur%0A%20%20%20%20Med%3DVs(p%2B1)%3B%20%20%20%20%25%20Extraction%20de%20la%20valeur%20M%C3%A9diane%0A%20%20%20%20p_t_f(i)%3DMed%3B%20%20%20%25%20Affectation%20de%20la%20M%C3%A9diane%0A%20%20%20%20%0A%20%20%20%20%25%20Ou%20bien%3A%20%0A%20%20%20%20%25%20p_t_f(i)%3Dmedian(V)%3B%0A%20%20%20%20%0A%20%20%20%20%25%20MM%0A%20%20%20%20p_t_fMM(i)%3Dmean(V)%3B%0Aend%3B%0A%0Afigure(2)%3B%0Aplot(t%2Cp_t%2C’b’%2C’linewidth’%2C3)%3Bhold%20on%3B%0Aplot(t%2Cp_t_fMM%2C’m’%2C’linewidth’%2C3)%3B%0Aplot(t%2Cp_t_f%2C’r’%2C’linewidth’%2C3)%3B%0Alegend(%7B’Bruit%C3%A9’%2C’MM’%2C’M%C3%A9diane’%7D%2C’fontsize’%2C18)%3B%0Axlim(%5Bt(1)%20t(end)%5D)%3B%20set(gca%2C’color’%2C’none’)%3B” message=”” highlight=”” provider=”manual”/]
On constate une restitution quasi-parfaite du signal original en utilisant le filtre médian.
Exemple d’un actif réel
[pastacode lang=”c” manual=”clc%3B%20close%20all%3B%20clear%20all%3B%0A%0A%25%25%20Ingenierie-Bourse.fr%0A%25%25%20La%20M%C3%A9diane%20%26%20Le%20Bruit%20en%20Bourse%20-%202%2F2%0A%0A%0A%0A%25%25%201.%20Synth%C3%A8se%20du%20Prix%20%26%20le%20Bruit%0A%0A%25%20%25%20Prix%0A%25%20N%3D1e4%3B%0A%25%20t%3Dlinspace(1%2C150%2CN)%3B%0A%25%20t0%3D50%3B%20f0%3D1%2Ft0%3B%0A%25%20A%3D1%3B%0A%25%20p_t0%3DA*sin(2*pi*f0*t)%3B%0A%25%20%0A%25%20%25%20Le%20bruit%20transitoire%0A%25%20b_t%3Dzeros(1%2CN)%3B%0A%25%20d%3D1%2F100%3B%0A%25%20A_b%3DA%3B%0A%25%20b_t%3DA_b*imnoise(b_t%2C’salt%20%26%20pepper’%2Cd)%3B%0A%25%20%0A%25%20%25%20Ajout%20du%20bruit%0A%25%20p_t%3Dp_t0%2Bb_t%3B%0A%25%20%0A%25%20%25%20Affichage%0A%25%20figure(1)%3B%0A%25%20plot(t%2Cp_t%2C%20’linewidth’%2C3)%3Bxlim(%5Bt(1)%20t(end)%5D)%3B%0A%25%20set(gca%2C’color’%2C’none’)%3B%0A%25%20%0A%25%20return%20%0A%0A%0A%25%25%202.%20Titre%20R%C3%A9el%20(voir%20la%20suite)%0ATitre%3D’JPY%3DX’%3B%0A%25%20Titre%3D%7B’GBPUSD%3DX’%2C%20’EURUSD%3DX’%2C%20’JPY%3DX’%2C’CHF%3DX’%2C’NZDUSD%3DX’%7D%3B%0A%0AStart%3D’Jan-03-1995’%3B%20%20%20%20%25%20Date%20de%20d%C3%A9but%0AStop%3Ddatestr(now%2C1)%3B%20%20%20%20%25%20Date%20de%20fin%20(Actuelle)%20ou%20bien%20%22Mois-Jour-Ann%C3%A9e%22%0A%5Bnn%2C%20mm%5D%20%3D%20month(Stop)%3B%0AStop%3Dstrcat(mm%2C’-‘%2Cnum2str(day(Stop))%2C’-‘%2Cnum2str(year(Stop)))%3B%0A%0AData%20%3D%20getData(Titre%2CStart%2CStop)%3B%0AN%3Dlength(Data)%3B%0At%3Dlinspace(year(Start)%2Cyear(Stop)%2CN)%3B%0Ap_t%3DData(%3A%2C2)%3B%0A%0A%0A%25%25%203.%20la%20m%C3%A9diane%20Vs%20le%20Moyenne%20Mobile%0Ap%3D1%3B%20P%3D2*p%2B1%3B%0Ap_t_f%3Dzeros(1%2CN)%3B%0Ap_t_fMM%3Dzeros(1%2CN)%3B%0A%0Afor%20i%3Dp%2B1%3AN-p%0A%20%20%20%20%25%20M%C3%A9diane%0A%20%20%20%20V%3Dp_t(i-p%3Ai%2Bp)%3B%20%25%20Extraction%20du%20vecteur%201xP%0A%20%20%20%20Vs%3Dsort(V)%3B%20%20%20%20%20%25%20Tri%20du%20vecteur%0A%20%20%20%20Med%3DVs(p%2B1)%3B%20%20%20%20%25%20Extraction%20de%20la%20valeur%20M%C3%A9diane%0A%20%20%20%20p_t_f(i)%3DMed%3B%20%20%20%25%20Affectation%20de%20la%20M%C3%A9diane%0A%20%20%20%20%0A%20%20%20%20%25%20Ou%20bien%3A%20%0A%20%20%20%20%25%20p_t_f(i)%3Dmedian(V)%3B%0A%20%20%20%20%0A%20%20%20%20%25%20MM%0A%20%20%20%20p_t_fMM(i)%3Dmean(V)%3B%0Aend%3B%0A%0Afigure(2)%3B%0Aplot(t%2Cp_t%2C’b’%2C’linewidth’%2C3)%3Bhold%20on%3B%0Aplot(t%2Cp_t_fMM%2C’m’%2C’linewidth’%2C3)%3B%0Aplot(t%2Cp_t_f%2C’r’%2C’linewidth’%2C3)%3B%0Alegend(%7B’Bruit%C3%A9’%2C’MM’%2C’M%C3%A9diane’%7D%2C’fontsize’%2C18)%3B%0Axlim(%5Bt(1)%20t(end)%5D)%3B%20set(gca%2C’color’%2C’none’)%3B%0A” message=”” highlight=”” provider=”manual”/]