在进行量化选股过程中,为了方便人工对相应股票进行复核检测,一个一个人工敲股票代码肯定不是我们的选项,费时费力,又容易出错。这时就需要将选出的股票导入自选股,在终端打开自选板块直接查看选出的股票,方便快捷。
本文调试所用 通达信版本为:通达信金融终端 V7.6,不同版本可能文件位置不同,使用时请注意。
一、自选股及自定义板块文件所在位置
D:\new_tdx\T0002\blocknew
文件类型为通达信自定义的.blk,其实就是一个纯文本文件(.txt)。
二、 自选股文件数据结构
用记事本打开ZXG.blk,会发现股票代码上面有一个前缀
经分析,这些前缀的规律为:
深证为0,
沪市为1,
北交所为2。
三、用python进行验证
技术路线:将选出的股票代码,区分不同交易所,分别在前缀处加上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)
运行完上述程序后,打开通达信金融终端,打开自选股,即可看到选出的所有自选股了。