行情火爆的时候,开盘就有很多股涨停,但有很多会破板,随之又封住涨停,我们称这种涨停为T字板。那么T字板买入,第二天的收益如何呢?为了验证这个问题,写了一小段代码来验证它。
代码如下:
trading_cont = D.trading_days(start_date='2021-01-04', end_date='2021-02-20')
df_final = pd.DataFrame(columns = ['date','instrument']) #创建一个空的dataframe
df_final2 = pd.DataFrame(columns = ['date','instrument','close_1','open_1','close_0','high_0']) #创建一个空的dataframe
date_list = []
instrument_list = []
open_1_list = []
high_0_list = []
for date in trading_cont.date:
print('----',date,'----')
df1 = D.features(D.instruments(), date,date, fields=['close_0','high_0','close_1','close_2','open_1','low_1','high_1','st_status_0','list_days_0','adjust_factor_0','price_limit_status_2','price_limit_status_3','price_limit_status_4'])
df1 = df1[(df1['st_status_0'] == 0)
&(df1['open_1'] == df1['high_1'])
#&(df1['price_limit_status_2'] == 3)
#&(df1['price_limit_status_3'] == 3)
#&(df1['price_limit_status_4'] == 3)
&(df1['open_1'] != df1['low_1'])
&(df1['high_1']/ df1['close_2'] > 1.098)
&(df1['list_days_0'] > 100)
]
df1['close_0'] = round(df1['close_0']/df1['adjust_factor_0'],2)
df1['open_1'] = round(df1['open_1']/df1['adjust_factor_0'],2)
df1['high_0'] = round(df1['high_0']/df1['adjust_factor_0'],2)
df1['close_1'] = round(df1['close_1']/df1['adjust_factor_0'],2)
df_final2 = df_final2.append(df1[['date','instrument','close_1','open_1','close_0','high_0']])
print(list(df1['instrument']))
for code in list(df1['instrument']):
instrument_list.append(code)
date_list.append(str(date)[0:10])
df_final.date = date_list
df_final.instrument = instrument_list
df_final2['range_c'] = round(100*(df_final2['close_0']/df_final2['open_1'] - 1),2)
df_final2['range_h'] = round(100*(df_final2['high_0']/df_final2['open_1'] - 1),2)
df_final2 = df_final2.sort_values(by='range_h',ascending=True) # ascending默认升序,ascending=False降序
df_final2.to_csv('T字板.csv')
df_final2
针对上述代码,我们又可以分三种情况分析:
一进二,第二板涨停开盘,破板买入
二进三,第三板涨停开盘,破板买入
三板以上,涨停开盘,破板买入
更多信息,请点击网页链接