1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import numpy as np
import pandas as pd
data = {
'Date_VL': ['2016-05-31', '2016-05-31', '2016-05-31', '2016-06-01', '2016-06-01', '2016-06-02', '2016-06-02', '2016-06-03'],
'ID_Perf': ['1', '2', '3', '1', '2', '1', '2', '1'],
'VL': [100, 100, 100, 104, 99, 105, 100, 106],
}
df = pd.DataFrame(data)
print(df)
for id_perf in set(df['ID_Perf'].values):
# Subset
_df = df[df['ID_Perf'] == id_perf]
# Annual volatility and returns
_df['Perf'] = _df['VL'] / _df['VL'].shift(1) - 1
_df['Volat'] = np.sqrt(np.std(_df['Perf'])*252)
print(id_perf)
print(_df) |
Partager