上科技与狠活 A股跌破3000点的历史时刻值得铭记!
今天量化投资与机器学习公众号基于Python统计,让我们一起看看那些曾经刻骨铭心的时刻!
先看源代码:
import numpy as np
import pandas as pd
df_price_ # '000001.XSHG'数据
# 判断时间点
df_price_.loc[:,'tip'] = 0
df_price_.loc[df_price_.loc[:,'close']<3000,'tip'] = 1
# 跌破3000点的时间点
down = df_price_[df_price_.loc[:,'tip'].diff()==1]
down = down.reset_index().rename(columns={'date':'跌破3000点日期','close':'收盘点位'})
down = down.drop(columns=['tip'])
# 重回3000点的时间点
up = df_price_[df_price_.loc[:,'tip'].diff()==-1]
up = up.reset_index().rename(columns={'date':'重回3000点日期','close':'收盘点位'})
up = up.drop(columns=['tip'])
# 第一天时间点的处理
down_first_date = down.iloc[0,0]
up = up.query(f"重回3000点日期>='{down_first_date}'").reset_index(drop=True)
# 合并数据,计算间隔
all_ = pd.merge(down,up,left_index=True,right_index=True,how='outer')
all_.loc[:,'重回3000天间隔'] = (all_.loc[:,'重回3000点日期'] - all_.loc[:,'跌破3000点日期']).dt.days