在进行量化选股过程中,为了方便人工对相应股票进行复核检测,一个一个人工敲股票代码肯定不是我们的选项,费时费力,又容易出错。这时就需要将选出的股票导入自选股,在终端打开自选板块直接查看选出的股票,方便快捷。
本文调试所用 通达信版本为:通达信金融终端 V7.6,不同版本可能文件位置不同,使用时请注意。
D:\new_tdx\T0002\blocknew
文件类型为通达信自定义的.blk,其实就是一个纯文本文件(.txt)。
用记事本打开ZXG.blk,会发现股票代码上面有一个前缀
经分析,这些前缀的规律为:
深证为0,
沪市为1,
北交所为2。
技术路线:将选出的股票代码,区分不同交易所,分别在前缀处加上0,1和2.然后将股票代码列表写入文件,文件位置为自选股所在目录。
程序如下:
symbols = []
for symbol in all_symbols:
if (df1.loc[symbol,'虚拟成交量'] < df1.loc[symbol,'100日均量'] and
(df1.loc[symbol,'100日内大于7%天数']>=13 or
df1.loc[symbol,'100日内涨停板数']>=15)):
if symbol[0] == '0' or symbol[0] =='3':
symbol = '0' + symbol
if symbol[0] == '6':
symbol = '1' + symbol
if symbol[0] == '8' or symbol[0] == '4':
symbol = '2' + symbol
symbols.append(symbol)
else:
df_out = df_out[~df_out.index.str.contains(str(symbol))]
#df = df[~df['名称'].str.contains('ST',na=False)]
df_out2 = pd.DataFrame(symbols)
out_file_name = '选股结果' + str(dt.date.today().strftime('%Y%m%d')) + '.xlsx'
out_file_name2 = 'LXXG.blk'
zxg_path = 'D:\\new_tdx\\T0002\\blocknew'
print(df_out)
df_out.to_excel(out_file_name)
df_out2.to_csv(zxg_path+out_file_name2,sep= '\t',index=False,header=None)
print(symbols)
运行完上述程序后,打开通达信金融终端,打开自选股,即可看到选出的所有自选股了。