Bonjour,
Je dispose d'un DataFrame avec deux colonnes existantes (market et stock):
daily_returns
Out[98]:
market stock
Date
2017-08-03 00:00:00-04:00 NaN NaN
2017-08-04 00:00:00-04:00 0.182193 0.527114
2017-08-07 00:00:00-04:00 0.185942 1.547394
2017-08-08 00:00:00-04:00 -0.246112 0.799692
2017-08-09 00:00:00-04:00 -0.004040 0.612226
... ...
2022-08-01 00:00:00-04:00 -0.296108 -0.615345
2022-08-02 00:00:00-04:00 -0.659746 -0.928756
2022-08-03 00:00:00-04:00 1.565946 3.824778
2022-08-04 00:00:00-04:00 -0.067540 -0.192626
2022-08-05 00:00:00-04:00 -0.169029 -0.138897
[1261 rows x 2 columns]
J'exécute la commande suivante pour y ajouter une autre colonne (riskfree):
daily_returns['riskfree'] = (1 + riskfree_rate['Close']) ** (1/360) - 1
J'obtiens le résultat suivant (market, stock et riskfree):
daily_returns
Out[100]:
market stock riskfree
Date
2017-08-03 00:00:00-04:00 NaN NaN NaN
2017-08-04 00:00:00-04:00 0.182193 0.527114 NaN
2017-08-07 00:00:00-04:00 0.185942 1.547394 NaN
2017-08-08 00:00:00-04:00 -0.246112 0.799692 NaN
2017-08-09 00:00:00-04:00 -0.004040 0.612226 NaN
... ... ...
2022-08-01 00:00:00-04:00 -0.296108 -0.615345 NaN
2022-08-02 00:00:00-04:00 -0.659746 -0.928756 NaN
2022-08-03 00:00:00-04:00 1.565946 3.824778 NaN
2022-08-04 00:00:00-04:00 -0.067540 -0.192626 NaN
2022-08-05 00:00:00-04:00 -0.169029 -0.138897 NaN
[1261 rows x 3 columns]
Si j'exécute les calculs à droite de l'équation je devrais normalement obtenir cette colonne et non pas des NaN:
(1 + riskfree_rate['Close']) ** (1/360) - 1
Out[101]:
Date
2017-08-03 00:00:00-05:00 0.003260
2017-08-04 00:00:00-05:00 0.003294
2017-08-07 00:00:00-05:00 0.003285
2017-08-08 00:00:00-05:00 0.003308
2017-08-09 00:00:00-05:00 0.003272
2022-08-01 00:00:00-05:00 0.003569
2022-08-02 00:00:00-05:00 0.003672
2022-08-03 00:00:00-05:00 0.003677
2022-08-04 00:00:00-05:00 0.003623
2022-08-05 00:00:00-05:00 0.003744
Name: Close, Length: 1261, dtype: float64
Je n'y comprend rien; les index sont les mêmes, le nombre de rangées est le même....sauf le dtype
Je n'arrive pas à trouver la solution.
Merci pour votre aide.
Jacques![]()
Partager