- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 7847 个
- 通用积分
- 272.1141
- 学术水平
- 7 点
- 热心指数
- 15 点
- 信用等级
- 4 点
- 经验
- 51190 点
- 帖子
- 180
- 精华
- 0
- 在线时间
- 642 小时
- 注册时间
- 2014-6-10
- 最后登录
- 2024-4-6
|
- df_final['dif_cal'] = df_final.Trddt.apply(lambda x: (x - events_cal.iloc[2,0]).days)
- # 事件窗:按交易日算diff
- max_negative = max(df_final['dif_cal'].apply(lambda x : x if x < 0 else -1000**10))
- min_positive = min(df_final['dif_cal'].apply(lambda x : x if x > 0 else 1000**10))
- if min(abs(df_final['dif_cal']))==0:
- Num = df_final[df_final['dif_cal'] == 0].index[0]
- df_final['dif'] = df_final.index
- df_final['dif'] = df_final.dif.apply(lambda x: (x - Num))
- else:
- Num1 = df_final[df_final['dif_cal'] == max_negative].index[0]
- Num2 = df_final[df_final['dif_cal'] == min_positive].index[0]
- df_final['dif'] = df_final.index
- df_final['dif'] = df_final.dif.apply(lambda x: x-Num2 if x<=Num1 else x-Num1)
复制代码
|
|