3 pièce(s) jointe(s)
Pandas / Ajouter des colonnes avec indicateurs sur plusieurs ID sur séries temporelles
Bonjour,
A partir de cette table qui comprend une valeur, une date et l'identifiant pour 2000 individus je souhaite calculer des ratios propre à chaque individus.
Pièce jointe 601665
J'ai pensé a procéder de cette manière mais ca ne semble pas bon. Pandas ne me sort pas le calcul de la volatilité. Et je ne pense pas que itérer un df pour chaque ID soit la meilleure solution.
Code:
1 2 3 4 5 6 7 8
|
data = dict()
for unique in MV['ID_Perf'].unique():
data[unique] = MV.loc[MV['ID_Perf']==unique]
data[unique]['Perf'] = data[unique]['VL']/data[unique]['VL'].shift(1) -1
data[unique]['Volat'] = (np.std(data[unique]['Perf'])*252**0.5) |
Pièce jointe 601667
Cette méthode non plus ne donne rien.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
def std(grp):
grp = grp / (grp.shift() - 1)
return grp.std() * 252**0.5
std = (MV.groupby('ID_Perf')['VL'].apply(std)
.rename('Volat')
)
df = MV.join(std, on='ID_Perf')
check = df.loc[df.loc[:,'ID_Perf']=='0P00000ARS']
check |
Pièce jointe 601668
De quelle manière je dois m'y prendre pour calculer des ratios par ID en série temporelle ? Merci