winq python基本面選股例子

一沸伏、選股的需求

  • 上市日期在給定之日之后
  • 最近N個交易日成交額大于給定值
  • 大股東質(zhì)押率不大于給定值
  • 歸母利潤達到指定值
  • 上一年的年報審計意見為正常
  • 最近沒有停牌

二糕珊、選股常見方式

  • 一鍵式選股:各種金融終端里面的自定義條件
  • 自編公式選股:tongdaxin里面自編公式,引用專業(yè)財務(wù)數(shù)據(jù)
  • winq選股:
  • 量化API選股:

三毅糟、如何選擇

  • 研究階段的選擇:用一鍵式红选,自編公式選股
  • 模型穩(wěn)定后,用winq來綜合實現(xiàn)(后期可以直接移植到wind量化接口下)
  • 其他量化接口選股

四姆另、winq選股的實現(xiàn)例子

連接服務(wù)器

#連接服務(wù)器
from WindPy import *
w.start(); #命令超時時間為 120 秒
print('連接狀態(tài):' ,w.isconnected())
w.start(); #命令超時時間設(shè)置成 60

獲取A股列表

import datetime

#獲取當前的日期
today_date = datetime.date.today().isoformat()  #str類型喇肋,iso格式:2020-01-01
print("當前時間為:",today_date)

#讀取A股股票列表
a_stocks = w.wset("sectorconstituent", f"date={today_date};sectorId=a001010100000000", usedf=True)

#錯誤代碼處理
err_code = a_stocks[0]
#print(f"err_code = {err_code}")
if err_code != 0:
    raise ValueError(f"讀取A股股票列表,出錯迹辐,錯誤代碼:{err_code}")
    
a_stock_df = a_stocks[1]
"""
    格式:
    ===========a_stock_df:dataFrame=============
                        date    wind_code   sec_name
    -------------------------------------------------
    1   2020-02-25 00:00:00.005 000001.SZ   平安銀行
    2   2020-02-25 00:00:00.005 000002.SZ   萬科A
"""

a_stock_list = a_stock_df.wind_code.values.tolist()
print(f"讀取的股票代碼數(shù)量為:{len(a_stock_list)}")
#print(f"type of a_stock_list is {type(a_stock_list)}")
print("代碼的格式如下:",a_stock_list[-1:])
today = '20210914'      #日期  年【----】月【--】日【--】 總計8個數(shù)字
sjnb_date = '20201231'  #審計年報的讀入日期   '####1231'-該年年報讀取日期蝶防,目前尚無2019年的年報審計意見,遂明吩,讀取上一年的年報審計意見

函數(shù)定義

import pandas as pd

#獲取大股東累計質(zhì)押數(shù)占持股數(shù)比例
def get_dagudong_zhiya_zhanbi(stock_code:str,deal_date:str):
    """
    功能:獲取大股東累計質(zhì)押數(shù)占持股數(shù)比例
    參數(shù):
    stock_code:股票代碼,包含市場后綴间学,可以是一只或者多只股票 eg. 一只 '002157.SZ'  多只  ['002157.SZ','600797.SH']
    deal_date:交易日期               eg.  '20191106'   
    
    return:df
    ==========================
               大股東質(zhì)押占比
    002157.SZ   80.841848
    600797.SH   76.293443
    ==========================
    """
    dd = w.wss(stock_code, "share_pledgeda_pct_largestholder", f"tradeDate={deal_date}", usedf=True)
    df = dd[1]
    df.columns = ['大股東質(zhì)押占比']
    df['大股東質(zhì)押占比'] = df.apply(lambda r: 0 if r['大股東質(zhì)押占比']==None else r['大股東質(zhì)押占比'],axis = 1)   #單獨查詢一只股,占比為0時印荔,返回None的處理
    df = df.fillna(0)                                                                                         #查詢多只股低葫,占比為0時,返回NaN 
    return df
    
    """
    #=========test code=============
    stock_code = ['002157.SZ','600797.SH']
    deal_date = '20191106'  

    mydf =get_dagudong_zhiya_zhanbi(stock_code,deal_date)
    mydf
    """
    
#獲取財報的 [歸屬母公司的凈利潤]
def get_guishu_mugongsi_jinglirun(stock_code:str,deal_date:str):
    """
    功能:歸屬母公司的凈利潤
    參數(shù):
    stock_code:股票代碼,包含市場后綴仍律,可以是一只或者多只股票 eg. 一只 '002157.SZ'  多只  ['002157.SZ','600797.SH']
    deal_date:交易日期               eg.  '20191106'
    **萬礦是取每個季度最后一天作為報告期嘿悬,如取2017年的四個定期報告數(shù)據(jù),那報告期設(shè)置分別為 :一季報:2017-03-31水泉,半年報:2017-06-30善涨,三季報:2017-09-30窒盐,年報:2017-12-31
    
    return:df
    =============================
                歸屬母公司的凈利潤
     600352.SH      4.814994e+09
    ==============================
    """
    
    dd = w.wss(stock_code, "netprofit_ttm", f"tradeDate={deal_date}", usedf=True)
    df = dd[1]
    df.columns = ['歸屬母公司的凈利潤']   
    df['歸屬母公司的凈利潤'] = df['歸屬母公司的凈利潤'].astype('float')
    return df

    """    
    #===========test code=============
    stock_code = ['600352.SH','000001.SZ']
    deal_date = '20181231'
    my_df = get_guishu_mugongsi_jinglirun(stock_code,deal_date)
    display(my_df)
    """

#獲取股票的上市日期
def get_shangshi_date(stockCodes):
    """
    功能:獲取股票的上市日期
    參數(shù):
    stockCodes:股票列表  ['000001.SZ','600000.SH']
    
    return:df,
    ===========================================
                    上市日期
        000001.SZ   1991-04-03 00:00:00.005
        600000.SH   1999-11-10 00:00:00.005
    ===========================================
    """
    
    dd = w.wss(stockCodes, "ipo_date", "", usedf=True)
    df = dd[1]
    df.columns = ['上市日期']
    return df

    """
    #==============test code===============
    stockCodes = ['000001.SZ','600000.SH']
    df = get_shangshi_date(stockCodes)
    df
    """

#得到某些股票的N日成交額
def get_amount_nDays(stockCodes:list,days:int,tradeDate:str):
    """
    功能:得到某些股票的N日成交額
    參數(shù):
    stockCodes:要查詢的股票列表
    days:N日成交額中的N,往前推的交易天數(shù)钢拧,days = 1 蟹漓,表示往前推一天,連同當天(tradeDate)娶靡,則有兩個交易日
    tradeDate:查詢的日期
    
    return df
    ===========================
                N日成交額
    000001.SZ   3.669349e+10
    600000.SH   1.619291e+10
    ===========================     
    """
    dd = w.wss(stockCodes, "amt_nd", f"days=-{days};tradeDate={tradeDate}", usedf=True)
    df = dd[1]
    df.columns = ["N日成交額"]    
    
    return df

    """
    #========test code=====================
    stockCodes = ['000001.SZ','600000.SH']
    days = 20
    tradeDate = '20191111'
    df = get_amount_nDays(stockCodes,days,tradeDate)
    df
    """
    
#日期格式轉(zhuǎn)換:timestamp_str '2019-01-08 00:00:00.005' to str '20190108'
def timestamp_2_str(timestamp_str_date):
    """
    功能:日期格式轉(zhuǎn)換:timestamp_str '2019-01-08 00:00:00.005' to str '20190108'
    參數(shù):
    timestamp_str_date:'2019-01-08 00:00:00.005'
    return:string牧牢,20190108
    """
    day1 = timestamp_str_date.split(' ')[0].split('-')    #'2019','01','08'
    day2 = f"{day1[0]}{day1[1]}{day1[2]}"  #'20190108'
    return day2

#日期用年數(shù)進行相減操作
import datetime
from dateutil.relativedelta import relativedelta

#給定日期減去指定年數(shù)后看锉,返回一個新日期
def substract_date_years(mydate:str,years_to_substract:int):
    """
    功能:給定日期減去指定年數(shù)后姿锭,返回一個新日期
    參數(shù):
    mydate:str日期  eg. '20190101'  '%Y%m%d'
    years_to_substract:int要減去的年數(shù)
    
    return:'%Y%m%d' '20180101' 
    備注:pandas矢量化操作有日期加減函數(shù)
    """
    d = datetime.datetime.strptime(f"{mydate}", '%Y%m%d')
    #print(d) # 2018-01-31 00:00:00
    new_date = (d - relativedelta(years=years_to_substract)).strftime('%Y%m%d')
    #print(new_date) # 20170131
    return new_date

#獲取一個大盤交易日列表,作為交易日時間軸
def get_dapan_tradeday(dapan:str,begin_dapan_date:str,end_dapan_date:str):
    """
    功能:獲取一個大盤交易日列表,作為交易日時間軸
    參數(shù):
    dapan:大盤代碼  eg. '000001.SH'#上證指數(shù)
    begin_dapan_date:起始日期
    end_dapan_date:結(jié)束日期    
    
    return:days , 交易日系列,string
    """
    
    dd =w.wsd(dapan, "close", begin_dapan_date, end_dapan_date, "Fill=Previous", usedf=True)
    df = dd[1]
    df['日期'] = df.index
    days = df['日期'].astype('str').values.tolist()
    return days

    """
    #=========test code=============
    dapan = '000001.SH'#上證指數(shù)
    begin_dapan_date = '2019-01-01'
    end_dapan_date = '2019-11-10'
    days =  get_dapan_tradeday(dapan,begin_dapan_date,end_dapan_date)    
    """
    
#審計意見類別
def get_shenjiyijian(stocks:list,date:str):   
    """
    功能:獲取給定股票的某期財務(wù)審計意見
    參數(shù):
    stocks:股票列表list
    date:報告期 str
    
    return:df    
    df的格式如下:
    -----------------------
             |審計意見類別
    -----------------------
    000001.SZ|標準無保留意見
    600000.SH|標準無保留意見
    -----------------------
    """
    dd = w.wss(stocks, "stmnote_audit_category", f"rptDate={date};zoneType=1", usedf=True)
    df = dd[1]
    df.columns = ['審計意見類別']
    return df
    """
    #==========test code==============
    stocks = ['600352.SH','000001.SZ']
    date = '20181231'
    DF = get_shenjiyijian(stocks,date)
    DF
    """

ST股票處理

#st處理的函數(shù)

#獲取ST字典
def get_st_dict(df_st,st_start_date,st_end_date)->dict:   
    #df_st = pd.read_excel(file_path,converters={'代碼':str})
    df_st['操作日期'] = pd.to_datetime(df_st['操作日期'])
    #display(df_st)
    
    #整理成字典 
    st_dict = {}
    for name,df in df_st.groupby(['代碼']):
        #print(name)
        df = df.sort_values(['操作日期'])
        df.index = range(len(df))
        #display(df)
        df_tmp = get_st_info(df,st_start_date,st_end_date)
        #display(df_tmp)
        st_dict[name] = df_tmp
    print("停牌字典處理完畢伯铣!")
    
    return st_dict
    
    #====測試代碼====
    file_path = 'C:/緩存數(shù)據(jù)/ST狀態(tài)合并表.xls'
    df_st_dict = get_st_dict(file_path) 
    df_st_dict['600163']


#獲取st的信息
def get_st_info(df,st_start_date,st_end_date)->pd.DataFrame:
    """
    注意事項:中間用到兩個日期常量呻此,需要設(shè)定
    df:ST合并表:實施ST 和 撤銷ST
    st_start_date:2020-01-01
    st_end_date:2020-12-31
    
    """
    lenth_df = len(df)
    status_list = []
    for idx in range(len(df)):
        #print(idx)
        op = df.at[idx,'操作']
        op_date = df.at[idx,'操作日期']

        #1、實施及撤銷操作前后的狀態(tài)處理
        if op == '實施':
            #print('實施')
            #----實施前----
            status_before_op = "正常"
            if '*ST'in df.at[idx,'操作前簡稱']:
                #print(f"操作前為:*ST")
                status_before_op = "*ST"
            else:
                if 'ST' in df.at[idx,'操作前簡稱']:
                    #print(f"操作前為:ST")
                    status_before_op = "ST"               

            #----實施后----    
            status_after_op = "正常"
            if '*ST'in df.at[idx,'操作后簡稱']:
                #print(f"操作后為:*ST")
                status_after_op = "*ST"
            else:
                if 'ST' in df.at[idx,'操作后簡稱']:
                    #print(f"操作后為:ST")
                    status_after_op = "ST"
            if '退' in df.at[idx,'操作后簡稱']:
                #print(f"操作后為:退")
                status_after_op = "退"

        elif op == '撤銷':
            #print("撤銷")
            #----撤銷前---- 
            status_before_op = "正常"
            if '*ST'in df.at[idx,'操作前簡稱']:
                #print(f"操作前為:*ST")
                status_before_op = "*ST"
            else:
                if 'ST' in df.at[idx,'操作前簡稱']:
                    #print(f"操作前為:ST")
                    status_before_op = "ST"
            if '退' in df.at[idx,'操作前簡稱']:
                #print(f"操作后為:退")
                status_before_op = "退"

            #----撤銷后----
            status_after_op = "正常"
            if '*ST'in df.at[idx,'操作后簡稱']:
                #print(f"操作后為:*ST")
                status_after_op = "*ST"
            else:
                if 'ST' in df.at[idx,'操作后簡稱']:
                    #print(f"操作后為:ST")
                    status_after_op = "ST"
            if '退' in df.at[idx,'操作后簡稱']:
                #print(f"操作后為:退")
                status_after_op = "退"  

        #2腔寡、狀態(tài)對應(yīng)的時間段處理
        if idx == 0:  #當前為第一條記錄   
            #增加一段:起始日期到當前日期的狀態(tài)
            start_date_1 = pd.to_datetime(st_start_date)
            end_date_1 = op_date - pd.DateOffset(days = 1)
            status_cur_1 = status_before_op
            status_list.append([start_date_1,end_date_1,status_cur_1])

            #當前日期及之后的狀態(tài)處理
            start_date_2 = op_date        
            if idx < lenth_df - 1:   #不是最后一條記錄焚鲜,日期取下一次操作的日期
                end_date_2 = op_date = df.at[idx + 1,'操作日期']  
                end_date_2 = end_date_2 - pd.DateOffset(days = 1)
            elif idx == lenth_df - 1: #確定是最后一條記錄,日期取2019-12-31
                end_date_2 = pd.to_datetime(st_end_date)
            status_cur_2 = status_after_op
            status_list.append([start_date_2,end_date_2,status_cur_2])        
            #print(f"op = {op},op_date = {op_date}  status_before_op = {status_before_op} status_after_op = {status_after_op} ")   
        elif idx > 0: #當前為第一條記錄 
            #當前日期及之后的狀態(tài)處理
            start_date_2 = op_date
            if idx < lenth_df - 1:   #不是最后一條記錄放前,日期取下一次操作的日期
                end_date_2 = df.at[idx + 1,'操作日期']  
                end_date_2 = end_date_2 - pd.DateOffset(days = 1)
            elif idx == lenth_df - 1: #確定是最后一條記錄忿磅,日期取2019-12-31
                end_date_2 = pd.to_datetime(st_start_date)
            status_cur_2 = status_after_op
            status_list.append([start_date_2,end_date_2,status_cur_2])        
            #print(f"op = {op},op_date = {op_date}  status_before_op = {status_before_op} status_after_op = {status_after_op} ") 

    df_tmp = pd.DataFrame(status_list)
    df_tmp.columns = ['起始日期','結(jié)束日期','狀態(tài)']
    df_tmp
    return df_tmp


# .1、設(shè)置【起始日期】和【終止日期】
def get_st(last_3years_date,today_date):
    """
    
    """
    # 生成ST信息

    # .2凭语、讀取【實施ST】
    dd = w.wset("carryoutspecialtreatment", f"startdate={last_3years_date};enddate={today_date}", usedf=True)
    df = dd[1]
    do_st_df = df[["wind_code","implementation_date","name_before","name_after"]]
    do_st_df.columns=['代碼','操作日期','操作前簡稱','操作后簡稱']
    do_st_df['操作'] = '實施'
    do_st_df.index = do_st_df.index + do_st_df['操作']
    #print(do_st_df.head(2))

    # .3葱她、讀取【撤銷ST】
    dd = w.wset("cancelspecialtreatment",f"startdate={last_3years_date};enddate={today_date}", usedf=True)
    df = dd[1]
    undo_st_df = df[["wind_code","implementation_date","name_before","name_after"]]
    undo_st_df.columns=['代碼','操作日期','操作前簡稱','操作后簡稱']
    undo_st_df['操作'] = '撤銷'
    undo_st_df.index = undo_st_df.index + undo_st_df['操作']
    #print(undo_st_df.head(2))

    # .4、雙表合并
    st_df = pd.DataFrame()
    st_df = st_df.append(do_st_df).append(undo_st_df)
    #print(f"{len(do_st_df)},{len(undo_st_df)}")
    #print(len(st_df))

    # .5似扔、計算st信息
    st_dict = get_st_dict(st_df,last_3years_date,today_date)  #{last_3years_date};enddate={today_date}"

    #print(len(st_dict))
    #print(list(st_dict.keys())[0])
    #display(st_dict["000010.SZ"])
    
    return st_dict

#判斷篩選出來的股票集合吨些,在指定的日期,它們是否在停牌字典里炒辉,并且當前處于停牌狀態(tài)
def get_st_stocks(st_dict:dict,select_stocks:set,check_date:str)->set:
    keys_set = set(st_dict.keys())
    #print(len(keys_set))
    common_set = select_stocks & keys_set
    #print(len(common_set))
    
    common_set
    res_set = set()
    for item in common_set:
        #display(st_dict[item])
        df = st_dict[item]
        df1 = df.query("(起始日期 <= @check_date <= 結(jié)束日期) & (狀態(tài) != '正常')")
        if len(df1) >=1:
            #print("處于停牌狀態(tài)")
            res_set.add(item)
        else:
            #print("處于正常狀態(tài)")
            pass
            
    return res_set  

main流程

#獲取A股列表    API--WSD日期序列 -- 直接拉清單
all_stocks = a_stock_list

print("指定的截止日期為today = ",today)
beginDate = substract_date_years(today,3)      #得到今天往前推3年的日期豪墅,作為上市日期起始判斷值 


# 1、選取符合上市日期的股票列表
df = get_shangshi_date(all_stocks)             #獲取上市日期df
beginDate = pd.to_datetime(beginDate)
df = df.query("上市日期 <= @beginDate")
select_stocks = df.index.tolist()
print("上市日期篩選后的股票",len(select_stocks))

# 2黔寇、 近21個交易日成交額大于63億
df = get_amount_nDays(select_stocks,20,today)
df = df.query("N日成交額>= 6300000000")         #近21日成交額總計大于63億       
select_stocks = df.index.tolist()              #更新股票列表
print("近21個交易日成交額大于63億",len(select_stocks))


# 3偶器、第一大股東質(zhì)押率小于80%
df = get_dagudong_zhiya_zhanbi(select_stocks,today)   
df = df.query("大股東質(zhì)押占比 < 80")
#display(df)
select_stocks = df.index.tolist()              #更新股票列表
print("第一大股東質(zhì)押率小于80%",len(select_stocks))


# 4、歸屬母公司凈利潤判斷 
"""
在1月1日-8月30日之間的缝裤,選用上一年度報告凈利潤屏轰;
在9月1日-10月31日之間的,選用當年半年報數(shù)據(jù)*2倘是;
在11月1日-12月31日的亭枷,選用本年度3季報數(shù)據(jù)*4/3
"""
month = pd.to_datetime(today).month
year = pd.to_datetime(today).year
if 1 <= month <= 8:              #在1月1日-8月30日之間的,選用上一年度報告凈利潤搀崭;
    last_year = year - 1
    last_year_nianbao_date = f"{last_year}1231"
    df = get_guishu_mugongsi_jinglirun(select_stocks,last_year_nianbao_date)    
elif 9 <= month <= 10:
    this_year_banNianBao_date = f"{year}0630"
    df = get_guishu_mugongsi_jinglirun(select_stocks,this_year_banNianBao_date)
    df['歸屬母公司的凈利潤'] = df.eval("歸屬母公司的凈利潤 * 2")

elif 11 <= month <= 12:    
    this_year_quarter3_date = f"{year}0930"
    df = get_guishu_mugongsi_jinglirun(select_stocks,this_year_quarter3_date)
    df['歸屬母公司的凈利潤'] = df.eval("歸屬母公司的凈利潤 * 4/3")

df = df.query("歸屬母公司的凈利潤 >= 50000000 ")  #文檔顯示為1億
select_stocks = df.index.tolist()
print("歸屬母公司的凈利潤:",len(select_stocks))


# 5叨粘、審核意見處理:排除“標準無保留意見”之外的其它股票
sjyj_df:pd.DataFrame = get_shenjiyijian(select_stocks,'20181231')  #獲取審計意見df
df2 = sjyj_df.query("審計意見類別 !='標準無保留意見' ")              #篩選非標意見的股票
feibiao_stocks_set = set(df2.index)                                #非標準意見的股票集合
final_select_stocks = set(select_stocks) - feibiao_stocks_set      #最終選股股票 = 排除了非標意見的股票 
print(f"萬礦選股結(jié)束,選出的股票數(shù)量為:{len(final_select_stocks)}")


# 6猾编、ST信息獲取
last_3years_date = substract_date_years(today_date.replace("-",""),3) 
st_dict = get_st(last_3years_date,today_date)
print(f"ST信息獲取,共獲取停牌股票數(shù)量:{len(st_dict)}")

# 7升敲、刨除ST的股票
st_set = get_st_stocks(st_dict,final_select_stocks,today)
final_select_stocks  = final_select_stocks - st_set
print(f"ST停牌的股票:{len(st_set)}")
print(f"最終選出的股票只數(shù):{len(final_select_stocks)}")

運行結(jié)果

指定的截止日期為today = 20210914
上市日期篩選后的股票 3496
近21個交易日成交額大于x億 941
第一大股東質(zhì)押率小于80% 900
歸屬母公司的凈利潤: 823
萬礦選股結(jié)束,選出的股票數(shù)量為:817
停牌字典處理完畢答倡!
ST信息獲取,共獲取停牌股票數(shù)量:836
ST停牌的股票:1
最終選出的股票只數(shù):816

{'000001.SZ',
'000002.SZ',
'000009.SZ',
'000012.SZ',
'000027.SZ',
'000039.SZ',
'000050.SZ',
'000060.SZ',
'000063.SZ',
'000066.SZ',
'000100.SZ',
'000155.SZ',
'000157.SZ',
'000158.SZ',
'000166.SZ',
'000301.SZ',
'000333.SZ',
'000338.SZ',
'000400.SZ',
'000401.SZ',
'000422.SZ',
'000425.SZ',
'000488.SZ',
'000507.SZ',
'000516.SZ',
'000519.SZ',
'000528.SZ',
'000538.SZ',
'000547.SZ',
'000559.SZ',
'000568.SZ',
'000576.SZ',
'000581.SZ',
'000591.SZ',
'000596.SZ',
'000612.SZ',
'000623.SZ',
'000625.SZ',
'000629.SZ',
'000630.SZ',
'000635.SZ',
'000636.SZ',
'000651.SZ',
'000655.SZ',
'000657.SZ',
'000661.SZ',
'000672.SZ',
'000681.SZ',
'000686.SZ',
'000698.SZ',
'000703.SZ',
'000709.SZ',
'000717.SZ',
'000725.SZ',
'000728.SZ',
'000731.SZ',
'000733.SZ',
'000738.SZ',
'000739.SZ',
'000750.SZ',
'000751.SZ',
'000758.SZ',
'000761.SZ',
'000768.SZ',
'000776.SZ',
'000778.SZ',
'000783.SZ',
'000786.SZ',
'000789.SZ',
'000791.SZ',
'000799.SZ',
'000800.SZ',
'000807.SZ',
'000818.SZ',
'000821.SZ',
'000825.SZ',
'000829.SZ',
'000830.SZ',
'000831.SZ',
'000833.SZ',
'000837.SZ',
'000848.SZ',
'000858.SZ',
'000860.SZ',
'000862.SZ',
'000875.SZ',
'000876.SZ',
'000877.SZ',
'000878.SZ',
'000883.SZ',
'000887.SZ',
'000893.SZ',
'000895.SZ',
'000898.SZ',
'000902.SZ',
'000923.SZ',
'000932.SZ',
'000933.SZ',
'000935.SZ',
'000938.SZ',
'000949.SZ',
'000960.SZ',
'000962.SZ',
'000963.SZ',
'000966.SZ',
'000968.SZ',
'000969.SZ',
'000970.SZ',
'000975.SZ',
'000977.SZ',
'000983.SZ',
'000988.SZ',
'000990.SZ',
'000997.SZ',
'000998.SZ',
'001979.SZ',
'002001.SZ',
'002004.SZ',
'002007.SZ',
'002008.SZ',
'002009.SZ',
'002010.SZ',
'002013.SZ',
'002023.SZ',
'002025.SZ',
'002026.SZ',
'002027.SZ',
'002028.SZ',
'002030.SZ',
'002036.SZ',
'002041.SZ',
'002044.SZ',
'002048.SZ',
'002049.SZ',
'002050.SZ',
'002056.SZ',
'002057.SZ',
'002060.SZ',
'002064.SZ',
'002068.SZ',
'002074.SZ',
'002075.SZ',
'002078.SZ',
'002079.SZ',
'002080.SZ',
'002091.SZ',
'002092.SZ',
'002097.SZ',
'002108.SZ',
'002110.SZ',
'002120.SZ',
'002123.SZ',
'002125.SZ',
'002127.SZ',
'002128.SZ',
'002129.SZ',
'002130.SZ',
'002131.SZ',
'002132.SZ',
'002135.SZ',
'002136.SZ',
'002138.SZ',
'002139.SZ',
'002140.SZ',
'002142.SZ',
'002145.SZ',
'002149.SZ',
'002151.SZ',
'002155.SZ',
'002156.SZ',
'002169.SZ',
'002170.SZ',
'002171.SZ',
'002176.SZ',
'002179.SZ',
'002180.SZ',
'002182.SZ',
'002183.SZ',
'002184.SZ',
'002185.SZ',
'002191.SZ',
'002192.SZ',
'002201.SZ',
'002202.SZ',
'002206.SZ',
'002214.SZ',
'002218.SZ',
'002221.SZ',
'002223.SZ',
'002230.SZ',
'002233.SZ',
'002236.SZ',
'002237.SZ',
'002240.SZ',
'002241.SZ',
'002245.SZ',
'002249.SZ',
'002254.SZ',
'002258.SZ',
'002266.SZ',
'002270.SZ',
'002271.SZ',
'002273.SZ',
'002274.SZ',
'002283.SZ',
'002285.SZ',
'002286.SZ',
'002288.SZ',
'002291.SZ',
'002297.SZ',
'002300.SZ',
'002304.SZ',
'002311.SZ',
'002312.SZ',
'002318.SZ',
'002326.SZ',
'002335.SZ',
'002340.SZ',
'002346.SZ',
'002350.SZ',
'002352.SZ',
'002353.SZ',
'002368.SZ',
'002371.SZ',
'002378.SZ',
'002382.SZ',
'002384.SZ',
'002385.SZ',
'002386.SZ',
'002389.SZ',
'002396.SZ',
'002402.SZ',
'002407.SZ',
'002409.SZ',
'002410.SZ',
'002413.SZ',
'002414.SZ',
'002415.SZ',
'002428.SZ',
'002436.SZ',
'002442.SZ',
'002453.SZ',
'002455.SZ',
'002459.SZ',
'002460.SZ',
'002465.SZ',
'002472.SZ',
'002475.SZ',
'002487.SZ',
'002493.SZ',
'002497.SZ',
'002498.SZ',
'002507.SZ',
'002508.SZ',
'002511.SZ',
'002518.SZ',
'002520.SZ',
'002531.SZ',
'002532.SZ',
'002533.SZ',
'002539.SZ',
'002555.SZ',
'002559.SZ',
'002568.SZ',
'002585.SZ',
'002594.SZ',
'002597.SZ',
'002598.SZ',
'002600.SZ',
'002601.SZ',
'002607.SZ',
'002611.SZ',
'002612.SZ',
'002617.SZ',
'002624.SZ',
'002636.SZ',
'002645.SZ',
'002648.SZ',
'002673.SZ',
'002709.SZ',
'002714.SZ',
'002733.SZ',
'002736.SZ',
'002738.SZ',
'002741.SZ',
'002745.SZ',
'002747.SZ',
'002756.SZ',
'002759.SZ',
'002791.SZ',
'002797.SZ',
'002812.SZ',
'002821.SZ',
'002837.SZ',
'002850.SZ',
'002895.SZ',
'002897.SZ',
'002920.SZ',
'002922.SZ',
'002926.SZ',
'300001.SZ',
'300002.SZ',
'300003.SZ',
'300007.SZ',
'300012.SZ',
'300014.SZ',
'300015.SZ',
'300017.SZ',
'300019.SZ',
'300031.SZ',
'300033.SZ',
'300034.SZ',
'300035.SZ',
'300036.SZ',
'300037.SZ',
'300040.SZ',
'300041.SZ',
'300059.SZ',
'300065.SZ',
'300070.SZ',
'300073.SZ',
'300079.SZ',
'300082.SZ',
'300087.SZ',
'300088.SZ',
'300091.SZ',
'300099.SZ',
'300101.SZ',
'300113.SZ',
'300115.SZ',
'300118.SZ',
'300122.SZ',
'300124.SZ',
'300127.SZ',
'300129.SZ',
'300131.SZ',
'300136.SZ',
'300142.SZ',
'300146.SZ',
'300171.SZ',
'300173.SZ',
'300177.SZ',
'300179.SZ',
'300183.SZ',
'300185.SZ',
'300188.SZ',
'300203.SZ',
'300207.SZ',
'300212.SZ',
'300221.SZ',
'300223.SZ',
'300224.SZ',
'300227.SZ',
'300228.SZ',
'300229.SZ',
'300236.SZ',
'300241.SZ',
'300260.SZ',
'300263.SZ',
'300265.SZ',
'300271.SZ',
'300274.SZ',
'300285.SZ',
'300294.SZ',
'300302.SZ',
'300303.SZ',
'300311.SZ',
'300316.SZ',
'300319.SZ',
'300320.SZ',
'300323.SZ',
'300327.SZ',
'300329.SZ',
'300339.SZ',
'300342.SZ',
'300346.SZ',
'300347.SZ',
'300350.SZ',
'300358.SZ',
'300369.SZ',
'300373.SZ',
'300376.SZ',
'300377.SZ',
'300378.SZ',
'300379.SZ',
'300382.SZ',
'300390.SZ',
'300393.SZ',
'300395.SZ',
'300408.SZ',
'300409.SZ',
'300413.SZ',
'300418.SZ',
'300428.SZ',
'300432.SZ',
'300433.SZ',
'300435.SZ',
'300438.SZ',
'300441.SZ',
'300443.SZ',
'300450.SZ',
'300454.SZ',
'300456.SZ',
'300457.SZ',
'300458.SZ',
'300460.SZ',
'300474.SZ',
'300476.SZ',
'300483.SZ',
'300487.SZ',
'300488.SZ',
'300490.SZ',
'300496.SZ',
'300497.SZ',
'300500.SZ',
'300502.SZ',
'300503.SZ',
'300508.SZ',
'300527.SZ',
'300529.SZ',
'300558.SZ',
'300567.SZ',
'300568.SZ',
'300569.SZ',
'300576.SZ',
'300581.SZ',
'300582.SZ',
'300590.SZ',
'300593.SZ',
'300595.SZ',
'300598.SZ',
'300601.SZ',
'300604.SZ',
'300607.SZ',
'300610.SZ',
'300613.SZ',
'300618.SZ',
'300623.SZ',
'300629.SZ',
'300631.SZ',
'300648.SZ',
'300655.SZ',
'300657.SZ',
'300661.SZ',
'300663.SZ',
'300671.SZ',
'300672.SZ',
'300677.SZ',
'300679.SZ',
'300693.SZ',
'300696.SZ',
'300699.SZ',
'300708.SZ',
'300712.SZ',
'300719.SZ',
'300724.SZ',
'300725.SZ',
'300726.SZ',
'300727.SZ',
'300737.SZ',
'300747.SZ',
'300750.SZ',
'600000.SH',
'600006.SH',
'600008.SH',
'600010.SH',
'600011.SH',
'600016.SH',
'600018.SH',
'600019.SH',
'600021.SH',
'600022.SH',
'600023.SH',
'600025.SH',
'600027.SH',
'600028.SH',
'600030.SH',
'600031.SH',
'600036.SH',
'600038.SH',
'600039.SH',
'600048.SH',
'600050.SH',
'600055.SH',
'600061.SH',
'600063.SH',
'600066.SH',
'600072.SH',
'600075.SH',
'600079.SH',
'600085.SH',
'600089.SH',
'600095.SH',
'600096.SH',
'600104.SH',
'600109.SH',
'600110.SH',
'600111.SH',
'600116.SH',
'600118.SH',
'600123.SH',
'600126.SH',
'600132.SH',
'600141.SH',
'600143.SH',
'600150.SH',
'600151.SH',
'600160.SH',
'600161.SH',
'600163.SH',
'600166.SH',
'600171.SH',
'600176.SH',
'600183.SH',
'600185.SH',
'600188.SH',
'600196.SH',
'600197.SH',
'600199.SH',
'600206.SH',
'600210.SH',
'600216.SH',
'600218.SH',
'600219.SH',
'600223.SH',
'600230.SH',
'600251.SH',
'600256.SH',
'600259.SH',
'600268.SH',
'600273.SH',
'600276.SH',
'600282.SH',
'600295.SH',
'600297.SH',
'600298.SH',
'600307.SH',
'600308.SH',
'600309.SH',
'600312.SH',
'600316.SH',
'600328.SH',
'600330.SH',
'600332.SH',
'600338.SH',
'600346.SH',
'600348.SH',
'600352.SH',
'600360.SH',
'600361.SH',
'600362.SH',
'600363.SH',
'600366.SH',
'600367.SH',
'600369.SH',
'600372.SH',
'600379.SH',
'600383.SH',
'600389.SH',
'600392.SH',
'600395.SH',
'600406.SH',
'600409.SH',
'600418.SH',
'600426.SH',
'600428.SH',
'600435.SH',
'600436.SH',
'600438.SH',
'600456.SH',
'600459.SH',
'600460.SH',
'600470.SH',
'600481.SH',
'600482.SH',
'600483.SH',
'600487.SH',
'600489.SH',
'600497.SH',
'600499.SH',
'600500.SH',
'600507.SH',
'600509.SH',
'600516.SH',
'600517.SH',
'600519.SH',
'600522.SH',
'600529.SH',
'600531.SH',
'600536.SH',
'600546.SH',
'600547.SH',
'600549.SH',
'600552.SH',
'600559.SH',
'600563.SH',
'600567.SH',
'600569.SH',
'600577.SH',
'600580.SH',
'600581.SH',
'600582.SH',
'600584.SH',
'600585.SH',
'600586.SH',
'600587.SH',
'600588.SH',
'600590.SH',
'600596.SH',
'600600.SH',
'600618.SH',
'600621.SH',
'600623.SH',
'600641.SH',
'600660.SH',
'600667.SH',
'600673.SH',
'600685.SH',
'600688.SH',
'600690.SH',
'600691.SH',
'600699.SH',
'600702.SH',
'600703.SH',
'600704.SH',
'600707.SH',
'600711.SH',
'600720.SH',
'600727.SH',
'600732.SH',
'600737.SH',
'600739.SH',
'600740.SH',
'600741.SH',
'600745.SH',
'600746.SH',
'600755.SH',
'600760.SH',
'600763.SH',
'600765.SH',
'600773.SH',
'600779.SH',
'600782.SH',
'600795.SH',
'600801.SH',
'600803.SH',
'600808.SH',
'600809.SH',
'600810.SH',
'600837.SH',
'600845.SH',
'600859.SH',
'600862.SH',
'600863.SH',
'600872.SH',
'600873.SH',
'600875.SH',
'600879.SH',
'600882.SH',
'600884.SH',
'600885.SH',
'600887.SH',
'600888.SH',
'600893.SH',
'600900.SH',
'600909.SH',
'600919.SH',
'600926.SH',
'600958.SH',
'600961.SH',
'600963.SH',
'600966.SH',
'600970.SH',
'600985.SH',
'600988.SH',
'600993.SH',
'600997.SH',
'600999.SH',
'601001.SH',
'601005.SH',
'601009.SH',
'601011.SH',
'601012.SH',
'601015.SH',
'601016.SH',
'601058.SH',
'601066.SH',
'601088.SH',
'601100.SH',
'601101.SH',
'601106.SH',
'601108.SH',
'601117.SH',
'601126.SH',
'601138.SH',
'601139.SH',
'601166.SH',
'601168.SH',
'601169.SH',
'601179.SH',
'601186.SH',
'601198.SH',
'601211.SH',
'601216.SH',
'601222.SH',
'601225.SH',
'601233.SH',
'601238.SH',
'601288.SH',
'601311.SH',
'601318.SH',
'601328.SH',
'601336.SH',
'601369.SH',
'60......

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驴党,一起剝皮案震驚了整個濱河市瘪撇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌港庄,老刑警劉巖倔既,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鹏氧,居然都是意外死亡渤涌,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門把还,熙熙樓的掌柜王于貴愁眉苦臉地迎上來实蓬,“玉大人,你說我怎么就攤上這事吊履“仓澹” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵艇炎,是天一觀的道長酌伊。 經(jīng)常有香客問我,道長冕臭,這世上最難降的妖魔是什么腺晾? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮辜贵,結(jié)果婚禮上悯蝉,老公的妹妹穿的比我還像新娘。我一直安慰自己托慨,他們只是感情好鼻由,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著厚棵,像睡著了一般蕉世。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上婆硬,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天狠轻,我揣著相機與錄音,去河邊找鬼彬犯。 笑死向楼,一個胖子當著我的面吹牛查吊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播湖蜕,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼逻卖,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了昭抒?” 一聲冷哼從身側(cè)響起评也,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灭返,沒想到半個月后盗迟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡婆殿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年诈乒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片婆芦。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖喂饥,靈堂內(nèi)的尸體忽然破棺而出消约,到底是詐尸還是另有隱情,我是刑警寧澤员帮,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布或粮,位于F島的核電站,受9級特大地震影響捞高,放射性物質(zhì)發(fā)生泄漏氯材。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一硝岗、第九天 我趴在偏房一處隱蔽的房頂上張望氢哮。 院中可真熱鬧,春花似錦型檀、人聲如沸冗尤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裂七。三九已至,卻和暖如春仓坞,著一層夾襖步出監(jiān)牢的瞬間背零,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工无埃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留徙瓶,地道東北人川蒙。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像癞尚,于是被迫代替她去往敵國和親韭邓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容