From 43d05b417969aecd3ed6945da82b1e484daab98d Mon Sep 17 00:00:00 2001 From: LouisHong <30621586+Activer007@users.noreply.github.com> Date: Mon, 25 May 2026 20:26:24 +0800 Subject: [PATCH] feat: Enhance A-share stock name correction and index generation (#1462) - Improved `fetch_tushare_stock_list.py` to support A-share name corrections for stocks with prefixes XD/XR/DR/N/C using the `--a-rk` option. - Updated documentation to reflect the new functionality and usage of the correction script. - Added a new script `refresh_stock_index.py` to automate the fetching of stock lists and index generation. - Implemented tests for the new features, ensuring the correct functionality of stock name corrections and index generation. - Enhanced error handling for missing dependencies and improved user feedback during execution. --- apps/dsa-web/public/stocks.index.json | 525 ++++++++++++++----------- docs/CHANGELOG.md | 2 + docs/TUSHARE_STOCK_LIST_GUIDE.md | 30 +- scripts/fetch_tushare_stock_list.py | 173 +++++++- scripts/generate_index_from_csv.py | 49 ++- scripts/refresh_stock_index.py | 97 +++++ tests/test_fetch_tushare_stock_list.py | 152 +++++++ tests/test_generate_index_from_csv.py | 59 ++- tests/test_refresh_stock_index.py | 38 ++ 9 files changed, 859 insertions(+), 266 deletions(-) create mode 100644 scripts/refresh_stock_index.py create mode 100644 tests/test_fetch_tushare_stock_list.py create mode 100644 tests/test_refresh_stock_index.py diff --git a/apps/dsa-web/public/stocks.index.json b/apps/dsa-web/public/stocks.index.json index f77465274..4c5ce56c4 100644 --- a/apps/dsa-web/public/stocks.index.json +++ b/apps/dsa-web/public/stocks.index.json @@ -1,29 +1,29 @@ [ ["000001.SZ","000001","平安银行","pinganyinhang","payh",["平银"],"CN","stock",true,100], -["000002.SZ","000002","万科A","wankeA","wkA",[],"CN","stock",true,100], +["000002.SZ","000002","万科A","wankeA","wkA",[],"CN","stock",true,100], ["000004.SZ","000004","*ST国华","guohua","gh",[],"CN","stock",true,100], -["000006.SZ","000006","深振业A","shenzhenyeA","szyA",[],"CN","stock",true,100], +["000006.SZ","000006","深振业A","shenzhenyeA","szyA",[],"CN","stock",true,100], ["000007.SZ","000007","全新好","quanxinhao","qxh",[],"CN","stock",true,100], ["000008.SZ","000008","神州高铁","shenzhougaotie","szgt",[],"CN","stock",true,100], ["000009.SZ","000009","中国宝安","zhongguobaoan","zgba",[],"CN","stock",true,100], -["000010.SZ","000010","美丽生态","meilishengtai","mlst",[],"CN","stock",true,100], +["000010.SZ","000010","*ST美丽","meili","ml",[],"CN","stock",true,100], ["000011.SZ","000011","深物业A","shenwuyeA","swyA",[],"CN","stock",true,100], -["000012.SZ","000012","南玻A","nanboA","nbA",[],"CN","stock",true,100], +["000012.SZ","000012","南玻A","nanboA","nbA",[],"CN","stock",true,100], ["000014.SZ","000014","沙河股份","shahegufen","shgf",[],"CN","stock",true,100], -["000016.SZ","000016","深康佳A","shenkangjiaA","skjA",[],"CN","stock",true,100], +["000016.SZ","000016","*ST康佳A","kangjiaA","kjA",[],"CN","stock",true,100], ["000017.SZ","000017","深中华A","shenzhonghuaA","szhA",[],"CN","stock",true,100], ["000019.SZ","000019","深粮控股","shenliangkonggu","slkg",[],"CN","stock",true,100], -["000020.SZ","000020","深华发A","shenhuafaA","shfA",[],"CN","stock",true,100], +["000020.SZ","000020","深华发A","shenhuafaA","shfA",[],"CN","stock",true,100], ["000021.SZ","000021","深科技","shenkeji","skj",[],"CN","stock",true,100], ["001872.SZ","001872","招商港口","zhaoshanggangkou","zsgk",[],"CN","stock",true,100], -["000025.SZ","000025","特力A","teliA","tlA",[],"CN","stock",true,100], +["000025.SZ","000025","特力A","teliA","tlA",[],"CN","stock",true,100], ["000026.SZ","000026","飞亚达","feiyada","fyd",[],"CN","stock",true,100], ["000027.SZ","000027","深圳能源","shenzhennengyuan","szny",[],"CN","stock",true,100], ["000028.SZ","000028","国药一致","guoyaoyizhi","gyyz",[],"CN","stock",true,100], -["000029.SZ","000029","深深房A","shenshenfangA","ssfA",[],"CN","stock",true,100], +["000029.SZ","000029","深深房A","shenshenfangA","ssfA",[],"CN","stock",true,100], ["000030.SZ","000030","富奥股份","fuaogufen","fagf",[],"CN","stock",true,100], ["000031.SZ","000031","大悦城","dayuecheng","dyc",[],"CN","stock",true,100], -["000032.SZ","000032","深桑达A","shensangdaA","ssdA",[],"CN","stock",true,100], +["000032.SZ","000032","深桑达A","shensangdaA","ssdA",[],"CN","stock",true,100], ["000034.SZ","000034","神州数码","shenzhoushuma","szsm",[],"CN","stock",true,100], ["000035.SZ","000035","中国天楹","zhongguotianying","zgty",[],"CN","stock",true,100], ["000036.SZ","000036","华联控股","hualiankonggu","hlkg",[],"CN","stock",true,100], @@ -31,12 +31,12 @@ ["000039.SZ","000039","中集集团","zhongjijituan","zjjt",[],"CN","stock",true,100], ["000042.SZ","000042","中洲控股","zhongzhoukonggu","zzkg",[],"CN","stock",true,100], ["001914.SZ","001914","招商积余","zhaoshangjiyu","zsjy",[],"CN","stock",true,100], -["000045.SZ","000045","深纺织A","shenfangzhiA","sfzA",[],"CN","stock",true,100], +["000045.SZ","000045","深纺织A","shenfangzhiA","sfzA",[],"CN","stock",true,100], ["000048.SZ","000048","京基智农","jingjizhinong","jjzn",[],"CN","stock",true,100], ["000049.SZ","000049","德赛电池","desaidianchi","dsdc",[],"CN","stock",true,100], -["000050.SZ","000050","深天马A","shentianmaA","stmA",[],"CN","stock",true,100], +["000050.SZ","000050","深天马A","shentianmaA","stmA",[],"CN","stock",true,100], ["000055.SZ","000055","方大集团","fangdajituan","fdjt",[],"CN","stock",true,100], -["000056.SZ","000056","皇庭国际","huangtingguoji","htgj",[],"CN","stock",true,100], +["000056.SZ","000056","*ST皇庭","huangting","ht",[],"CN","stock",true,100], ["000058.SZ","000058","深赛格","shensaige","ssg",[],"CN","stock",true,100], ["000059.SZ","000059","华锦股份","huajingufen","hjgf",[],"CN","stock",true,100], ["000060.SZ","000060","中金岭南","zhongjinlingnan","zjln",[],"CN","stock",true,100], @@ -46,9 +46,9 @@ ["000065.SZ","000065","北方国际","beifangguoji","bfgj",[],"CN","stock",true,100], ["000066.SZ","000066","中国长城","zhongguochangcheng","zgcc",[],"CN","stock",true,100], ["000068.SZ","000068","华控赛格","huakongsaige","hksg",[],"CN","stock",true,100], -["000069.SZ","000069","华侨城A","huaqiaochengA","hqcA",[],"CN","stock",true,100], +["000069.SZ","000069","华侨城A","huaqiaochengA","hqcA",[],"CN","stock",true,100], ["000070.SZ","000070","特发信息","tefaxinxi","tfxx",[],"CN","stock",true,100], -["000078.SZ","000078","海王生物","haiwangshengwu","hwsw",[],"CN","stock",true,100], +["000078.SZ","000078","ST海王","haiwang","hw",[],"CN","stock",true,100], ["000088.SZ","000088","盐田港","yantiangang","ytg",[],"CN","stock",true,100], ["000089.SZ","000089","深圳机场","shenzhenjichang","szjc",[],"CN","stock",true,100], ["000090.SZ","000090","天健集团","tianjianjituan","tjjt",[],"CN","stock",true,100], @@ -83,8 +83,8 @@ ["000425.SZ","000425","徐工机械","xugongjixie","xgjx",[],"CN","stock",true,100], ["000426.SZ","000426","兴业银锡","xingyeyinxi","xyyx",[],"CN","stock",true,100], ["000428.SZ","000428","华天酒店","huatianjiudian","htjd",[],"CN","stock",true,100], -["000429.SZ","000429","粤高速A","yuegaosuA","ygsA",[],"CN","stock",true,100], -["000430.SZ","000430","ST张家界","zhangjiajie","zjj",[],"CN","stock",true,100], +["000429.SZ","000429","粤高速A","yuegaosuA","ygsA",[],"CN","stock",true,100], +["000430.SZ","000430","张家界","zhangjiajie","zjj",[],"CN","stock",true,100], ["000488.SZ","000488","ST晨鸣","chenming","cm",[],"CN","stock",true,100], ["000498.SZ","000498","山东路桥","shandongluqiao","sdlq",[],"CN","stock",true,100], ["000501.SZ","000501","武商集团","wushangjituan","wsjt",[],"CN","stock",true,100], @@ -99,7 +99,7 @@ ["000514.SZ","000514","渝开发","yukaifa","ykf",[],"CN","stock",true,100], ["000516.SZ","000516","国际医学","guojiyixue","gjyx",[],"CN","stock",true,100], ["000517.SZ","000517","荣安地产","rongandichan","radc",[],"CN","stock",true,100], -["000518.SZ","000518","*ST四环","sihuan","sh",[],"CN","stock",true,100], +["000518.SZ","000518","四环生物","sihuanshengwu","shsw",[],"CN","stock",true,100], ["000519.SZ","000519","中兵红箭","zhongbinghongjian","zbhj",[],"CN","stock",true,100], ["000520.SZ","000520","凤凰航运","fenghuanghangyun","fhhy",[],"CN","stock",true,100], ["000521.SZ","000521","长虹美菱","changhongmeiling","chml",[],"CN","stock",true,100], @@ -110,14 +110,14 @@ ["000528.SZ","000528","柳工","liugong","lg",[],"CN","stock",true,100], ["000529.SZ","000529","广弘控股","guanghongkonggu","ghkg",[],"CN","stock",true,100], ["000530.SZ","000530","冰山冷热","bingshanlengre","bslr",[],"CN","stock",true,100], -["000531.SZ","000531","穗恒运A","suihengyunA","shyA",[],"CN","stock",true,100], +["000531.SZ","000531","穗恒运A","suihengyunA","shyA",[],"CN","stock",true,100], ["000532.SZ","000532","华金资本","huajinziben","hjzb",[],"CN","stock",true,100], ["000533.SZ","000533","顺钠股份","shunnagufen","sngf",[],"CN","stock",true,100], ["000534.SZ","000534","万泽股份","wanzegufen","wzgf",[],"CN","stock",true,100], ["000536.SZ","000536","华映科技","huayingkeji","hykj",[],"CN","stock",true,100], ["000537.SZ","000537","绿发电力","lvfadianli","lfdl",[],"CN","stock",true,100], ["000538.SZ","000538","云南白药","yunnanbaiyao","ynby",[],"CN","stock",true,100], -["000539.SZ","000539","粤电力A","yuedianliA","ydlA",[],"CN","stock",true,100], +["000539.SZ","000539","粤电力A","yuedianliA","ydlA",[],"CN","stock",true,100], ["000541.SZ","000541","佛山照明","foshanzhaoming","fszm",[],"CN","stock",true,100], ["000543.SZ","000543","皖能电力","wannengdianli","wndl",[],"CN","stock",true,100], ["000544.SZ","000544","中原环保","zhongyuanhuanbao","zyhb",[],"CN","stock",true,100], @@ -136,16 +136,16 @@ ["000559.SZ","000559","万向钱潮","wanxiangqianchao","wxqc",[],"CN","stock",true,100], ["000560.SZ","000560","我爱我家","woaiwojia","wawj",[],"CN","stock",true,100], ["000561.SZ","000561","烽火电子","fenghuodianzi","fhdz",[],"CN","stock",true,100], -["000563.SZ","000563","陕国投A","shanguotouA","sgtA",[],"CN","stock",true,100], +["000563.SZ","000563","陕国投A","shanguotouA","sgtA",[],"CN","stock",true,100], ["000564.SZ","000564","供销大集","gongxiaodaji","gxdj",[],"CN","stock",true,100], -["000565.SZ","000565","渝三峡A","yusanxiaA","ysxA",[],"CN","stock",true,100], +["000565.SZ","000565","渝三峡A","yusanxiaA","ysxA",[],"CN","stock",true,100], ["000566.SZ","000566","海南海药","hainanhaiyao","hnhy",[],"CN","stock",true,100], ["000567.SZ","000567","海德股份","haidegufen","hdgf",[],"CN","stock",true,100], ["000568.SZ","000568","泸州老窖","luzhoulaojiao","lzlj",[],"CN","stock",true,100], -["000570.SZ","000570","苏常柴A","suchangchaiA","sccA",[],"CN","stock",true,100], +["000570.SZ","000570","苏常柴A","suchangchaiA","sccA",[],"CN","stock",true,100], ["000571.SZ","000571","新大洲A","xindazhouA","xdzA",[],"CN","stock",true,100], ["000572.SZ","000572","海马汽车","haimaqiche","hmqc",[],"CN","stock",true,100], -["000573.SZ","000573","粤宏远A","yuehongyuanA","yhyA",[],"CN","stock",true,100], +["000573.SZ","000573","粤宏远A","yuehongyuanA","yhyA",[],"CN","stock",true,100], ["000576.SZ","000576","甘化科工","ganhuakegong","ghkg",[],"CN","stock",true,100], ["000581.SZ","000581","威孚高科","weifugaoke","wfgk",[],"CN","stock",true,100], ["000582.SZ","000582","北部湾港","beibuwangang","bbwg",[],"CN","stock",true,100], @@ -165,9 +165,9 @@ ["000603.SZ","000603","盛达资源","shengdaziyuan","sdzy",[],"CN","stock",true,100], ["000605.SZ","000605","渤海股份","bohaigufen","bhgf",[],"CN","stock",true,100], ["000607.SZ","000607","华媒控股","huameikonggu","hmkg",[],"CN","stock",true,100], -["000608.SZ","000608","*ST阳光","yangguang","yg",[],"CN","stock",true,100], -["000609.SZ","000609","ST中迪","zhongdi","zd",[],"CN","stock",true,100], -["000610.SZ","000610","西安旅游","xianlvyou","xaly",[],"CN","stock",true,100], +["000608.SZ","000608","阳光股份","yangguanggufen","yggf",[],"CN","stock",true,100], +["000609.SZ","000609","*ST中迪","zhongdi","zd",[],"CN","stock",true,100], +["000610.SZ","000610","*ST西旅","xilv","xl",[],"CN","stock",true,100], ["000612.SZ","000612","焦作万方","jiaozuowanfang","jzwf",[],"CN","stock",true,100], ["000615.SZ","000615","*ST美谷","meigu","mg",[],"CN","stock",true,100], ["000617.SZ","000617","中油资本","zhongyouziben","zyzb",[],"CN","stock",true,100], @@ -180,13 +180,13 @@ ["000629.SZ","000629","钒钛股份","fantaigufen","ftgf",[],"CN","stock",true,100], ["000630.SZ","000630","铜陵有色","tonglingyouse","tlys",[],"CN","stock",true,100], ["000631.SZ","000631","顺发恒能","shunfahengneng","sfhn",[],"CN","stock",true,100], -["000632.SZ","000632","三木集团","sanmujituan","smjt",[],"CN","stock",true,100], +["000632.SZ","000632","ST三木","sanmu","sm",[],"CN","stock",true,100], ["000633.SZ","000633","合金投资","hejintouzi","hjtz",[],"CN","stock",true,100], ["000635.SZ","000635","英力特","yinglite","ylt",[],"CN","stock",true,100], ["000636.SZ","000636","风华高科","fenghuagaoke","fhgk",[],"CN","stock",true,100], ["000637.SZ","000637","茂化实华","maohuashihua","mhsh",[],"CN","stock",true,100], ["000638.SZ","000638","*ST万方","wanfang","wf",[],"CN","stock",true,100], -["000639.SZ","000639","西王食品","xiwangshipin","xwsp",[],"CN","stock",true,100], +["000639.SZ","000639","ST西王","xiwang","xw",[],"CN","stock",true,100], ["000650.SZ","000650","仁和药业","renhuoyaoye","rhyy",[],"CN","stock",true,100], ["000651.SZ","000651","格力电器","gelidianqi","gldq",[],"CN","stock",true,100], ["000652.SZ","000652","泰达股份","taidagufen","tdgf",[],"CN","stock",true,100], @@ -202,7 +202,7 @@ ["000670.SZ","000670","盈方微","yingfangwei","yfw",[],"CN","stock",true,100], ["000672.SZ","000672","上峰水泥","shangfengshuini","sfsn",[],"CN","stock",true,100], ["000676.SZ","000676","智度股份","zhidugufen","zdgf",[],"CN","stock",true,100], -["000677.SZ","000677","恒天海龙","hengtianhailong","hthl",[],"CN","stock",true,100], +["000677.SZ","000677","ST海龙","hailong","hl",[],"CN","stock",true,100], ["000678.SZ","000678","襄阳轴承","xiangyangzhoucheng","xyzc",[],"CN","stock",true,100], ["000679.SZ","000679","大连友谊","dalianyouyi","dlyy",[],"CN","stock",true,100], ["000680.SZ","000680","山推股份","shantuigufen","stgf",[],"CN","stock",true,100], @@ -217,7 +217,7 @@ ["000692.SZ","000692","惠天热电","huitianredian","htrd",[],"CN","stock",true,100], ["000695.SZ","000695","滨海能源","binhainengyuan","bhny",[],"CN","stock",true,100], ["001696.SZ","001696","宗申动力","zongshendongli","zsdl",[],"CN","stock",true,100], -["000697.SZ","000697","ST炼石","lianshi","ls",[],"CN","stock",true,100], +["000697.SZ","000697","炼石航空","lianshihangkong","lshk",[],"CN","stock",true,100], ["000698.SZ","000698","ST沈化","shenhua","sh",[],"CN","stock",true,100], ["000700.SZ","000700","模塑科技","mosukeji","mskj",[],"CN","stock",true,100], ["000701.SZ","000701","厦门信达","xiamenxinda","xmxd",[],"CN","stock",true,100], @@ -240,8 +240,8 @@ ["000721.SZ","000721","西安饮食","xianyinshi","xays",[],"CN","stock",true,100], ["000722.SZ","000722","湖南发展","hunanfazhan","hnfz",[],"CN","stock",true,100], ["000723.SZ","000723","美锦能源","meijinnengyuan","mjny",[],"CN","stock",true,100], -["000725.SZ","000725","京东方A","jingdongfangA","jdfA",[],"CN","stock",true,100], -["000726.SZ","000726","鲁泰A","lutaiA","ltA",[],"CN","stock",true,100], +["000725.SZ","000725","京东方A","jingdongfangA","jdfA",[],"CN","stock",true,100], +["000726.SZ","000726","鲁泰A","lutaiA","ltA",[],"CN","stock",true,100], ["000727.SZ","000727","冠捷科技","guanjiekeji","gjkj",[],"CN","stock",true,100], ["000728.SZ","000728","国元证券","guoyuanzhengquan","gyzq",[],"CN","stock",true,100], ["000729.SZ","000729","燕京啤酒","yanjingpijiu","yjpj",[],"CN","stock",true,100], @@ -254,7 +254,7 @@ ["000739.SZ","000739","普洛药业","puluoyaoye","plyy",[],"CN","stock",true,100], ["000750.SZ","000750","国海证券","guohaizhengquan","ghzq",[],"CN","stock",true,100], ["000751.SZ","000751","锌业股份","xinyegufen","xygf",[],"CN","stock",true,100], -["000752.SZ","000752","ST西发","xifa","xf",[],"CN","stock",true,100], +["000752.SZ","000752","*ST西发","xifa","xf",[],"CN","stock",true,100], ["000753.SZ","000753","漳州发展","zhangzhoufazhan","zzfz",[],"CN","stock",true,100], ["000755.SZ","000755","山西高速","shanxigaosu","sxgs",[],"CN","stock",true,100], ["000756.SZ","000756","新华制药","xinhuazhiyao","xhzy",[],"CN","stock",true,100], @@ -304,14 +304,14 @@ ["000822.SZ","000822","山东海化","shandonghaihua","sdhh",[],"CN","stock",true,100], ["000823.SZ","000823","超声电子","chaoshengdianzi","csdz",[],"CN","stock",true,100], ["000825.SZ","000825","太钢不锈","taigangbuxiu","tgbx",[],"CN","stock",true,100], -["000826.SZ","000826","启迪环境","qidihuanjing","qdhj",[],"CN","stock",true,100], +["000826.SZ","000826","*ST启环","qihuan","qh",[],"CN","stock",true,100], ["000828.SZ","000828","东莞控股","dongguankonggu","dgkg",[],"CN","stock",true,100], ["000829.SZ","000829","天音控股","tianyinkonggu","tykg",[],"CN","stock",true,100], ["000830.SZ","000830","鲁西化工","luxihuagong","lxhg",[],"CN","stock",true,100], ["000831.SZ","000831","中国稀土","zhongguoxitu","zgxt",[],"CN","stock",true,100], ["000833.SZ","000833","粤桂股份","yueguigufen","yggf",[],"CN","stock",true,100], ["000837.SZ","000837","秦川机床","qinchuanjichuang","qcjc",[],"CN","stock",true,100], -["000838.SZ","000838","财信发展","caixinfazhan","cxfz",[],"CN","stock",true,100], +["000838.SZ","000838","*ST发展","fazhan","fz",[],"CN","stock",true,100], ["000839.SZ","000839","国安股份","guoangufen","gagf",[],"CN","stock",true,100], ["000848.SZ","000848","承德露露","chengdelulu","cdll",[],"CN","stock",true,100], ["000850.SZ","000850","华茂股份","huamaogufen","hmgf",[],"CN","stock",true,100], @@ -323,7 +323,7 @@ ["000862.SZ","000862","银星能源","yinxingnengyuan","yxny",[],"CN","stock",true,100], ["000863.SZ","000863","三湘印象","sanxiangyinxiang","sxyx",[],"CN","stock",true,100], ["000868.SZ","000868","安凯客车","ankaikeche","akkc",[],"CN","stock",true,100], -["000869.SZ","000869","张裕A","zhangyuA","zyA",[],"CN","stock",true,100], +["000869.SZ","000869","张裕A","zhangyuA","zyA",[],"CN","stock",true,100], ["000875.SZ","000875","电投绿能","diantoulvneng","dtln",[],"CN","stock",true,100], ["000876.SZ","000876","新希望","xinxiwang","xxw",[],"CN","stock",true,100], ["000877.SZ","000877","天山股份","tianshangufen","tsgf",[],"CN","stock",true,100], @@ -335,7 +335,7 @@ ["000885.SZ","000885","城发环境","chengfahuanjing","cfhj",[],"CN","stock",true,100], ["000886.SZ","000886","海南高速","hainangaosu","hngs",[],"CN","stock",true,100], ["000887.SZ","000887","中鼎股份","zhongdinggufen","zdgf",[],"CN","stock",true,100], -["000888.SZ","000888","峨眉山A","emeishanA","emsA",[],"CN","stock",true,100], +["000888.SZ","000888","峨眉山A","emeishanA","emsA",[],"CN","stock",true,100], ["000889.SZ","000889","中嘉博创","zhongjiabochuang","zjbc",[],"CN","stock",true,100], ["000890.SZ","000890","法尔胜","faersheng","fes",[],"CN","stock",true,100], ["000892.SZ","000892","欢瑞世纪","huanruishiji","hrsj",[],"CN","stock",true,100], @@ -351,10 +351,10 @@ ["000903.SZ","000903","ST云动","yundong","yd",[],"CN","stock",true,100], ["000905.SZ","000905","厦门港务","xiamengangwu","xmgw",[],"CN","stock",true,100], ["000906.SZ","000906","浙商中拓","zheshangzhongtuo","zszt",[],"CN","stock",true,100], -["000908.SZ","000908","*ST景峰","jingfeng","jf",[],"CN","stock",true,100], -["000909.SZ","000909","ST数源","shuyuan","sy",[],"CN","stock",true,100], +["000908.SZ","000908","ST景峰","jingfeng","jf",[],"CN","stock",true,100], +["000909.SZ","000909","*ST数源","shuyuan","sy",[],"CN","stock",true,100], ["000910.SZ","000910","大亚圣象","dayashengxiang","dysx",[],"CN","stock",true,100], -["000911.SZ","000911","广农糖业","guangnongtangye","gnty",[],"CN","stock",true,100], +["000911.SZ","000911","*ST广糖","guangtang","gt",[],"CN","stock",true,100], ["000912.SZ","000912","泸天化","lutianhua","lth",[],"CN","stock",true,100], ["000913.SZ","000913","钱江摩托","qianjiangmotuo","qjmt",[],"CN","stock",true,100], ["000915.SZ","000915","华特达因","huatedayin","htdy",[],"CN","stock",true,100], @@ -444,7 +444,7 @@ ["600050.SH","600050","中国联通","zhongguoliantong","zglt",[],"CN","stock",true,100], ["600051.SH","600051","宁波联合","ningbolianhe","nblh",[],"CN","stock",true,100], ["600052.SH","600052","东望时代","dongwangshidai","dwsd",[],"CN","stock",true,100], -["600053.SH","600053","九鼎投资","jiudingtouzi","jdtz",[],"CN","stock",true,100], +["600053.SH","600053","*ST九鼎","jiuding","jd",[],"CN","stock",true,100], ["600054.SH","600054","黄山旅游","huangshanlvyou","hsly",[],"CN","stock",true,100], ["600055.SH","600055","万东医疗","wandongyiliao","wdyl",[],"CN","stock",true,100], ["600056.SH","600056","中国医药","zhongguoyiyao","zgyy",[],"CN","stock",true,100], @@ -465,10 +465,10 @@ ["600076.SH","600076","康欣新材","kangxinxincai","kxxc",[],"CN","stock",true,100], ["600078.SH","600078","澄星股份","chengxinggufen","cxgf",[],"CN","stock",true,100], ["600079.SH","600079","ST人福","renfu","rf",[],"CN","stock",true,100], -["600080.SH","600080","金花股份","jinhuagufen","jhgf",[],"CN","stock",true,100], +["600080.SH","600080","ST金花","jinhua","jh",[],"CN","stock",true,100], ["600081.SH","600081","东风科技","dongfengkeji","dfkj",[],"CN","stock",true,100], -["600082.SH","600082","海泰发展","haitaifazhan","htfz",[],"CN","stock",true,100], -["600084.SH","600084","中信尼雅","zhongxinniya","zxny",[],"CN","stock",true,100], +["600082.SH","600082","ST海泰","haitai","ht",[],"CN","stock",true,100], +["600084.SH","600084","*ST尼雅","niya","ny",[],"CN","stock",true,100], ["600085.SH","600085","同仁堂","tongrentang","trt",[],"CN","stock",true,100], ["600088.SH","600088","中视传媒","zhongshichuanmei","zscm",[],"CN","stock",true,100], ["600089.SH","600089","特变电工","tebiandiangong","tbdg",[],"CN","stock",true,100], @@ -484,7 +484,7 @@ ["600104.SH","600104","上汽集团","shangqijituan","sqjt",[],"CN","stock",true,100], ["600105.SH","600105","永鼎股份","yongdinggufen","ydgf",[],"CN","stock",true,100], ["600106.SH","600106","重庆路桥","chongqingluqiao","cqlq",[],"CN","stock",true,100], -["600107.SH","600107","ST尔雅","erya","ey",[],"CN","stock",true,100], +["600107.SH","600107","*ST尔雅","erya","ey",[],"CN","stock",true,100], ["600108.SH","600108","亚盛集团","yashengjituan","ysjt",[],"CN","stock",true,100], ["600109.SH","600109","国金证券","guojinzhengquan","gjzq",[],"CN","stock",true,100], ["600110.SH","600110","诺德股份","nuodegufen","ndgf",[],"CN","stock",true,100], @@ -495,7 +495,7 @@ ["600116.SH","600116","三峡水利","sanxiashuili","sxsl",[],"CN","stock",true,100], ["600117.SH","600117","西宁特钢","xiningtegang","xntg",[],"CN","stock",true,100], ["600118.SH","600118","中国卫星","zhongguoweixing","zgwx",[],"CN","stock",true,100], -["600119.SH","600119","长江投资","changjiangtouzi","cjtz",[],"CN","stock",true,100], +["600119.SH","600119","*ST长投","zhangtou","zt",[],"CN","stock",true,100], ["600120.SH","600120","浙江东方","zhejiangdongfang","zjdf",[],"CN","stock",true,100], ["600121.SH","600121","郑州煤电","zhengzhoumeidian","zzmd",[],"CN","stock",true,100], ["600123.SH","600123","兰花科创","lanhuakechuang","lhkc",[],"CN","stock",true,100], @@ -504,7 +504,7 @@ ["600127.SH","600127","金健米业","jinjianmiye","jjmy",[],"CN","stock",true,100], ["600128.SH","600128","苏豪弘业","suhaohongye","shhy",[],"CN","stock",true,100], ["600129.SH","600129","太极集团","taijijituan","tjjt",[],"CN","stock",true,100], -["600130.SH","600130","*ST波导","bodao","bd",[],"CN","stock",true,100], +["600130.SH","600130","波导股份","bodaogufen","bdgf",[],"CN","stock",true,100], ["600131.SH","600131","国网信通","guowangxintong","gwxt",[],"CN","stock",true,100], ["600132.SH","600132","重庆啤酒","chongqingpijiu","cqpj",[],"CN","stock",true,100], ["600133.SH","600133","东湖高新","donghugaoxin","dhgx",[],"CN","stock",true,100], @@ -541,13 +541,13 @@ ["600177.SH","600177","雅戈尔","yageer","yge",[],"CN","stock",true,100], ["600178.SH","600178","东安动力","dongandongli","dadl",[],"CN","stock",true,100], ["600179.SH","600179","安通控股","antongkonggu","atkg",[],"CN","stock",true,100], -["600180.SH","600180","瑞茂通","ruimaotong","rmt",[],"CN","stock",true,100], +["600180.SH","600180","*ST瑞茂","ruimao","rm",[],"CN","stock",true,100], ["600182.SH","600182","S佳通","Sjiatong","Sjt",[],"CN","stock",true,100], ["600183.SH","600183","生益科技","shengyikeji","sykj",[],"CN","stock",true,100], ["600184.SH","600184","光电股份","guangdiangufen","gdgf",[],"CN","stock",true,100], ["600185.SH","600185","珠免集团","zhumianjituan","zmjt",[],"CN","stock",true,100], ["600186.SH","600186","莲花控股","lianhuakonggu","lhkg",[],"CN","stock",true,100], -["600187.SH","600187","国中水务","guozhongshuiwu","gzsw",[],"CN","stock",true,100], +["600187.SH","600187","*ST国中","guozhong","gz",[],"CN","stock",true,100], ["600188.SH","600188","兖矿能源","yankuangnengyuan","ykny",[],"CN","stock",true,100], ["600189.SH","600189","泉阳泉","quanyangquan","qyq",[],"CN","stock",true,100], ["600191.SH","600191","华资实业","huazishiye","hzsy",[],"CN","stock",true,100], @@ -588,7 +588,7 @@ ["600236.SH","600236","桂冠电力","guiguandianli","ggdl",[],"CN","stock",true,100], ["600237.SH","600237","铜峰电子","tongfengdianzi","tfdz",[],"CN","stock",true,100], ["600238.SH","600238","*ST椰岛","yedao","yd",[],"CN","stock",true,100], -["600239.SH","600239","云南城投","yunnanchengtou","ynct",[],"CN","stock",true,100], +["600239.SH","600239","ST云城","yuncheng","yc",[],"CN","stock",true,100], ["600241.SH","600241","时代万恒","shidaiwanheng","sdwh",[],"CN","stock",true,100], ["600243.SH","600243","*ST海华","haihua","hh",[],"CN","stock",true,100], ["600246.SH","600246","万通发展","wantongfazhan","wtfz",[],"CN","stock",true,100], @@ -604,7 +604,7 @@ ["600259.SH","600259","中稀有色","zhongxiyouse","zxys",[],"CN","stock",true,100], ["600261.SH","600261","阳光照明","yangguangzhaoming","ygzm",[],"CN","stock",true,100], ["600262.SH","600262","北方股份","beifanggufen","bfgf",[],"CN","stock",true,100], -["600265.SH","600265","ST景谷","jinggu","jg",[],"CN","stock",true,100], +["600265.SH","600265","*ST景谷","jinggu","jg",[],"CN","stock",true,100], ["600266.SH","600266","城建发展","chengjianfazhan","cjfz",[],"CN","stock",true,100], ["600267.SH","600267","海正药业","haizhengyaoye","hzyy",[],"CN","stock",true,100], ["600268.SH","600268","国电南自","guodiannanzi","gdnz",[],"CN","stock",true,100], @@ -631,7 +631,7 @@ ["600299.SH","600299","安迪苏","andisu","ads",[],"CN","stock",true,100], ["600300.SH","600300","维维股份","weiweigufen","wwgf",[],"CN","stock",true,100], ["600301.SH","600301","华锡有色","huaxiyouse","hxys",[],"CN","stock",true,100], -["600302.SH","600302","标准股份","biaozhungufen","bzgf",[],"CN","stock",true,100], +["600302.SH","600302","ST标准","biaozhun","bz",[],"CN","stock",true,100], ["600303.SH","600303","曙光股份","shuguanggufen","sggf",[],"CN","stock",true,100], ["600305.SH","600305","恒顺醋业","hengshuncuye","hscy",[],"CN","stock",true,100], ["600307.SH","600307","酒钢宏兴","jiuganghongxing","jghx",[],"CN","stock",true,100], @@ -658,10 +658,10 @@ ["600333.SH","600333","长春燃气","changchunranqi","ccrq",[],"CN","stock",true,100], ["600335.SH","600335","国机汽车","guojiqiche","gjqc",[],"CN","stock",true,100], ["600336.SH","600336","澳柯玛","aokema","akm",[],"CN","stock",true,100], -["600337.SH","600337","美克家居","meikejiaju","mkjj",[],"CN","stock",true,100], +["600337.SH","600337","ST美克","meike","mk",[],"CN","stock",true,100], ["600338.SH","600338","西藏珠峰","xizangzhufeng","xzzf",[],"CN","stock",true,100], ["600339.SH","600339","中油工程","zhongyougongcheng","zygc",[],"CN","stock",true,100], -["600340.SH","600340","华夏幸福","huaxiaxingfu","hxxf",[],"CN","stock",true,100], +["600340.SH","600340","*ST华幸","huaxing","hx",[],"CN","stock",true,100], ["600343.SH","600343","航天动力","hangtiandongli","htdl",[],"CN","stock",true,100], ["600345.SH","600345","长江通信","changjiangtongxin","cjtx",[],"CN","stock",true,100], ["600346.SH","600346","恒力石化","henglishihua","hlsh",[],"CN","stock",true,100], @@ -671,11 +671,10 @@ ["600352.SH","600352","浙江龙盛","zhejianglongsheng","zjls",[],"CN","stock",true,100], ["600353.SH","600353","旭光电子","xuguangdianzi","xgdz",[],"CN","stock",true,100], ["600354.SH","600354","敦煌种业","dunhuangzhongye","dhzy",[],"CN","stock",true,100], -["600355.SH","600355","*ST精伦","jinglun","jl",[],"CN","stock",true,100], ["600356.SH","600356","恒丰纸业","hengfengzhiye","hfzy",[],"CN","stock",true,100], -["600358.SH","600358","ST联合","lianhe","lh",[],"CN","stock",true,100], +["600358.SH","600358","国旅联合","guolvlianhe","gllh",[],"CN","stock",true,100], ["600359.SH","600359","新农开发","xinnongkaifa","xnkf",[],"CN","stock",true,100], -["600360.SH","600360","*ST华微","huawei","hw",[],"CN","stock",true,100], +["600360.SH","600360","华微电子","huaweidianzi","hwdz",[],"CN","stock",true,100], ["600361.SH","600361","创新新材","chuangxinxincai","cxxc",[],"CN","stock",true,100], ["600362.SH","600362","江西铜业","jiangxitongye","jxty",[],"CN","stock",true,100], ["600363.SH","600363","联创光电","lianchuangguangdian","lcgd",[],"CN","stock",true,100], @@ -684,7 +683,7 @@ ["600367.SH","600367","红星发展","hongxingfazhan","hxfz",[],"CN","stock",true,100], ["600368.SH","600368","五洲交通","wuzhoujiaotong","wzjt",[],"CN","stock",true,100], ["600369.SH","600369","西南证券","xinanzhengquan","xnzq",[],"CN","stock",true,100], -["600370.SH","600370","三房巷","sanfangxiang","sfx",[],"CN","stock",true,100], +["600370.SH","600370","*ST三房","sanfang","sf",[],"CN","stock",true,100], ["600371.SH","600371","万向德农","wanxiangdenong","wxdn",[],"CN","stock",true,100], ["600372.SH","600372","中航机载","zhonghangjizai","zhjz",[],"CN","stock",true,100], ["600373.SH","600373","中文传媒","zhongwenchuanmei","zwcm",[],"CN","stock",true,100], @@ -722,7 +721,7 @@ ["600420.SH","600420","国药现代","guoyaoxiandai","gyxd",[],"CN","stock",true,100], ["600421.SH","600421","*ST华嵘","huarong","hr",[],"CN","stock",true,100], ["600422.SH","600422","昆药集团","kunyaojituan","kyjt",[],"CN","stock",true,100], -["600423.SH","600423","柳化股份","liuhuagufen","lhgf",[],"CN","stock",true,100], +["600423.SH","600423","*ST柳化","liuhua","lh",[],"CN","stock",true,100], ["600425.SH","600425","青松建化","qingsongjianhua","qsjh",[],"CN","stock",true,100], ["600426.SH","600426","华鲁恒升","hualuhengsheng","hlhs",[],"CN","stock",true,100], ["600428.SH","600428","中远海特","zhongyuanhaite","zyht",[],"CN","stock",true,100], @@ -749,7 +748,7 @@ ["600469.SH","600469","风神股份","fengshengufen","fsgf",[],"CN","stock",true,100], ["600470.SH","600470","六国化工","liuguohuagong","lghg",[],"CN","stock",true,100], ["600475.SH","600475","华光环能","huaguanghuanneng","hghn",[],"CN","stock",true,100], -["600476.SH","600476","湘邮科技","xiangyoukeji","xykj",[],"CN","stock",true,100], +["600476.SH","600476","*ST湘邮","xiangyou","xy",[],"CN","stock",true,100], ["600477.SH","600477","杭萧钢构","hangxiaoganggou","hxgg",[],"CN","stock",true,100], ["600478.SH","600478","科力远","keliyuan","kly",[],"CN","stock",true,100], ["600479.SH","600479","千金药业","qianjinyaoye","qjyy",[],"CN","stock",true,100], @@ -761,7 +760,7 @@ ["600488.SH","600488","津药药业","jinyaoyaoye","jyyy",[],"CN","stock",true,100], ["600489.SH","600489","中金黄金","zhongjinhuangjin","zjhj",[],"CN","stock",true,100], ["600490.SH","600490","鹏欣资源","pengxinziyuan","pxzy",[],"CN","stock",true,100], -["600491.SH","600491","龙元建设","longyuanjianshe","lyjs",[],"CN","stock",true,100], +["600491.SH","600491","ST龙元","longyuan","ly",[],"CN","stock",true,100], ["600493.SH","600493","凤竹纺织","fengzhufangzhi","fzfz",[],"CN","stock",true,100], ["600495.SH","600495","晋西车轴","jinxichezhou","jxcz",[],"CN","stock",true,100], ["600496.SH","600496","精工钢构","jinggongganggou","jggg",[],"CN","stock",true,100], @@ -800,11 +799,11 @@ ["600533.SH","600533","栖霞建设","qixiajianshe","qxjs",[],"CN","stock",true,100], ["600535.SH","600535","天士力","tianshili","tsl",[],"CN","stock",true,100], ["600536.SH","600536","中国软件","zhongguoruanjian","zgrj",[],"CN","stock",true,100], -["600537.SH","600537","亿晶光电","yijingguangdian","yjgd",[],"CN","stock",true,100], +["600537.SH","600537","*ST亿晶","yijing","yj",[],"CN","stock",true,100], ["600538.SH","600538","国发股份","guofagufen","gfgf",[],"CN","stock",true,100], ["600539.SH","600539","狮头股份","shitougufen","stgf",[],"CN","stock",true,100], ["600540.SH","600540","新赛股份","xinsaigufen","xsgf",[],"CN","stock",true,100], -["600543.SH","600543","莫高股份","mogaogufen","mggf",[],"CN","stock",true,100], +["600543.SH","600543","*ST莫高","mogao","mg",[],"CN","stock",true,100], ["600545.SH","600545","卓郎智能","zhuolangzhineng","zlzn",[],"CN","stock",true,100], ["600546.SH","600546","山煤国际","shanmeiguoji","smgj",[],"CN","stock",true,100], ["600547.SH","600547","山东黄金","shandonghuangjin","sdhj",[],"CN","stock",true,100], @@ -835,7 +834,7 @@ ["600578.SH","600578","京能电力","jingnengdianli","jndl",[],"CN","stock",true,100], ["600579.SH","600579","中化装备","zhonghuazhuangbei","zhzb",[],"CN","stock",true,100], ["600580.SH","600580","卧龙电驱","wolongdianqu","wldq",[],"CN","stock",true,100], -["600581.SH","600581","八一钢铁","bayigangtie","bygt",[],"CN","stock",true,100], +["600581.SH","600581","*ST八钢","bagang","bg",[],"CN","stock",true,100], ["600582.SH","600582","天地科技","tiandikeji","tdkj",[],"CN","stock",true,100], ["600583.SH","600583","海油工程","haiyougongcheng","hygc",[],"CN","stock",true,100], ["600584.SH","600584","长电科技","zhangdiankeji","zdkj",[],"CN","stock",true,100], @@ -915,7 +914,7 @@ ["600674.SH","600674","川投能源","chuantounengyuan","ctny",[],"CN","stock",true,100], ["600675.SH","600675","中华企业","zhonghuaqiye","zhqy",[],"CN","stock",true,100], ["600676.SH","600676","交运股份","jiaoyungufen","jygf",[],"CN","stock",true,100], -["600678.SH","600678","四川金顶","sichuanjinding","scjd",[],"CN","stock",true,100], +["600678.SH","600678","ST金顶","jinding","jd",[],"CN","stock",true,100], ["600679.SH","600679","上海凤凰","shanghaifenghuang","shfh",[],"CN","stock",true,100], ["600681.SH","600681","百川能源","baichuannengyuan","bcny",[],"CN","stock",true,100], ["600682.SH","600682","南京新百","nanjingxinbai","njxb",[],"CN","stock",true,100], @@ -958,12 +957,12 @@ ["600726.SH","600726","华电能源","huadiannengyuan","hdny",[],"CN","stock",true,100], ["600727.SH","600727","鲁北化工","lubeihuagong","lbhg",[],"CN","stock",true,100], ["600728.SH","600728","佳都科技","jiadoukeji","jdkj",[],"CN","stock",true,100], -["600729.SH","600729","重庆百货","chongqingbaihuo","cqbh",[],"CN","stock",true,100], -["600730.SH","600730","中国高科","zhongguogaoke","zggk",[],"CN","stock",true,100], +["600729.SH","600729","重百集团","zhongbaijituan","zbjt",[],"CN","stock",true,100], +["600730.SH","600730","*ST高科","gaoke","gk",[],"CN","stock",true,100], ["600731.SH","600731","湖南海利","hunanhaili","hnhl",[],"CN","stock",true,100], ["600732.SH","600732","爱旭股份","aixugufen","axgf",[],"CN","stock",true,100], ["600733.SH","600733","北汽蓝谷","beiqilangu","bqlg",[],"CN","stock",true,100], -["600734.SH","600734","实达集团","shidajituan","sdjt",[],"CN","stock",true,100], +["600734.SH","600734","*ST实达","shida","sd",[],"CN","stock",true,100], ["600735.SH","600735","ST新华锦","xinhuajin","xhj",[],"CN","stock",true,100], ["600736.SH","600736","苏州高新","suzhougaoxin","szgx",[],"CN","stock",true,100], ["600737.SH","600737","中粮糖业","zhongliangtangye","zlty",[],"CN","stock",true,100], @@ -974,7 +973,7 @@ ["600742.SH","600742","富维股份","fuweigufen","fwgf",[],"CN","stock",true,100], ["600743.SH","600743","华远控股","huayuankonggu","hykg",[],"CN","stock",true,100], ["600744.SH","600744","华银电力","huayindianli","hydl",[],"CN","stock",true,100], -["600745.SH","600745","闻泰科技","wentaikeji","wtkj",[],"CN","stock",true,100], +["600745.SH","600745","*ST闻泰","wentai","wt",[],"CN","stock",true,100], ["600746.SH","600746","江苏索普","jiangsusuopu","jssp",[],"CN","stock",true,100], ["600748.SH","600748","上实发展","shangshifazhan","ssfz",[],"CN","stock",true,100], ["600749.SH","600749","西藏旅游","xizanglvyou","xzly",[],"CN","stock",true,100], @@ -986,7 +985,7 @@ ["600756.SH","600756","浪潮软件","langchaoruanjian","lcrj",[],"CN","stock",true,100], ["600757.SH","600757","长江传媒","changjiangchuanmei","cjcm",[],"CN","stock",true,100], ["600758.SH","600758","辽宁能源","liaoningnengyuan","lnny",[],"CN","stock",true,100], -["600759.SH","600759","洲际油气","zhoujiyouqi","zjyq",[],"CN","stock",true,100], +["600759.SH","600759","ST洲际","zhouji","zj",[],"CN","stock",true,100], ["600760.SH","600760","中航沈飞","zhonghangshenfei","zhsf",[],"CN","stock",true,100], ["600761.SH","600761","安徽合力","anhuiheli","ahhl",[],"CN","stock",true,100], ["600763.SH","600763","通策医疗","tongceyiliao","tcyl",[],"CN","stock",true,100], @@ -1033,7 +1032,7 @@ ["600815.SH","600815","厦工股份","shagonggufen","sggf",[],"CN","stock",true,100], ["600816.SH","600816","建元信托","jianyuanxintuo","jyxt",[],"CN","stock",true,100], ["600817.SH","600817","宇通重工","yutongzhonggong","ytzg",[],"CN","stock",true,100], -["600818.SH","600818","中路股份","zhonglugufen","zlgf",[],"CN","stock",true,100], +["600818.SH","600818","ST中路","zhonglu","zl",[],"CN","stock",true,100], ["600819.SH","600819","耀皮玻璃","yaopiboli","ypbl",[],"CN","stock",true,100], ["600820.SH","600820","隧道股份","suidaogufen","sdgf",[],"CN","stock",true,100], ["600821.SH","600821","金开新能","jinkaixinneng","jkxn",[],"CN","stock",true,100], @@ -1094,7 +1093,7 @@ ["600886.SH","600886","国投电力","guotoudianli","gtdl",[],"CN","stock",true,100], ["600887.SH","600887","伊利股份","yiligufen","ylgf",[],"CN","stock",true,100], ["600888.SH","600888","新疆众和","xinjiangzhonghe","xjzh",[],"CN","stock",true,100], -["600889.SH","600889","南京化纤","nanjinghuaxian","njhx",[],"CN","stock",true,100], +["600889.SH","600889","*ST京化","jinghua","jh",[],"CN","stock",true,100], ["600892.SH","600892","*ST大晟","dacheng","dc",[],"CN","stock",true,100], ["600893.SH","600893","航发动力","hangfadongli","hfdl",[],"CN","stock",true,100], ["600894.SH","600894","广日股份","guangrigufen","grgf",[],"CN","stock",true,100], @@ -1156,7 +1155,7 @@ ["600482.SH","600482","中国动力","zhongguodongli","zgdl",[],"CN","stock",true,100], ["600961.SH","600961","株冶集团","zhuyejituan","zyjt",[],"CN","stock",true,100], ["600962.SH","600962","国投中鲁","guotouzhonglu","gtzl",[],"CN","stock",true,100], -["600965.SH","600965","福成股份","fuchenggufen","fcgf",[],"CN","stock",true,100], +["600965.SH","600965","*ST福成","fucheng","fc",[],"CN","stock",true,100], ["600971.SH","600971","恒源煤电","hengyuanmeidian","hymd",[],"CN","stock",true,100], ["600973.SH","600973","宝胜股份","baoshenggufen","bsgf",[],"CN","stock",true,100], ["600979.SH","600979","广安爱众","guanganaizhong","gaaz",[],"CN","stock",true,100], @@ -1175,7 +1174,7 @@ ["002044.SZ","002044","美年健康","meinianjiankang","mnjk",[],"CN","stock",true,100], ["002045.SZ","002045","国光电器","guoguangdianqi","ggdq",[],"CN","stock",true,100], ["002046.SZ","002046","国机精工","guojijinggong","gjjg",[],"CN","stock",true,100], -["002047.SZ","002047","*ST宝鹰","baoying","by",[],"CN","stock",true,100], +["002047.SZ","002047","宝鹰股份","baoyinggufen","bygf",[],"CN","stock",true,100], ["002048.SZ","002048","宁波华翔","ningbohuaxiang","nbhx",[],"CN","stock",true,100], ["002049.SZ","002049","紫光国微","ziguangguowei","zggw",[],"CN","stock",true,100], ["002050.SZ","002050","三花智控","sanhuazhikong","shzk",[],"CN","stock",true,100], @@ -1222,7 +1221,7 @@ ["600018.SH","600018","上港集团","shanggangjituan","sgjt",[],"CN","stock",true,100], ["002080.SZ","002080","中材科技","zhongcaikeji","zckj",[],"CN","stock",true,100], ["002081.SZ","002081","金螳螂","jintanglang","jtl",[],"CN","stock",true,100], -["002082.SZ","002082","万邦德","wanbangde","wbd",[],"CN","stock",true,100], +["002082.SZ","002082","ST万邦","wanbang","wb",[],"CN","stock",true,100], ["601666.SH","601666","平煤股份","pingmeigufen","pmgf",[],"CN","stock",true,100], ["002083.SZ","002083","孚日股份","furigufen","frgf",[],"CN","stock",true,100], ["002084.SZ","002084","海鸥住工","haiouzhugong","hozg",[],"CN","stock",true,100], @@ -1237,7 +1236,7 @@ ["002095.SZ","002095","生意宝","shengyibao","syb",[],"CN","stock",true,100], ["002094.SZ","002094","青岛金王","qingdaojinwang","qdjw",[],"CN","stock",true,100], ["002093.SZ","002093","国脉科技","guomaikeji","gmkj",[],"CN","stock",true,100], -["002102.SZ","002102","能特科技","nengtekeji","ntkj",[],"CN","stock",true,100], +["002102.SZ","002102","ST能特","nengte","nt",[],"CN","stock",true,100], ["002101.SZ","002101","广东鸿图","guangdonghongtu","gdht",[],"CN","stock",true,100], ["002099.SZ","002099","海翔药业","haixiangyaoye","hxyy",[],"CN","stock",true,100], ["002100.SZ","002100","天康生物","tiankangshengwu","tksw",[],"CN","stock",true,100], @@ -1251,7 +1250,7 @@ ["002110.SZ","002110","三钢闽光","sangangminguang","sgmg",[],"CN","stock",true,100], ["002108.SZ","002108","沧州明珠","cangzhoumingzhu","czmz",[],"CN","stock",true,100], ["002106.SZ","002106","莱宝高科","laibaogaoke","lbgk",[],"CN","stock",true,100], -["002109.SZ","002109","兴化股份","xinghuagufen","xhgf",[],"CN","stock",true,100], +["002109.SZ","002109","ST兴化","xinghua","xh",[],"CN","stock",true,100], ["601002.SH","601002","晋亿实业","jinyishiye","jysy",[],"CN","stock",true,100], ["601628.SH","601628","中国人寿","zhongguorenshou","zgrs",[],"CN","stock",true,100], ["002107.SZ","002107","沃华医药","wohuayiyao","whyy",[],"CN","stock",true,100], @@ -1314,7 +1313,7 @@ ["002156.SZ","002156","通富微电","tongfuweidian","tfwd",[],"CN","stock",true,100], ["002145.SZ","002145","钛能化学","tainenghuaxue","tnhx",[],"CN","stock",true,100], ["002158.SZ","002158","汉钟精机","hanzhongjingji","hzjj",[],"CN","stock",true,100], -["002168.SZ","002168","*ST惠程","huicheng","hc",[],"CN","stock",true,100], +["002168.SZ","002168","ST惠程","huicheng","hc",[],"CN","stock",true,100], ["002160.SZ","002160","常铝股份","changlvgufen","clgf",[],"CN","stock",true,100], ["002161.SZ","002161","远望谷","yuanwanggu","ywg",[],"CN","stock",true,100], ["002254.SZ","002254","泰和新材","taihexincai","thxc",[],"CN","stock",true,100], @@ -1324,7 +1323,7 @@ ["002163.SZ","002163","海南发展","hainanfazhan","hnfz",[],"CN","stock",true,100], ["002169.SZ","002169","智光电气","zhiguangdianqi","zgdq",[],"CN","stock",true,100], ["002167.SZ","002167","东方锆业","dongfanggaoye","dfgy",[],"CN","stock",true,100], -["002175.SZ","002175","东方智造","dongfangzhizao","dfzz",[],"CN","stock",true,100], +["002175.SZ","002175","*ST东智","dongzhi","dz",[],"CN","stock",true,100], ["002171.SZ","002171","楚江新材","chujiangxincai","cjxc",[],"CN","stock",true,100], ["002165.SZ","002165","红宝丽","hongbaoli","hbl",[],"CN","stock",true,100], ["002192.SZ","002192","融捷股份","rongjiegufen","rjgf",[],"CN","stock",true,100], @@ -1336,7 +1335,7 @@ ["002176.SZ","002176","江特电机","jiangtedianji","jtdj",[],"CN","stock",true,100], ["002179.SZ","002179","中航光电","zhonghangguangdian","zhgd",[],"CN","stock",true,100], ["002177.SZ","002177","御银股份","yuyingufen","yygf",[],"CN","stock",true,100], -["002180.SZ","002180","纳思达","nasida","nsd",[],"CN","stock",true,100], +["002180.SZ","002180","奔图科技","bentukeji","btkj",[],"CN","stock",true,100], ["601939.SH","601939","建设银行","jiansheyinhang","jsyh",["建行"],"CN","stock",true,100], ["002178.SZ","002178","延华智能","yanhuazhineng","yhzn",[],"CN","stock",true,100], ["601808.SH","601808","中海油服","zhonghaiyoufu","zhyf",[],"CN","stock",true,100], @@ -1353,7 +1352,7 @@ ["002186.SZ","002186","全聚德","quanjude","qjd",[],"CN","stock",true,100], ["002196.SZ","002196","方正电机","fangzhengdianji","fzdj",[],"CN","stock",true,100], ["002208.SZ","002208","合肥城建","hefeichengjian","hfcj",[],"CN","stock",true,100], -["002193.SZ","002193","如意集团","ruyijituan","ryjt",[],"CN","stock",true,100], +["002193.SZ","002193","ST如意","ruyi","ry",[],"CN","stock",true,100], ["002190.SZ","002190","成飞集成","chengfeijicheng","cfjc",[],"CN","stock",true,100], ["002191.SZ","002191","劲嘉股份","jinjiagufen","jjgf",[],"CN","stock",true,100], ["002194.SZ","002194","武汉凡谷","wuhanfangu","whfg",[],"CN","stock",true,100], @@ -1361,7 +1360,7 @@ ["300213.SZ","300213","佳讯飞鸿","jiaxunfeihong","jxfh",[],"CN","stock",true,100], ["002200.SZ","002200","*ST交投","jiaotou","jt",[],"CN","stock",true,100], ["002199.SZ","002199","*ST东晶","dongjing","dj",[],"CN","stock",true,100], -["002198.SZ","002198","嘉应制药","jiayingzhiyao","jyzy",[],"CN","stock",true,100], +["002198.SZ","002198","ST嘉应","jiaying","jy",[],"CN","stock",true,100], ["601390.SH","601390","中国中铁","zhongguozhongtie","zgzt",[],"CN","stock",true,100], ["601918.SH","601918","新集能源","xinjinengyuan","xjny",[],"CN","stock",true,100], ["002197.SZ","002197","证通电子","zhengtongdianzi","ztdz",[],"CN","stock",true,100], @@ -1373,7 +1372,7 @@ ["002204.SZ","002204","大连重工","dalianzhonggong","dlzg",[],"CN","stock",true,100], ["002205.SZ","002205","国统股份","guotonggufen","gtgf",[],"CN","stock",true,100], ["601601.SH","601601","中国太保","zhongguotaibao","zgtb",[],"CN","stock",true,100], -["002207.SZ","002207","准油股份","zhunyougufen","zygf",[],"CN","stock",true,100], +["002207.SZ","002207","*ST准油","zhunyou","zy",[],"CN","stock",true,100], ["002206.SZ","002206","海利得","hailide","hld",[],"CN","stock",true,100], ["002209.SZ","002209","达意隆","dayilong","dyl",[],"CN","stock",true,100], ["002210.SZ","002210","飞马国际","feimaguoji","fmgj",[],"CN","stock",true,100], @@ -1398,13 +1397,12 @@ ["002223.SZ","002223","鱼跃医疗","yuyueyiliao","yyyl",[],"CN","stock",true,100], ["002225.SZ","002225","濮耐股份","punaigufen","pngf",[],"CN","stock",true,100], ["002228.SZ","002228","合兴包装","hexingbaozhuang","hxbz",[],"CN","stock",true,100], -["002227.SZ","002227","奥特迅","aotexun","atx",[],"CN","stock",true,100], +["002227.SZ","002227","*ST特迅","texun","tx",[],"CN","stock",true,100], ["002244.SZ","002244","滨江集团","binjiangjituan","bjjt",[],"CN","stock",true,100], ["002230.SZ","002230","科大讯飞","kedaxunfei","kdxf",[],"CN","stock",true,100], ["002237.SZ","002237","恒邦股份","hengbanggufen","hbgf",[],"CN","stock",true,100], ["002235.SZ","002235","安妮股份","annigufen","angf",[],"CN","stock",true,100], ["002232.SZ","002232","启明信息","qimingxinxi","qmxx",[],"CN","stock",true,100], -["002231.SZ","002231","*ST奥维","aowei","aw",[],"CN","stock",true,100], ["002249.SZ","002249","大洋电机","dayangdianji","dydj",[],"CN","stock",true,100], ["002229.SZ","002229","鸿博股份","hongbogufen","hbgf",[],"CN","stock",true,100], ["002253.SZ","002253","*ST智胜","zhisheng","zs",[],"CN","stock",true,100], @@ -1520,7 +1518,7 @@ ["002319.SZ","002319","乐通股份","letonggufen","ltgf",[],"CN","stock",true,100], ["002474.SZ","002474","榕基软件","rongjiruanjian","rjrj",[],"CN","stock",true,100], ["002321.SZ","002321","华英农业","huayingnongye","hyny",[],"CN","stock",true,100], -["300010.SZ","300010","豆神教育","doushenjiaoyu","dsjy",[],"CN","stock",true,100], +["300010.SZ","300010","ST豆神","doushen","ds",[],"CN","stock",true,100], ["300001.SZ","300001","特锐德","teruide","trd",[],"CN","stock",true,100], ["002331.SZ","002331","皖通科技","wantongkeji","wtkj",[],"CN","stock",true,100], ["300004.SZ","300004","南风股份","nanfenggufen","nfgf",[],"CN","stock",true,100], @@ -1548,12 +1546,12 @@ ["300033.SZ","300033","同花顺","tonghuashun","ths",[],"CN","stock",true,100], ["002320.SZ","002320","海峡股份","haixiagufen","hxgf",[],"CN","stock",true,100], ["601877.SH","601877","正泰电器","zhengtaidianqi","ztdq",[],"CN","stock",true,100], -["300027.SZ","300027","华谊兄弟","huayixiongdi","hyxd",[],"CN","stock",true,100], +["300027.SZ","300027","ST华谊","huayi","hy",[],"CN","stock",true,100], ["300026.SZ","300026","红日药业","hongriyaoye","hryy",[],"CN","stock",true,100], ["300025.SZ","300025","华星创业","huaxingchuangye","hxcy",[],"CN","stock",true,100], ["002324.SZ","002324","普利特","pulite","plt",[],"CN","stock",true,100], ["002322.SZ","002322","理工能科","ligongnengke","lgnk",[],"CN","stock",true,100], -["002323.SZ","002323","雅博股份","yabogufen","ybgf",[],"CN","stock",true,100], +["002323.SZ","002323","*ST雅博","yabo","yb",[],"CN","stock",true,100], ["002326.SZ","002326","永太科技","yongtaikeji","ytkj",[],"CN","stock",true,100], ["002330.SZ","002330","得利斯","delisi","dls",[],"CN","stock",true,100], ["002329.SZ","002329","皇氏集团","huangshijituan","hsjt",[],"CN","stock",true,100], @@ -1570,7 +1568,7 @@ ["300031.SZ","300031","宝通科技","baotongkeji","btkj",[],"CN","stock",true,100], ["300139.SZ","300139","晓程科技","xiaochengkeji","xckj",[],"CN","stock",true,100], ["002342.SZ","002342","巨力索具","julisuoju","jlsj",[],"CN","stock",true,100], -["002538.SZ","002538","司尔特","sierte","set",[],"CN","stock",true,100], +["002538.SZ","002538","ST司特","site","st",[],"CN","stock",true,100], ["002343.SZ","002343","慈文传媒","ciwenchuanmei","cwcm",[],"CN","stock",true,100], ["002345.SZ","002345","潮宏基","chaohongji","chj",[],"CN","stock",true,100], ["002346.SZ","002346","柘中股份","zhezhonggufen","zzgf",[],"CN","stock",true,100], @@ -1604,7 +1602,7 @@ ["002369.SZ","002369","卓翼科技","zhuoyikeji","zykj",[],"CN","stock",true,100], ["300040.SZ","300040","九洲集团","jiuzhoujituan","jzjt",[],"CN","stock",true,100], ["601058.SH","601058","赛轮轮胎","sailunluntai","sllt",[],"CN","stock",true,100], -["002360.SZ","002360","同德化工","tongdehuagong","tdhg",[],"CN","stock",true,100], +["002360.SZ","002360","ST同德","tongde","td",[],"CN","stock",true,100], ["002364.SZ","002364","中恒电气","zhonghengdianqi","zhdq",[],"CN","stock",true,100], ["300039.SZ","300039","上海凯宝","shanghaikaibao","shkb",[],"CN","stock",true,100], ["002367.SZ","002367","康力电梯","kanglidianti","kldt",[],"CN","stock",true,100], @@ -1628,7 +1626,7 @@ ["601106.SH","601106","中国一重","zhongguoyizhong","zgyz",[],"CN","stock",true,100], ["002378.SZ","002378","章源钨业","zhangyuanwuye","zywy",[],"CN","stock",true,100], ["300050.SZ","300050","世纪鼎利","shijidingli","sjdl",[],"CN","stock",true,100], -["300044.SZ","300044","ST赛为","saiwei","sw",[],"CN","stock",true,100], +["300044.SZ","300044","*ST赛为","saiwei","sw",[],"CN","stock",true,100], ["300046.SZ","300046","台基股份","taijigufen","tjgf",[],"CN","stock",true,100], ["300043.SZ","300043","星辉娱乐","xinghuiyule","xhyl",[],"CN","stock",true,100], ["603199.SH","603199","九华旅游","jiuhualvyou","jhly",[],"CN","stock",true,100], @@ -1637,15 +1635,15 @@ ["002379.SZ","002379","宏桥控股","hongqiaokonggu","hqkg",[],"CN","stock",true,100], ["002382.SZ","002382","蓝帆医疗","lanfanyiliao","lfyl",[],"CN","stock",true,100], ["002421.SZ","002421","达实智能","dashizhineng","dszn",[],"CN","stock",true,100], -["300277.SZ","300277","海联讯","hailianxun","hlx",[],"CN","stock",true,100], +["300277.SZ","300277","汽轮科技","qilunkeji","qlkj",[],"CN","stock",true,100], ["300051.SZ","300051","琏升科技","lianshengkeji","lskj",[],"CN","stock",true,100], ["002392.SZ","002392","北京利尔","beijinglier","bjle",[],"CN","stock",true,100], -["002630.SZ","002630","ST华西","huaxi","hx",[],"CN","stock",true,100], +["002630.SZ","002630","*ST华西","huaxi","hx",[],"CN","stock",true,100], ["002385.SZ","002385","大北农","dabeinong","dbn",[],"CN","stock",true,100], ["002384.SZ","002384","东山精密","dongshanjingmi","dsjm",[],"CN","stock",true,100], ["002386.SZ","002386","天原股份","tianyuangufen","tygf",[],"CN","stock",true,100], ["002377.SZ","002377","国创高新","guochuanggaoxin","gcgx",[],"CN","stock",true,100], -["300052.SZ","300052","ST中青宝","zhongqingbao","zqb",[],"CN","stock",true,100], +["300052.SZ","300052","中青宝","zhongqingbao","zqb",[],"CN","stock",true,100], ["300054.SZ","300054","鼎龙股份","dinglonggufen","dlgf",[],"CN","stock",true,100], ["300264.SZ","300264","佳创视讯","jiachuangshixun","jcsx",[],"CN","stock",true,100], ["002394.SZ","002394","联发股份","lianfagufen","lfgf",[],"CN","stock",true,100], @@ -1679,7 +1677,7 @@ ["002402.SZ","002402","和而泰","heertai","het",[],"CN","stock",true,100], ["002409.SZ","002409","雅克科技","yakekeji","ykkj",[],"CN","stock",true,100], ["002412.SZ","002412","汉森制药","hansenzhiyao","hszy",[],"CN","stock",true,100], -["601010.SH","601010","文峰股份","wenfenggufen","wfgf",[],"CN","stock",true,100], +["601010.SH","601010","ST文峰","wenfeng","wf",[],"CN","stock",true,100], ["300061.SZ","300061","旗天科技","qitiankeji","qtkj",[],"CN","stock",true,100], ["002416.SZ","002416","爱施德","aishide","asd",[],"CN","stock",true,100], ["002415.SZ","002415","海康威视","haikangweishi","hkws",["海康"],"CN","stock",true,100], @@ -1692,7 +1690,7 @@ ["002425.SZ","002425","凯撒文化","kaisawenhua","kswh",[],"CN","stock",true,100], ["300063.SZ","300063","天龙集团","tianlongjituan","tljt",[],"CN","stock",true,100], ["300065.SZ","300065","海兰信","hailanxin","hlx",[],"CN","stock",true,100], -["300068.SZ","300068","南都电源","nandoudianyuan","nddy",[],"CN","stock",true,100], +["300068.SZ","300068","ST南都","nandou","nd",[],"CN","stock",true,100], ["002418.SZ","002418","康盛股份","kangshenggufen","ksgf",[],"CN","stock",true,100], ["002420.SZ","002420","毅昌科技","yichangkeji","yckj",[],"CN","stock",true,100], ["601369.SH","601369","陕鼓动力","shangudongli","sgdl",[],"CN","stock",true,100], @@ -1703,7 +1701,7 @@ ["002424.SZ","002424","ST百灵","bailing","bl",[],"CN","stock",true,100], ["002426.SZ","002426","胜利精密","shenglijingmi","sljm",[],"CN","stock",true,100], ["002427.SZ","002427","尤夫股份","youfugufen","yfgf",[],"CN","stock",true,100], -["002431.SZ","002431","棕榈股份","zonglvgufen","zlgf",[],"CN","stock",true,100], +["002431.SZ","002431","ST棕榈","zonglv","zl",[],"CN","stock",true,100], ["002456.SZ","002456","欧菲光","oufeiguang","ofg",[],"CN","stock",true,100], ["601188.SH","601188","龙江交通","longjiangjiaotong","ljjt",[],"CN","stock",true,100], ["601518.SH","601518","吉林高速","jilingaosu","jlgs",[],"CN","stock",true,100], @@ -1716,7 +1714,7 @@ ["002429.SZ","002429","兆驰股份","zhaochigufen","zcgf",[],"CN","stock",true,100], ["002434.SZ","002434","万里扬","wanliyang","wly",[],"CN","stock",true,100], ["002436.SZ","002436","兴森科技","xingsenkeji","xskj",[],"CN","stock",true,100], -["300076.SZ","300076","GQY视讯","GQYshixun","GQYsx",[],"CN","stock",true,100], +["300076.SZ","300076","*ST宁视","ningshi","ns",[],"CN","stock",true,100], ["300072.SZ","300072","海新能科","haixinnengke","hxnk",[],"CN","stock",true,100], ["300105.SZ","300105","龙源技术","longyuanjishu","lyjs",[],"CN","stock",true,100], ["300069.SZ","300069","金利华电","jinlihuadian","jlhd",[],"CN","stock",true,100], @@ -1751,7 +1749,7 @@ ["601118.SH","601118","海南橡胶","hainanxiangjiao","hnxj",[],"CN","stock",true,100], ["002449.SZ","002449","国星光电","guoxingguangdian","gxgd",[],"CN","stock",true,100], ["300091.SZ","300091","*ST金灵","jinling","jl",[],"CN","stock",true,100], -["300081.SZ","300081","恒信东方","hengxindongfang","hxdf",[],"CN","stock",true,100], +["300081.SZ","300081","ST恒信","hengxin","hx",[],"CN","stock",true,100], ["002458.SZ","002458","益生股份","yishenggufen","ysgf",[],"CN","stock",true,100], ["002451.SZ","002451","摩恩电气","moendianqi","medq",[],"CN","stock",true,100], ["300272.SZ","300272","开能健康","kainengjiankang","knjk",[],"CN","stock",true,100], @@ -1767,19 +1765,19 @@ ["300085.SZ","300085","银之杰","yinzhijie","yzj",[],"CN","stock",true,100], ["601717.SH","601717","中创智领","zhongchuangzhiling","zczl",[],"CN","stock",true,100], ["300179.SZ","300179","四方达","sifangda","sfd",[],"CN","stock",true,100], -["300097.SZ","300097","ST智云","zhiyun","zy",[],"CN","stock",true,100], +["300097.SZ","300097","智云股份","zhiyungufen","zygf",[],"CN","stock",true,100], ["002463.SZ","002463","沪电股份","hudiangufen","hdgf",[],"CN","stock",true,100], ["002462.SZ","002462","嘉事堂","jiashitang","jst",[],"CN","stock",true,100], ["300099.SZ","300099","尤洛卡","youluoka","ylk",[],"CN","stock",true,100], ["300093.SZ","300093","*ST金刚","jingang","jg",[],"CN","stock",true,100], -["601718.SH","601718","际华集团","jihuajituan","jhjt",[],"CN","stock",true,100], +["601718.SH","601718","ST际华","jihua","jh",[],"CN","stock",true,100], ["300253.SZ","300253","卫宁健康","weiningjiankang","wnjk",[],"CN","stock",true,100], ["300094.SZ","300094","国联水产","guolianshuichan","glsc",[],"CN","stock",true,100], ["300124.SZ","300124","汇川技术","huichuanjishu","hcjs",[],"CN","stock",true,100], -["300152.SZ","300152","ST新动力","xindongli","xdl",[],"CN","stock",true,100], +["300152.SZ","300152","*ST动力","dongli","dl",[],"CN","stock",true,100], ["300321.SZ","300321","同大股份","tongdagufen","tdgf",[],"CN","stock",true,100], ["300095.SZ","300095","华伍股份","huawugufen","hwgf",[],"CN","stock",true,100], -["300245.SZ","300245","天玑科技","tianjikeji","tjkj",[],"CN","stock",true,100], +["300245.SZ","300245","ST天玑","tianji","tj",[],"CN","stock",true,100], ["300092.SZ","300092","科新机电","kexinjidian","kxjd",[],"CN","stock",true,100], ["300100.SZ","300100","双林股份","shuanglingufen","slgf",[],"CN","stock",true,100], ["002496.SZ","002496","*ST辉丰","huifeng","hf",[],"CN","stock",true,100], @@ -1833,7 +1831,7 @@ ["002482.SZ","002482","广田集团","guangtianjituan","gtjt",[],"CN","stock",true,100], ["002500.SZ","002500","山西证券","shanxizhengquan","sxzq",[],"CN","stock",true,100], ["002521.SZ","002521","齐峰新材","qifengxincai","qfxc",[],"CN","stock",true,100], -["300123.SZ","300123","亚光科技","yaguangkeji","ygkj",[],"CN","stock",true,100], +["300123.SZ","300123","ST亚光","yaguang","yg",[],"CN","stock",true,100], ["300122.SZ","300122","智飞生物","zhifeishengwu","zfsw",[],"CN","stock",true,100], ["002488.SZ","002488","金固股份","jingugufen","jggf",[],"CN","stock",true,100], ["002487.SZ","002487","大金重工","dajinzhonggong","djzg",[],"CN","stock",true,100], @@ -1863,7 +1861,7 @@ ["300136.SZ","300136","信维通信","xinweitongxin","xwtx",[],"CN","stock",true,100], ["002889.SZ","002889","东方嘉盛","dongfangjiasheng","dfjs",[],"CN","stock",true,100], ["300142.SZ","300142","沃森生物","wosenshengwu","wssw",[],"CN","stock",true,100], -["002501.SZ","002501","利源股份","liyuangufen","lygf",[],"CN","stock",true,100], +["002501.SZ","002501","*ST利源","liyuan","ly",[],"CN","stock",true,100], ["300141.SZ","300141","和顺电气","heshundianqi","hsdq",[],"CN","stock",true,100], ["300140.SZ","300140","节能环境","jienenghuanjing","jnhj",[],"CN","stock",true,100], ["002511.SZ","002511","中顺洁柔","zhongshunjierou","zsjr",[],"CN","stock",true,100], @@ -1875,7 +1873,7 @@ ["300331.SZ","300331","苏大维格","sudaweige","sdwg",[],"CN","stock",true,100], ["300144.SZ","300144","宋城演艺","songchengyanyi","scyy",[],"CN","stock",true,100], ["300143.SZ","300143","盈康生命","yingkangshengming","yksm",[],"CN","stock",true,100], -["002514.SZ","002514","宝馨科技","baoxinkeji","bxkj",[],"CN","stock",true,100], +["002514.SZ","002514","*ST宝馨","baoxin","bx",[],"CN","stock",true,100], ["002507.SZ","002507","涪陵榨菜","fulingzhacai","flzc",[],"CN","stock",true,100], ["002513.SZ","002513","蓝丰生化","lanfengshenghua","lfsh",[],"CN","stock",true,100], ["601777.SH","601777","千里科技","qianlikeji","qlkj",[],"CN","stock",true,100], @@ -1896,13 +1894,13 @@ ["300146.SZ","300146","汤臣倍健","tangchenbeijian","tcbj",[],"CN","stock",true,100], ["300149.SZ","300149","睿智医药","ruizhiyiyao","rzyy",[],"CN","stock",true,100], ["002743.SZ","002743","富煌钢构","fuhuangganggou","fhgg",[],"CN","stock",true,100], -["002547.SZ","002547","春兴精工","chunxingjinggong","cxjg",[],"CN","stock",true,100], +["002547.SZ","002547","*ST春兴","chunxing","cx",[],"CN","stock",true,100], ["300155.SZ","300155","安居宝","anjubao","ajb",[],"CN","stock",true,100], ["300151.SZ","300151","昌红科技","changhongkeji","chkj",[],"CN","stock",true,100], ["002606.SZ","002606","大连电瓷","daliandianci","dldc",[],"CN","stock",true,100], ["002524.SZ","002524","光正眼科","guangzhengyanke","gzyk",[],"CN","stock",true,100], -["002528.SZ","002528","ST英飞拓","yingfeituo","yft",[],"CN","stock",true,100], -["300147.SZ","300147","ST香雪","xiangxue","xx",[],"CN","stock",true,100], +["002528.SZ","002528","*ST英飞","yingfei","yf",[],"CN","stock",true,100], +["300147.SZ","300147","*ST香雪","xiangxue","xx",[],"CN","stock",true,100], ["300153.SZ","300153","科泰电源","ketaidianyuan","ktdy",[],"CN","stock",true,100], ["002526.SZ","002526","山东矿机","shandongkuangji","sdkj",[],"CN","stock",true,100], ["002532.SZ","002532","天山铝业","tianshanlvye","tsly",[],"CN","stock",true,100], @@ -1917,7 +1915,7 @@ ["601933.SH","601933","永辉超市","yonghuichaoshi","yhcs",[],"CN","stock",true,100], ["300191.SZ","300191","潜能恒信","qiannenghengxin","qnhx",[],"CN","stock",true,100], ["300159.SZ","300159","*ST新研","xinyan","xy",[],"CN","stock",true,100], -["300165.SZ","300165","ST天瑞","tianrui","tr",[],"CN","stock",true,100], +["300165.SZ","300165","天瑞仪器","tianruiyiqi","tryq",[],"CN","stock",true,100], ["300223.SZ","300223","北京君正","beijingjunzheng","bjjz",[],"CN","stock",true,100], ["002535.SZ","002535","林州重机","linzhouzhongji","lzzj",[],"CN","stock",true,100], ["002609.SZ","002609","捷顺科技","jieshunkeji","jskj",[],"CN","stock",true,100], @@ -1948,7 +1946,7 @@ ["002551.SZ","002551","尚荣医疗","shangrongyiliao","sryl",[],"CN","stock",true,100], ["300177.SZ","300177","中海达","zhonghaida","zhd",[],"CN","stock",true,100], ["300176.SZ","300176","鸿特科技","hongtekeji","htkj",[],"CN","stock",true,100], -["002542.SZ","002542","中化岩土","zhonghuayantu","zhyt",[],"CN","stock",true,100], +["002542.SZ","002542","*ST中岩","zhongyan","zy",[],"CN","stock",true,100], ["300181.SZ","300181","佐力药业","zuoliyaoye","zlyy",[],"CN","stock",true,100], ["601700.SH","601700","风范股份","fengfangufen","ffgf",[],"CN","stock",true,100], ["601137.SH","601137","博威合金","boweihejin","bwhj",[],"CN","stock",true,100], @@ -1977,7 +1975,7 @@ ["002553.SZ","002553","南方精工","nanfangjinggong","nfjg",[],"CN","stock",true,100], ["300205.SZ","300205","*ST天喻","tianyu","ty",[],"CN","stock",true,100], ["300220.SZ","300220","金运激光","jinyunjiguang","jyjg",[],"CN","stock",true,100], -["300198.SZ","300198","ST纳川","nachuan","nc",[],"CN","stock",true,100], +["300198.SZ","300198","*ST纳川","nachuan","nc",[],"CN","stock",true,100], ["300188.SZ","300188","国投智能","guotouzhineng","gtzn",[],"CN","stock",true,100], ["300195.SZ","300195","长荣股份","zhangronggufen","zrgf",[],"CN","stock",true,100], ["300196.SZ","300196","长海股份","zhanghaigufen","zhgf",[],"CN","stock",true,100], @@ -2009,7 +2007,7 @@ ["300366.SZ","300366","ST创意","chuangyi","cy",[],"CN","stock",true,100], ["603328.SH","603328","依顿电子","yidundianzi","yddz",[],"CN","stock",true,100], ["002579.SZ","002579","中京电子","zhongjingdianzi","zjdz",[],"CN","stock",true,100], -["002581.SZ","002581","ST未名","weiming","wm",[],"CN","stock",true,100], +["002581.SZ","002581","*ST未名","weiming","wm",[],"CN","stock",true,100], ["601218.SH","601218","吉鑫科技","jixinkeji","jxkj",[],"CN","stock",true,100], ["002572.SZ","002572","索菲亚","suofeiya","sfy",[],"CN","stock",true,100], ["002573.SZ","002573","清新环境","qingxinhuanjing","qxhj",[],"CN","stock",true,100], @@ -2025,7 +2023,7 @@ ["601113.SH","601113","华鼎股份","huadinggufen","hdgf",[],"CN","stock",true,100], ["002578.SZ","002578","闽发铝业","minfalvye","mfly",[],"CN","stock",true,100], ["300207.SZ","300207","欣旺达","xinwangda","xwd",[],"CN","stock",true,100], -["300212.SZ","300212","易华录","yihualu","yhl",[],"CN","stock",true,100], +["300212.SZ","300212","*ST易录","yilu","yl",[],"CN","stock",true,100], ["601233.SH","601233","桐昆股份","tongkungufen","tkgf",[],"CN","stock",true,100], ["601208.SH","601208","东材科技","dongcaikeji","dckj",[],"CN","stock",true,100], ["300402.SZ","300402","宝色股份","baosegufen","bsgf",[],"CN","stock",true,100], @@ -2067,7 +2065,7 @@ ["603156.SH","603156","养元饮品","yangyuanyinpin","yyyp",[],"CN","stock",true,100], ["002778.SZ","002778","中晟高科","zhongchenggaoke","zcgk",[],"CN","stock",true,100], ["002588.SZ","002588","史丹利","shidanli","sdl",[],"CN","stock",true,100], -["601567.SH","601567","三星医疗","sanxingyiliao","sxyl",[],"CN","stock",true,100], +["601567.SH","601567","三星电气","sanxingdianqi","sxdq",[],"CN","stock",true,100], ["002783.SZ","002783","凯龙股份","kailonggufen","klgf",[],"CN","stock",true,100], ["002605.SZ","002605","姚记科技","yaojikeji","yjkj",[],"CN","stock",true,100], ["002594.SZ","002594","比亚迪","biyadi","byd",["比亚"],"CN","stock",true,100], @@ -2079,7 +2077,7 @@ ["002600.SZ","002600","领益智造","lingyizhizao","lyzz",[],"CN","stock",true,100], ["002601.SZ","002601","龙佰集团","longbaijituan","lbjt",[],"CN","stock",true,100], ["002597.SZ","002597","金禾实业","jinheshiye","jhsy",[],"CN","stock",true,100], -["002598.SZ","002598","山东章鼓","shandongzhanggu","sdzg",[],"CN","stock",true,100], +["002598.SZ","002598","ST章鼓","zhanggu","zg",[],"CN","stock",true,100], ["300242.SZ","300242","佳云科技","jiayunkeji","jykj",[],"CN","stock",true,100], ["300258.SZ","300258","精锻科技","jingduankeji","jdkj",[],"CN","stock",true,100], ["300241.SZ","300241","瑞丰光电","ruifengguangdian","rfgd",[],"CN","stock",true,100], @@ -2092,7 +2090,7 @@ ["300248.SZ","300248","新开普","xinkaipu","xkp",[],"CN","stock",true,100], ["300250.SZ","300250","初灵信息","chulingxinxi","clxx",[],"CN","stock",true,100], ["300246.SZ","300246","宝莱特","baolaite","blt",[],"CN","stock",true,100], -["002620.SZ","002620","ST瑞和","ruihe","rh",[],"CN","stock",true,100], +["002620.SZ","002620","*ST瑞和","ruihe","rh",[],"CN","stock",true,100], ["603456.SH","603456","九洲药业","jiuzhouyaoye","jzyy",[],"CN","stock",true,100], ["300251.SZ","300251","光线传媒","guangxianchuanmei","gxcm",[],"CN","stock",true,100], ["002627.SZ","002627","三峡旅游","sanxialvyou","sxly",[],"CN","stock",true,100], @@ -2105,7 +2103,7 @@ ["300260.SZ","300260","新莱应材","xinlaiyingcai","xlyc",[],"CN","stock",true,100], ["300252.SZ","300252","金信诺","jinxinnuo","jxn",[],"CN","stock",true,100], ["002830.SZ","002830","名雕股份","mingdiaogufen","mdgf",[],"CN","stock",true,100], -["002717.SZ","002717","ST岭南","lingnan","ln",[],"CN","stock",true,100], +["002717.SZ","002717","*ST岭南","lingnan","ln",[],"CN","stock",true,100], ["603197.SH","603197","保隆科技","baolongkeji","blkj",[],"CN","stock",true,100], ["300265.SZ","300265","通光线缆","tongguangxianlan","tgxl",[],"CN","stock",true,100], ["300267.SZ","300267","尔康制药","erkangzhiyao","ekzy",[],"CN","stock",true,100], @@ -2119,7 +2117,7 @@ ["300261.SZ","300261","雅本化学","yabenhuaxue","ybhx",[],"CN","stock",true,100], ["002611.SZ","002611","东方精工","dongfangjinggong","dfjg",[],"CN","stock",true,100], ["603518.SH","603518","锦泓集团","jinhongjituan","jhjt",[],"CN","stock",true,100], -["300268.SZ","300268","*ST佳沃","jiawo","jw",[],"CN","stock",true,100], +["300268.SZ","300268","佳沃食品","jiawoshipin","jwsp",[],"CN","stock",true,100], ["300263.SZ","300263","隆华科技","longhuakeji","lhkj",[],"CN","stock",true,100], ["300294.SZ","300294","博雅生物","boyashengwu","bysw",[],"CN","stock",true,100], ["002616.SZ","002616","长青集团","changqingjituan","cqjt",[],"CN","stock",true,100], @@ -2146,7 +2144,7 @@ ["002636.SZ","002636","金安国纪","jinanguoji","jagj",[],"CN","stock",true,100], ["601555.SH","601555","东吴证券","dongwuzhengquan","dwzq",[],"CN","stock",true,100], ["300278.SZ","300278","华昌达","huachangda","hcd",[],"CN","stock",true,100], -["002634.SZ","002634","棒杰股份","bangjiegufen","bjgf",[],"CN","stock",true,100], +["002634.SZ","002634","*ST棒杰","bangjie","bj",[],"CN","stock",true,100], ["002640.SZ","002640","跨境通","kuajingtong","kjt",[],"CN","stock",true,100], ["002631.SZ","002631","德尔未来","deerweilai","dewl",[],"CN","stock",true,100], ["002633.SZ","002633","申科股份","shenkegufen","skgf",[],"CN","stock",true,100], @@ -2166,9 +2164,9 @@ ["601928.SH","601928","凤凰传媒","fenghuangchuanmei","fhcm",[],"CN","stock",true,100], ["002673.SZ","002673","西部证券","xibuzhengquan","xbzq",[],"CN","stock",true,100], ["002638.SZ","002638","勤上股份","qinshanggufen","qsgf",[],"CN","stock",true,100], -["002647.SZ","002647","*ST仁东","rendong","rd",[],"CN","stock",true,100], +["002647.SZ","002647","仁东控股","rendongkonggu","rdkg",[],"CN","stock",true,100], ["300286.SZ","300286","安科瑞","ankerui","akr",[],"CN","stock",true,100], -["300295.SZ","300295","三六五网","sanliuwuwang","slww",[],"CN","stock",true,100], +["300295.SZ","300295","*ST三六","sanliu","sl",[],"CN","stock",true,100], ["300288.SZ","300288","朗玛信息","langmaxinxi","lmxx",[],"CN","stock",true,100], ["002668.SZ","002668","TCL智家","TCLzhijia","TCLzj",[],"CN","stock",true,100], ["002642.SZ","002642","荣联科技","rongliankeji","rlkj",[],"CN","stock",true,100], @@ -2186,7 +2184,7 @@ ["002656.SZ","002656","*ST摩登","modeng","md",[],"CN","stock",true,100], ["601368.SH","601368","绿城水务","lvchengshuiwu","lcsw",[],"CN","stock",true,100], ["601336.SH","601336","新华保险","xinhuabaoxian","xhbx",[],"CN","stock",true,100], -["002667.SZ","002667","威领股份","weilinggufen","wlgf",[],"CN","stock",true,100], +["002667.SZ","002667","*ST威领","weiling","wl",[],"CN","stock",true,100], ["300289.SZ","300289","利德曼","lideman","ldm",[],"CN","stock",true,100], ["300532.SZ","300532","今天国际","jintianguoji","jtgj",[],"CN","stock",true,100], ["300483.SZ","300483","首华燃气","shouhuaranqi","shrq",[],"CN","stock",true,100], @@ -2194,7 +2192,7 @@ ["002688.SZ","002688","金河生物","jinheshengwu","jhsw",[],"CN","stock",true,100], ["300291.SZ","300291","百纳千成","bainaqiancheng","bnqc",[],"CN","stock",true,100], ["002652.SZ","002652","扬子新材","yangzixincai","yzxc",[],"CN","stock",true,100], -["603729.SH","603729","龙韵股份","longyungufen","lygf",[],"CN","stock",true,100], +["603729.SH","603729","ST龙韵","longyun","ly",[],"CN","stock",true,100], ["002650.SZ","002650","ST加加","jiajia","jj",[],"CN","stock",true,100], ["300292.SZ","300292","吴通控股","wutongkonggu","wtkg",[],"CN","stock",true,100], ["002666.SZ","002666","德联集团","delianjituan","dljt",[],"CN","stock",true,100], @@ -2203,7 +2201,7 @@ ["300310.SZ","300310","宜通世纪","yitongshiji","ytsj",[],"CN","stock",true,100], ["300307.SZ","300307","慈星股份","cixinggufen","cxgf",[],"CN","stock",true,100], ["002654.SZ","002654","万润科技","wanrunkeji","wrkj",[],"CN","stock",true,100], -["603359.SH","603359","东珠生态","dongzhushengtai","dzst",[],"CN","stock",true,100], +["603359.SH","603359","*ST东珠","dongzhu","dz",[],"CN","stock",true,100], ["002653.SZ","002653","海思科","haisike","hsk",[],"CN","stock",true,100], ["601339.SH","601339","百隆东方","bailongdongfang","bldf",[],"CN","stock",true,100], ["300301.SZ","300301","ST长方","changfang","cf",[],"CN","stock",true,100], @@ -2260,7 +2258,7 @@ ["300746.SZ","300746","汉嘉数智","hanjiashuzhi","hjsz",[],"CN","stock",true,100], ["002690.SZ","002690","美亚光电","meiyaguangdian","mygd",[],"CN","stock",true,100], ["002678.SZ","002678","珠江钢琴","zhujianggangqin","zjgq",[],"CN","stock",true,100], -["002691.SZ","002691","冀凯股份","jikaigufen","jkgf",[],"CN","stock",true,100], +["002691.SZ","002691","*ST冀凯","jikai","jk",[],"CN","stock",true,100], ["002851.SZ","002851","麦格米特","maigemite","mgmt",[],"CN","stock",true,100], ["300342.SZ","300342","天银机电","tianyinjidian","tyjd",[],"CN","stock",true,100], ["300322.SZ","300322","硕贝德","shuobeide","sbd",[],"CN","stock",true,100], @@ -2269,21 +2267,20 @@ ["300333.SZ","300333","兆日科技","zhaorikeji","zrkj",[],"CN","stock",true,100], ["002679.SZ","002679","福建金森","fujianjinsen","fjjs",[],"CN","stock",true,100], ["002689.SZ","002689","ST远智","yuanzhi","yz",[],"CN","stock",true,100], -["603008.SH","603008","喜临门","xilinmen","xlm",[],"CN","stock",true,100], +["603008.SH","603008","ST喜临门","xilinmen","xlm",[],"CN","stock",true,100], ["300334.SZ","300334","津膜科技","jinmokeji","jmkj",[],"CN","stock",true,100], ["300397.SZ","300397","天和防务","tianhefangwu","thfw",[],"CN","stock",true,100], ["300348.SZ","300348","长亮科技","zhangliangkeji","zlkj",[],"CN","stock",true,100], ["300887.SZ","300887","谱尼测试","puniceshi","pncs",[],"CN","stock",true,100], -["300338.SZ","300338","ST开元","kaiyuan","ky",[],"CN","stock",true,100], +["300338.SZ","300338","*ST开元","kaiyuan","ky",[],"CN","stock",true,100], ["002701.SZ","002701","奥瑞金","aoruijin","arj",[],"CN","stock",true,100], ["603399.SH","603399","永杉锂业","yongshanliye","ysly",[],"CN","stock",true,100], ["300337.SZ","300337","银邦股份","yinbanggufen","ybgf",[],"CN","stock",true,100], ["002687.SZ","002687","乔治白","qiaozhibai","qzb",[],"CN","stock",true,100], -["002694.SZ","002694","顾地科技","gudikeji","gdkj",[],"CN","stock",true,100], +["002694.SZ","002694","*ST顾地","gudi","gd",[],"CN","stock",true,100], ["300332.SZ","300332","天壕能源","tianhaonengyuan","thny",[],"CN","stock",true,100], ["300328.SZ","300328","宜安科技","yiankeji","yakj",[],"CN","stock",true,100], ["300349.SZ","300349","金卡智能","jinkazhineng","jkzn",[],"CN","stock",true,100], -["300344.SZ","300344","*ST立方","lifang","lf",[],"CN","stock",true,100], ["002698.SZ","002698","博实股份","boshigufen","bsgf",[],"CN","stock",true,100], ["300323.SZ","300323","华灿光电","huacanguangdian","hcgd",[],"CN","stock",true,100], ["300335.SZ","300335","迪森股份","disengufen","dsgf",[],"CN","stock",true,100], @@ -2312,7 +2309,7 @@ ["002727.SZ","002727","一心堂","yixintang","yxt",[],"CN","stock",true,100], ["601608.SH","601608","中信重工","zhongxinzhonggong","zxzg",[],"CN","stock",true,100], ["601238.SH","601238","广汽集团","guangqijituan","gqjt",[],"CN","stock",true,100], -["300352.SZ","300352","北信源","beixinyuan","bxy",[],"CN","stock",true,100], +["300352.SZ","300352","ST信源","xinyuan","xy",[],"CN","stock",true,100], ["002709.SZ","002709","天赐材料","tiancicailiao","tccl",[],"CN","stock",true,100], ["002725.SZ","002725","跃岭股份","yuelinggufen","ylgf",[],"CN","stock",true,100], ["002746.SZ","002746","仙坛股份","xiantangufen","xtgf",[],"CN","stock",true,100], @@ -2335,7 +2332,7 @@ ["300388.SZ","300388","节能国祯","jienengguozhen","jngz",[],"CN","stock",true,100], ["603777.SH","603777","来伊份","laiyifen","lyf",[],"CN","stock",true,100], ["603989.SH","603989","艾华集团","aihuajituan","ahjt",[],"CN","stock",true,100], -["002719.SZ","002719","麦趣尔","maiquer","mqe",[],"CN","stock",true,100], +["002719.SZ","002719","ST麦趣","maiqu","mq",[],"CN","stock",true,100], ["603806.SH","603806","福斯特","fusite","fst",[],"CN","stock",true,100], ["002700.SZ","002700","万憬能源","wanjingnengyuan","wjny",[],"CN","stock",true,100], ["603088.SH","603088","宁波精达","ningbojingda","nbjd",[],"CN","stock",true,100], @@ -2349,7 +2346,7 @@ ["002721.SZ","002721","金一文化","jinyiwenhua","jywh",[],"CN","stock",true,100], ["600917.SH","600917","重庆燃气","chongqingranqi","cqrq",[],"CN","stock",true,100], ["300368.SZ","300368","汇金股份","huijingufen","hjgf",[],"CN","stock",true,100], -["300396.SZ","300396","迪瑞医疗","diruiyiliao","dryl",[],"CN","stock",true,100], +["300396.SZ","300396","ST迪瑞","dirui","dr",[],"CN","stock",true,100], ["300403.SZ","300403","汉宇集团","hanyujituan","hyjt",[],"CN","stock",true,100], ["002697.SZ","002697","红旗连锁","hongqiliansuo","hqls",[],"CN","stock",true,100], ["300360.SZ","300360","炬华科技","juhuakeji","jhkj",[],"CN","stock",true,100], @@ -2363,17 +2360,16 @@ ["002705.SZ","002705","新宝股份","xinbaogufen","xbgf",[],"CN","stock",true,100], ["300546.SZ","300546","雄帝科技","xiongdikeji","xdkj",[],"CN","stock",true,100], ["300377.SZ","300377","赢时胜","yingshisheng","yss",[],"CN","stock",true,100], -["300391.SZ","300391","*ST长药","zhangyao","zy",[],"CN","stock",true,100], ["002838.SZ","002838","道恩股份","daoengufen","degf",[],"CN","stock",true,100], ["603023.SH","603023","威帝股份","weidigufen","wdgf",[],"CN","stock",true,100], ["603609.SH","603609","禾丰股份","hefenggufen","hfgf",[],"CN","stock",true,100], -["300385.SZ","300385","雪浪环境","xuelanghuanjing","xlhj",[],"CN","stock",true,100], +["300385.SZ","300385","ST雪浪","xuelang","xl",[],"CN","stock",true,100], ["300820.SZ","300820","英杰电气","yingjiedianqi","yjdq",[],"CN","stock",true,100], ["300376.SZ","300376","易事特","yishite","yst",[],"CN","stock",true,100], ["300419.SZ","300419","ST浩丰","haofeng","hf",[],"CN","stock",true,100], ["002728.SZ","002728","特一药业","teyiyaoye","tyyy",[],"CN","stock",true,100], ["002724.SZ","002724","海洋王","haiyangwang","hyw",[],"CN","stock",true,100], -["002726.SZ","002726","龙大美食","longdameishi","ldms",[],"CN","stock",true,100], +["002726.SZ","002726","ST龙大","longda","ld",[],"CN","stock",true,100], ["300380.SZ","300380","安硕信息","anshuoxinxi","asxx",[],"CN","stock",true,100], ["603005.SH","603005","晶方科技","jingfangkeji","jfkj",[],"CN","stock",true,100], ["300365.SZ","300365","恒华科技","henghuakeji","hhkj",[],"CN","stock",true,100], @@ -2420,14 +2416,14 @@ ["603889.SH","603889","新澳股份","xinaogufen","xagf",[],"CN","stock",true,100], ["002800.SZ","002800","天顺股份","tianshungufen","tsgf",[],"CN","stock",true,100], ["300393.SZ","300393","中来股份","zhonglaigufen","zlgf",[],"CN","stock",true,100], -["002739.SZ","002739","万达电影","wandadianying","wddy",[],"CN","stock",true,100], +["002739.SZ","002739","儒意电影","ruyidianying","rydy",[],"CN","stock",true,100], ["300421.SZ","300421","力星股份","lixinggufen","lxgf",[],"CN","stock",true,100], ["300438.SZ","300438","鹏辉能源","penghuinengyuan","phny",[],"CN","stock",true,100], -["300430.SZ","300430","诚益通","chengyitong","cyt",[],"CN","stock",true,100], +["300430.SZ","300430","*ST益通","yitong","yt",[],"CN","stock",true,100], ["300475.SZ","300475","香农芯创","xiangnongxinchuang","xnxc",[],"CN","stock",true,100], ["002757.SZ","002757","南兴股份","nanxinggufen","nxgf",[],"CN","stock",true,100], ["600909.SH","600909","华安证券","huaanzhengquan","hazq",[],"CN","stock",true,100], -["603789.SH","603789","*ST星农","xingnong","xn",[],"CN","stock",true,100], +["603789.SH","603789","ST星农","xingnong","xn",[],"CN","stock",true,100], ["300411.SZ","300411","金盾股份","jindungufen","jdgf",[],"CN","stock",true,100], ["300536.SZ","300536","农尚环境","nongshanghuanjing","nshj",[],"CN","stock",true,100], ["300505.SZ","300505","川金诺","chuanjinnuo","cjn",[],"CN","stock",true,100], @@ -2440,7 +2436,7 @@ ["601198.SH","601198","东兴证券","dongxingzhengquan","dxzq",[],"CN","stock",true,100], ["603355.SH","603355","莱克电气","laikedianqi","lkdq",[],"CN","stock",true,100], ["603788.SH","603788","宁波高发","ningbogaofa","nbgf",[],"CN","stock",true,100], -["603828.SH","603828","ST柯利达","kelida","kld",[],"CN","stock",true,100], +["603828.SH","603828","*ST利达","lida","ld",[],"CN","stock",true,100], ["601689.SH","601689","拓普集团","tuopujituan","tpjt",[],"CN","stock",true,100], ["601226.SH","601226","华电科工","huadiankegong","hdkg",[],"CN","stock",true,100], ["603227.SH","603227","雪峰科技","xuefengkeji","xfkj",[],"CN","stock",true,100], @@ -2465,7 +2461,7 @@ ["002768.SZ","002768","国恩股份","guoengufen","gegf",[],"CN","stock",true,100], ["603015.SH","603015","弘讯科技","hongxunkeji","hxkj",[],"CN","stock",true,100], ["603606.SH","603606","东方电缆","dongfangdianlan","dfdl",[],"CN","stock",true,100], -["603959.SH","603959","百利科技","bailikeji","blkj",[],"CN","stock",true,100], +["603959.SH","603959","ST百利","baili","bl",[],"CN","stock",true,100], ["603696.SH","603696","安记食品","anjishipin","ajsp",[],"CN","stock",true,100], ["002730.SZ","002730","电光科技","dianguangkeji","dgkj",[],"CN","stock",true,100], ["002761.SZ","002761","浙江建投","zhejiangjiantou","zjjt",[],"CN","stock",true,100], @@ -2475,7 +2471,7 @@ ["601828.SH","601828","美凯龙","meikailong","mkl",[],"CN","stock",true,100], ["300463.SZ","300463","迈克生物","maikeshengwu","mksw",[],"CN","stock",true,100], ["300523.SZ","300523","辰安科技","chenankeji","cakj",[],"CN","stock",true,100], -["002742.SZ","002742","*ST三圣","sansheng","ss",[],"CN","stock",true,100], +["002742.SZ","002742","三圣股份","sanshenggufen","ssgf",[],"CN","stock",true,100], ["300455.SZ","300455","航天智装","hangtianzhizhuang","htzz",[],"CN","stock",true,100], ["603318.SH","603318","水发燃气","shuifaranqi","sfrq",[],"CN","stock",true,100], ["300449.SZ","300449","汉邦高科","hanbanggaoke","hbgk",[],"CN","stock",true,100], @@ -2576,7 +2572,7 @@ ["603090.SH","603090","宏盛股份","hongshenggufen","hsgf",[],"CN","stock",true,100], ["603160.SH","603160","汇顶科技","huidingkeji","hdkj",[],"CN","stock",true,100], ["603012.SH","603012","创力集团","chuanglijituan","cljt",[],"CN","stock",true,100], -["603021.SH","603021","ST华鹏","huapeng","hp",[],"CN","stock",true,100], +["603021.SH","603021","*ST华鹏","huapeng","hp",[],"CN","stock",true,100], ["603887.SH","603887","城地香江","chengdixiangjiang","cdxj",[],"CN","stock",true,100], ["603663.SH","603663","三祥新材","sanxiangxincai","sxxc",[],"CN","stock",true,100], ["603636.SH","603636","南威软件","nanweiruanjian","nwrj",[],"CN","stock",true,100], @@ -2602,7 +2598,7 @@ ["002822.SZ","002822","ST中装","zhongzhuang","zz",[],"CN","stock",true,100], ["002789.SZ","002789","*ST建艺","jianyi","jy",[],"CN","stock",true,100], ["002811.SZ","002811","郑中设计","zhengzhongsheji","zzsj",[],"CN","stock",true,100], -["603189.SH","603189","网达软件","wangdaruanjian","wdrj",[],"CN","stock",true,100], +["603189.SH","603189","*ST网达","wangda","wd",[],"CN","stock",true,100], ["002821.SZ","002821","凯莱英","kailaiying","kly",[],"CN","stock",true,100], ["002809.SZ","002809","红墙股份","hongqianggufen","hqgf",[],"CN","stock",true,100], ["002832.SZ","002832","比音勒芬","biyinleifen","bylf",[],"CN","stock",true,100], @@ -2613,7 +2609,7 @@ ["300664.SZ","300664","鹏鹞环保","pengyaohuanbao","pyhb",[],"CN","stock",true,100], ["002979.SZ","002979","雷赛智能","leisaizhineng","lszn",[],"CN","stock",true,100], ["002795.SZ","002795","永和智控","yonghezhikong","yhzk",[],"CN","stock",true,100], -["603718.SH","603718","海利生物","hailishengwu","hlsw",[],"CN","stock",true,100], +["603718.SH","603718","*ST海利","haili","hl",[],"CN","stock",true,100], ["601900.SH","601900","南方传媒","nanfangchuanmei","nfcm",[],"CN","stock",true,100], ["300500.SZ","300500","启迪设计","qidisheji","qdsj",[],"CN","stock",true,100], ["002790.SZ","002790","瑞尔特","ruierte","ret",[],"CN","stock",true,100], @@ -2676,7 +2672,7 @@ ["603131.SH","603131","上海沪工","shanghaihugong","shhg",[],"CN","stock",true,100], ["002820.SZ","002820","桂发祥","guifaxiang","gfx",[],"CN","stock",true,100], ["603085.SH","603085","天成自控","tianchengzikong","tczk",[],"CN","stock",true,100], -["603268.SH","603268","*ST松发","songfa","sf",[],"CN","stock",true,100], +["603268.SH","603268","松发股份","songfagufen","sfgf",[],"CN","stock",true,100], ["603020.SH","603020","爱普股份","aipugufen","apgf",[],"CN","stock",true,100], ["603198.SH","603198","迎驾贡酒","yingjiagongjiu","yjgj",[],"CN","stock",true,100], ["300485.SZ","300485","赛升药业","saishengyaoye","ssyy",[],"CN","stock",true,100], @@ -2707,7 +2703,7 @@ ["002828.SZ","002828","贝肯能源","beikennengyuan","bkny",[],"CN","stock",true,100], ["603033.SH","603033","三维股份","sanweigufen","swgf",[],"CN","stock",true,100], ["603311.SH","603311","金海高科","jinhaigaoke","jhgk",[],"CN","stock",true,100], -["002856.SZ","002856","美芝股份","meizhigufen","mzgf",[],"CN","stock",true,100], +["002856.SZ","002856","*ST美芝","meizhi","mz",[],"CN","stock",true,100], ["603028.SH","603028","赛福天","saifutian","sft",[],"CN","stock",true,100], ["603036.SH","603036","如通股份","rutonggufen","rtgf",[],"CN","stock",true,100], ["603838.SH","603838","*ST四通","sitong","st",[],"CN","stock",true,100], @@ -2715,7 +2711,7 @@ ["603602.SH","603602","纵横通信","zonghengtongxin","zhtx",[],"CN","stock",true,100], ["300474.SZ","300474","景嘉微","jingjiawei","jjw",[],"CN","stock",true,100], ["300482.SZ","300482","万孚生物","wanfushengwu","wfsw",[],"CN","stock",true,100], -["300497.SZ","300497","富祥药业","fuxiangyaoye","fxyy",[],"CN","stock",true,100], +["300497.SZ","300497","富祥股份","fuxianggufen","fxgf",[],"CN","stock",true,100], ["603066.SH","603066","音飞储存","yinfeichucun","yfcc",[],"CN","stock",true,100], ["603027.SH","603027","千禾味业","qianheweiye","qhwy",[],"CN","stock",true,100], ["603987.SH","603987","康德莱","kangdelai","kdl",[],"CN","stock",true,100], @@ -2736,7 +2732,7 @@ ["300542.SZ","300542","新晨科技","xinchenkeji","xckj",[],"CN","stock",true,100], ["300509.SZ","300509","新美星","xinmeixing","xmx",[],"CN","stock",true,100], ["300499.SZ","300499","高澜股份","gaolangufen","glgf",[],"CN","stock",true,100], -["603007.SH","603007","*ST花王","huawang","hw",[],"CN","stock",true,100], +["603007.SH","603007","顺景科技","shunjingkeji","sjkj",[],"CN","stock",true,100], ["603658.SH","603658","安图生物","antushengwu","atsw",[],"CN","stock",true,100], ["603822.SH","603822","ST嘉澳","jiaao","ja",[],"CN","stock",true,100], ["300503.SZ","300503","昊志机电","haozhijidian","hzjd",[],"CN","stock",true,100], @@ -2892,7 +2888,7 @@ ["603218.SH","603218","日月股份","riyuegufen","rygf",[],"CN","stock",true,100], ["603823.SH","603823","百合花","baihehua","bhh",[],"CN","stock",true,100], ["603228.SH","603228","景旺电子","jingwangdianzi","jwdz",[],"CN","stock",true,100], -["002960.SZ","002960","青鸟消防","qingniaoxiaofang","qnxf",[],"CN","stock",true,100], +["002960.SZ","002960","青鸟智控","qingniaozhikong","qnzk",[],"CN","stock",true,100], ["300615.SZ","300615","欣天科技","xintiankeji","xtkj",[],"CN","stock",true,100], ["603638.SH","603638","艾迪精密","aidijingmi","adjm",[],"CN","stock",true,100], ["603579.SH","603579","荣泰健康","rongtaijiankang","rtjk",[],"CN","stock",true,100], @@ -2948,7 +2944,7 @@ ["300568.SZ","300568","星源材质","xingyuancaizhi","xycz",[],"CN","stock",true,100], ["603238.SH","603238","诺邦股份","nuobanggufen","nbgf",[],"CN","stock",true,100], ["002853.SZ","002853","皮阿诺","pianuo","pan",[],"CN","stock",true,100], -["603378.SH","603378","亚士创能","yashichuangneng","yscn",[],"CN","stock",true,100], +["603378.SH","603378","*ST亚士","yashi","ys",[],"CN","stock",true,100], ["603330.SH","603330","天洋新材","tianyangxincai","tyxc",[],"CN","stock",true,100], ["603615.SH","603615","茶花股份","chahuagufen","chgf",[],"CN","stock",true,100], ["603656.SH","603656","泰禾智能","taihezhineng","thzn",[],"CN","stock",true,100], @@ -3002,7 +2998,7 @@ ["300629.SZ","300629","新劲刚","xinjingang","xjg",[],"CN","stock",true,100], ["300583.SZ","300583","赛托生物","saituoshengwu","stsw",[],"CN","stock",true,100], ["002882.SZ","002882","金龙羽","jinlongyu","jly",[],"CN","stock",true,100], -["002868.SZ","002868","*ST绿康","lvkang","lk",[],"CN","stock",true,100], +["002868.SZ","002868","绿康生化","lvkangshenghua","lksh",[],"CN","stock",true,100], ["603680.SH","603680","今创集团","jinchuangjituan","jcjt",[],"CN","stock",true,100], ["603232.SH","603232","格尔软件","geerruanjian","gerj",[],"CN","stock",true,100], ["003020.SZ","003020","立方制药","lifangzhiyao","lfzy",[],"CN","stock",true,100], @@ -3047,7 +3043,6 @@ ["603721.SH","603721","*ST天择","tianze","tz",[],"CN","stock",true,100], ["300645.SZ","300645","正元智慧","zhengyuanzhihui","zyzh",[],"CN","stock",true,100], ["300610.SZ","300610","晨化股份","chenhuagufen","chgf",[],"CN","stock",true,100], -["603056.SH","603056","德邦股份","debanggufen","dbgf",[],"CN","stock",true,100], ["300675.SZ","300675","建科院","jiankeyuan","jky",[],"CN","stock",true,100], ["300638.SZ","300638","广和通","guanghetong","ght",[],"CN","stock",true,100], ["300602.SZ","300602","飞荣达","feirongda","frd",[],"CN","stock",true,100], @@ -3083,7 +3078,7 @@ ["002886.SZ","002886","沃特股份","wotegufen","wtgf",[],"CN","stock",true,100], ["603387.SH","603387","基蛋生物","jidanshengwu","jdsw",[],"CN","stock",true,100], ["002879.SZ","002879","长缆科技","zhanglankeji","zlkj",[],"CN","stock",true,100], -["603196.SH","603196","日播时尚","riboshishang","rbss",[],"CN","stock",true,100], +["603196.SH","603196","璞源材料","puyuancailiao","pycl",[],"CN","stock",true,100], ["603978.SH","603978","深圳新星","shenzhenxinxing","szxx",[],"CN","stock",true,100], ["601108.SH","601108","财通证券","caitongzhengquan","ctzq",[],"CN","stock",true,100], ["001332.SZ","001332","锡装股份","xizhuanggufen","xzgf",[],"CN","stock",true,100], @@ -3145,7 +3140,7 @@ ["300653.SZ","300653","正海生物","zhenghaishengwu","zhsw",[],"CN","stock",true,100], ["300676.SZ","300676","华大基因","huadajiyin","hdjy",[],"CN","stock",true,100], ["603110.SH","603110","东方材料","dongfangcailiao","dfcl",[],"CN","stock",true,100], -["002883.SZ","002883","中设股份","zhongshegufen","zsgf",[],"CN","stock",true,100], +["002883.SZ","002883","*ST中设","zhongshe","zs",[],"CN","stock",true,100], ["603226.SH","603226","菲林格尔","feilingeer","flge",[],"CN","stock",true,100], ["300963.SZ","300963","中洲特材","zhongzhoutecai","zztc",[],"CN","stock",true,100], ["603648.SH","603648","畅联股份","changliangufen","clgf",[],"CN","stock",true,100], @@ -3206,7 +3201,7 @@ ["603380.SH","603380","易德龙","yidelong","ydl",[],"CN","stock",true,100], ["002881.SZ","002881","美格智能","meigezhineng","mgzn",[],"CN","stock",true,100], ["002898.SZ","002898","*ST赛隆","sailong","sl",[],"CN","stock",true,100], -["603922.SH","603922","金鸿顺","jinhongshun","jhs",[],"CN","stock",true,100], +["603922.SH","603922","ST金鸿顺","jinhongshun","jhs",[],"CN","stock",true,100], ["603305.SH","603305","旭升集团","xushengjituan","xsjt",[],"CN","stock",true,100], ["300681.SZ","300681","英搏尔","yingboer","ybe",[],"CN","stock",true,100], ["603595.SH","603595","ST东尼","dongni","dn",[],"CN","stock",true,100], @@ -3217,7 +3212,7 @@ ["002891.SZ","002891","中宠股份","zhongchonggufen","zcgf",[],"CN","stock",true,100], ["603365.SH","603365","水星家纺","shuixingjiafang","sxjf",[],"CN","stock",true,100], ["603106.SH","603106","恒银科技","hengyinkeji","hykj",[],"CN","stock",true,100], -["300668.SZ","300668","杰恩设计","jieensheji","jesj",[],"CN","stock",true,100], +["300668.SZ","300668","杰恩股份","jieengufen","jegf",[],"CN","stock",true,100], ["301503.SZ","301503","智迪科技","zhidikeji","zdkj",[],"CN","stock",true,100], ["300691.SZ","300691","联合光电","lianheguangdian","lhgd",[],"CN","stock",true,100], ["300672.SZ","300672","国科微","guokewei","gkw",[],"CN","stock",true,100], @@ -3232,7 +3227,7 @@ ["001218.SZ","001218","丽臣实业","lichenshiye","lcsy",[],"CN","stock",true,100], ["603386.SH","603386","骏亚科技","junyakeji","jykj",[],"CN","stock",true,100], ["603605.SH","603605","珀莱雅","polaiya","ply",[],"CN","stock",true,100], -["603557.SH","603557","ST起步","qibu","qb",[],"CN","stock",true,100], +["603557.SH","603557","*ST起步","qibu","qb",[],"CN","stock",true,100], ["603183.SH","603183","建研院","jianyanyuan","jyy",[],"CN","stock",true,100], ["603363.SH","603363","傲农生物","aonongshengwu","answ",[],"CN","stock",true,100], ["603181.SH","603181","皇马科技","huangmakeji","hmkj",[],"CN","stock",true,100], @@ -3250,7 +3245,7 @@ ["603659.SH","603659","璞泰来","putailai","ptl",[],"CN","stock",true,100], ["603283.SH","603283","赛腾股份","saitenggufen","stgf",[],"CN","stock",true,100], ["603533.SH","603533","掌阅科技","zhangyuekeji","zykj",[],"CN","stock",true,100], -["603429.SH","603429","集友股份","jiyougufen","jygf",[],"CN","stock",true,100], +["603429.SH","603429","*ST集友","jiyou","jy",[],"CN","stock",true,100], ["300689.SZ","300689","澄天伟业","chengtianweiye","ctwy",[],"CN","stock",true,100], ["600025.SH","600025","华能水电","huanengshuidian","hnsd",[],"CN","stock",true,100], ["002970.SZ","002970","锐明技术","ruimingjishu","rmjs",[],"CN","stock",true,100], @@ -3450,7 +3445,7 @@ ["300902.SZ","300902","国安达","guoanda","gad",[],"CN","stock",true,100], ["002942.SZ","002942","新农股份","xinnonggufen","xngf",[],"CN","stock",true,100], ["301018.SZ","301018","申菱环境","shenlinghuanjing","slhj",[],"CN","stock",true,100], -["300899.SZ","300899","*ST凯鑫","kaixin","kx",[],"CN","stock",true,100], +["300899.SZ","300899","上海凯鑫","shanghaikaixin","shkx",[],"CN","stock",true,100], ["603681.SH","603681","永冠新材","yongguanxincai","ygxc",[],"CN","stock",true,100], ["603755.SH","603755","日辰股份","richengufen","rcgf",[],"CN","stock",true,100], ["300758.SZ","300758","七彩化学","qicaihuaxue","qchx",[],"CN","stock",true,100], @@ -3506,7 +3501,7 @@ ["003012.SZ","003012","东鹏控股","dongpengkonggu","dpkg",[],"CN","stock",true,100], ["300960.SZ","300960","通业科技","tongyekeji","tykj",[],"CN","stock",true,100], ["300828.SZ","300828","锐新科技","ruixinkeji","rxkj",[],"CN","stock",true,100], -["300716.SZ","300716","ST泉为","quanwei","qw",[],"CN","stock",true,100], +["300716.SZ","300716","*ST泉为","quanwei","qw",[],"CN","stock",true,100], ["600933.SH","600933","爱柯迪","aikedi","akd",[],"CN","stock",true,100], ["300766.SZ","300766","每日互动","meirihudong","mrhd",[],"CN","stock",true,100], ["601319.SH","601319","中国人保","zhongguorenbao","zgrb",[],"CN","stock",true,100], @@ -3547,9 +3542,9 @@ ["002949.SZ","002949","华阳国际","huayangguoji","hygj",[],"CN","stock",true,100], ["601187.SH","601187","厦门银行","xiamenyinhang","xmyh",[],"CN","stock",true,100], ["301419.SZ","301419","阿莱德","alaide","ald",[],"CN","stock",true,100], -["300594.SZ","300594","朗进科技","langjinkeji","ljkj",[],"CN","stock",true,100], +["300594.SZ","300594","ST朗进","langjin","lj",[],"CN","stock",true,100], ["603348.SH","603348","文灿股份","wencangufen","wcgf",[],"CN","stock",true,100], -["003004.SZ","003004","*ST声迅","shengxun","sx",[],"CN","stock",true,100], +["003004.SZ","003004","声迅股份","shengxungufen","sxgf",[],"CN","stock",true,100], ["603583.SH","603583","捷昌驱动","jiechangqudong","jcqd",[],"CN","stock",true,100], ["601577.SH","601577","长沙银行","changshayinhang","csyh",[],"CN","stock",true,100], ["001965.SZ","001965","招商公路","zhaoshanggonglu","zsgl",[],"CN","stock",true,100], @@ -3566,7 +3561,7 @@ ["300813.SZ","300813","泰林生物","tailinshengwu","tlsw",[],"CN","stock",true,100], ["002929.SZ","002929","润建股份","runjiangufen","rjgf",[],"CN","stock",true,100], ["600929.SH","600929","雪天盐业","xuetianyanye","xtyy",[],"CN","stock",true,100], -["002932.SZ","002932","明德生物","mingdeshengwu","mdsw",[],"CN","stock",true,100], +["002932.SZ","002932","*ST明德","mingde","md",[],"CN","stock",true,100], ["300765.SZ","300765","新诺威","xinnuowei","xnw",[],"CN","stock",true,100], ["300912.SZ","300912","凯龙高科","kailonggaoke","klgk",[],"CN","stock",true,100], ["300798.SZ","300798","锦鸡股份","jinjigufen","jjgf",[],"CN","stock",true,100], @@ -3643,7 +3638,7 @@ ["300815.SZ","300815","玉禾田","yuhetian","yht",[],"CN","stock",true,100], ["002972.SZ","002972","科安达","keanda","kad",[],"CN","stock",true,100], ["300816.SZ","300816","艾可蓝","aikelan","akl",[],"CN","stock",true,100], -["002977.SZ","002977","天箭科技","tianjiankeji","tjkj",[],"CN","stock",true,100], +["002977.SZ","002977","*ST天箭","tianjian","tj",[],"CN","stock",true,100], ["603290.SH","603290","斯达半导","sidabandao","sdbd",[],"CN","stock",true,100], ["603948.SH","603948","建业股份","jianyegufen","jygf",[],"CN","stock",true,100], ["300858.SZ","300858","科拓生物","ketuoshengwu","ktsw",[],"CN","stock",true,100], @@ -3727,7 +3722,7 @@ ["603095.SH","603095","越剑智能","yuejianzhineng","yjzn",[],"CN","stock",true,100], ["300846.SZ","300846","首都在线","shouduzaixian","sdzx",[],"CN","stock",true,100], ["688068.SH","688068","热景生物","rejingshengwu","rjsw",[],"CN","stock",true,100], -["688022.SH","688022","瀚川智能","hanchuanzhineng","hczn",[],"CN","stock",true,100], +["688022.SH","688022","ST瀚川","hanchuan","hc",[],"CN","stock",true,100], ["688100.SH","688100","威胜信息","weishengxinxi","wsxx",[],"CN","stock",true,100], ["688168.SH","688168","安博通","anbotong","abt",[],"CN","stock",true,100], ["688333.SH","688333","铂力特","bolite","blt",[],"CN","stock",true,100], @@ -3744,8 +3739,8 @@ ["688016.SH","688016","心脉医疗","xinmaiyiliao","xmyl",[],"CN","stock",true,100], ["605001.SH","605001","威奥股份","weiaogufen","wagf",[],"CN","stock",true,100], ["605100.SH","605100","华丰股份","huafenggufen","hfgf",[],"CN","stock",true,100], -["688066.SH","688066","航天宏图","hangtianhongtu","htht",[],"CN","stock",true,100], -["688033.SH","688033","天宜新材","tianyixincai","tyxc",[],"CN","stock",true,100], +["688066.SH","688066","*ST航图","hangtu","ht",[],"CN","stock",true,100], +["688033.SH","688033","*ST天宜","tianyi","ty",[],"CN","stock",true,100], ["688268.SH","688268","华特气体","huateqiti","htqt",[],"CN","stock",true,100], ["688028.SH","688028","沃尔德","woerde","wed",[],"CN","stock",true,100], ["002988.SZ","002988","豪美新材","haomeixincai","hmxc",[],"CN","stock",true,100], @@ -3881,7 +3876,7 @@ ["301007.SZ","301007","德迈仕","demaishi","dms",[],"CN","stock",true,100], ["300876.SZ","300876","蒙泰高新","mengtaigaoxin","mtgx",[],"CN","stock",true,100], ["301051.SZ","301051","信濠光电","xinhaoguangdian","xhgd",[],"CN","stock",true,100], -["601568.SH","601568","北元集团","beiyuanjituan","byjt",[],"CN","stock",true,100], +["601568.SH","601568","北元化工","beiyuanhuagong","byhg",[],"CN","stock",true,100], ["003011.SZ","003011","海象新材","haixiangxincai","hxxc",[],"CN","stock",true,100], ["300941.SZ","300941","创识科技","chuangshikeji","cskj",[],"CN","stock",true,100], ["300982.SZ","300982","苏文电能","suwendianneng","swdn",[],"CN","stock",true,100], @@ -3900,7 +3895,7 @@ ["300891.SZ","300891","惠云钛业","huiyuntaiye","hyty",[],"CN","stock",true,100], ["605338.SH","605338","巴比食品","babishipin","bbsp",[],"CN","stock",true,100], ["300900.SZ","300900","广联航空","guanglianhangkong","glhk",[],"CN","stock",true,100], -["605336.SH","605336","帅丰电器","shuaifengdianqi","sfdq",[],"CN","stock",true,100], +["605336.SH","605336","*ST帅电","shuaidian","sd",[],"CN","stock",true,100], ["300909.SZ","300909","汇创达","huichuangda","hcd",[],"CN","stock",true,100], ["605081.SH","605081","*ST太和","taihe","th",[],"CN","stock",true,100], ["300882.SZ","300882","万胜智能","wanshengzhineng","wszn",[],"CN","stock",true,100], @@ -3917,7 +3912,7 @@ ["688165.SH","688165","埃夫特-U","aifute-U","aft-U",[],"CN","stock",true,100], ["688085.SH","688085","三友医疗","sanyouyiliao","syyl",[],"CN","stock",true,100], ["688396.SH","688396","华润微","huarunwei","hrw",[],"CN","stock",true,100], -["688622.SH","688622","禾信仪器","hexinyiqi","hxyq",[],"CN","stock",true,100], +["688622.SH","688622","*ST禾信","hexin","hx",[],"CN","stock",true,100], ["688360.SH","688360","德马科技","demakeji","dmkj",[],"CN","stock",true,100], ["688579.SH","688579","地纬智能","diweizhineng","dwzn",[],"CN","stock",true,100], ["688518.SH","688518","联赢激光","lianyingjiguang","lyjg",[],"CN","stock",true,100], @@ -4088,7 +4083,7 @@ ["688127.SH","688127","蓝特光学","lanteguangxue","ltgx",[],"CN","stock",true,100], ["300972.SZ","300972","万辰集团","wanchenjituan","wcjt",[],"CN","stock",true,100], ["003035.SZ","003035","南网能源","nanwangnengyuan","nwny",[],"CN","stock",true,100], -["301030.SZ","301030","仕净科技","shijingkeji","sjkj",[],"CN","stock",true,100], +["301030.SZ","301030","*ST仕净","shijing","sj",[],"CN","stock",true,100], ["688595.SH","688595","芯海科技","xinhaikeji","xhkj",[],"CN","stock",true,100], ["688551.SH","688551","科威尔","keweier","kwe",[],"CN","stock",true,100], ["688383.SH","688383","新益昌","xinyichang","xyc",[],"CN","stock",true,100], @@ -4246,7 +4241,7 @@ ["001202.SZ","001202","炬申股份","jushengufen","jsgf",[],"CN","stock",true,100], ["688501.SH","688501","青达环保","qingdahuanbao","qdhb",[],"CN","stock",true,100], ["688147.SH","688147","微导纳米","weidaonami","wdnm",[],"CN","stock",true,100], -["688280.SH","688280","精进电动-UW","jingjindiandong-UW","jjdd-UW",[],"CN","stock",true,100], +["688280.SH","688280","精进电动-W","jingjindiandong-W","jjdd-W",[],"CN","stock",true,100], ["688663.SH","688663","新风光","xinfengguang","xfg",[],"CN","stock",true,100], ["688217.SH","688217","睿昂基因","ruiangjiyin","rajy",[],"CN","stock",true,100], ["688395.SH","688395","正弦电气","zhengxiandianqi","zxdq",[],"CN","stock",true,100], @@ -4263,7 +4258,7 @@ ["605259.SH","605259","绿田机械","lvtianjixie","ltjx",[],"CN","stock",true,100], ["001269.SZ","001269","欧晶科技","oujingkeji","ojkj",[],"CN","stock",true,100], ["688681.SH","688681","科汇股份","kehuigufen","khgf",[],"CN","stock",true,100], -["688201.SH","688201","信安世纪","xinanshiji","xasj",[],"CN","stock",true,100], +["688201.SH","688201","ST信安","xinan","xa",[],"CN","stock",true,100], ["688113.SH","688113","联测科技","liancekeji","lckj",[],"CN","stock",true,100], ["688700.SH","688700","东威科技","dongweikeji","dwkj",[],"CN","stock",true,100], ["688509.SH","688509","正元地信","zhengyuandixin","zydx",[],"CN","stock",true,100], @@ -4453,9 +4448,9 @@ ["688767.SH","688767","博拓生物","botuoshengwu","btsw",[],"CN","stock",true,100], ["301222.SZ","301222","浙江恒威","zhejianghengwei","zjhw",[],"CN","stock",true,100], ["301177.SZ","301177","迪阿股份","diagufen","dagf",[],"CN","stock",true,100], -["301139.SZ","301139","元道通信","yuandaotongxin","ydtx",[],"CN","stock",true,100], +["301139.SZ","301139","*ST元道","yuandao","yd",[],"CN","stock",true,100], ["688776.SH","688776","国光电气","guoguangdianqi","ggdq",[],"CN","stock",true,100], -["688511.SH","688511","*ST天微","tianwei","tw",[],"CN","stock",true,100], +["688511.SH","688511","天微电子","tianweidianzi","twdz",[],"CN","stock",true,100], ["301201.SZ","301201","诚达药业","chengdayaoye","cdyy",[],"CN","stock",true,100], ["301211.SZ","301211","亨迪药业","hengdiyaoye","hdyy",[],"CN","stock",true,100], ["301086.SZ","301086","鸿富瀚","hongfuhan","hfh",[],"CN","stock",true,100], @@ -4475,7 +4470,7 @@ ["301158.SZ","301158","德石股份","deshigufen","dsgf",[],"CN","stock",true,100], ["300834.SZ","300834","星辉环材","xinghuihuancai","xhhc",[],"CN","stock",true,100], ["301113.SZ","301113","雅艺科技","yayikeji","yykj",[],"CN","stock",true,100], -["301265.SZ","301265","华新环保","huaxinhuanbao","hxhb",[],"CN","stock",true,100], +["301265.SZ","301265","华新科技","huaxinkeji","hxkj",[],"CN","stock",true,100], ["301150.SZ","301150","中一科技","zhongyikeji","zykj",[],"CN","stock",true,100], ["301096.SZ","301096","百诚医药","baichengyiyao","bcyy",[],"CN","stock",true,100], ["301127.SZ","301127","武汉天源","wuhantianyuan","whty",[],"CN","stock",true,100], @@ -4569,7 +4564,7 @@ ["688707.SH","688707","振华新材","zhenhuaxincai","zhxc",[],"CN","stock",true,100], ["688272.SH","688272","富吉瑞","fujirui","fjr",[],"CN","stock",true,100], ["688121.SH","688121","卓然股份","zhuorangufen","zrgf",[],"CN","stock",true,100], -["688235.SH","688235","百济神州-U","baijishenzhou-U","bjsz-U",[],"CN","stock",true,100], +["688235.SH","688235","百济神州","baijishenzhou","bjsz",[],"CN","stock",true,100], ["003041.SZ","003041","真爱美家","zhenaimeijia","zamj",[],"CN","stock",true,100], ["603230.SH","603230","内蒙新华","neimengxinhua","nmxh",[],"CN","stock",true,100], ["301107.SZ","301107","瑜欣电子","yuxindianzi","yxdz",[],"CN","stock",true,100], @@ -4604,7 +4599,7 @@ ["603209.SH","603209","兴通股份","xingtonggufen","xtgf",[],"CN","stock",true,100], ["301312.SZ","301312","智立方","zhilifang","zlf",[],"CN","stock",true,100], ["301408.SZ","301408","华人健康","huarenjiankang","hrjk",[],"CN","stock",true,100], -["301288.SZ","301288","*ST清研","qingyan","qy",[],"CN","stock",true,100], +["301288.SZ","301288","清研环境","qingyanhuanjing","qyhj",[],"CN","stock",true,100], ["688332.SH","688332","中科蓝讯","zhongkelanxun","zklx",[],"CN","stock",true,100], ["301156.SZ","301156","美农生物","meinongshengwu","mnsw",[],"CN","stock",true,100], ["688249.SH","688249","晶合集成","jinghejicheng","jhjc",[],"CN","stock",true,100], @@ -4708,11 +4703,11 @@ ["001336.SZ","001336","楚环科技","chuhuankeji","chkj",[],"CN","stock",true,100], ["001226.SZ","001226","拓山重工","tuoshanzhonggong","tszg",[],"CN","stock",true,100], ["001231.SZ","001231","农心科技","nongxinkeji","nxkj",[],"CN","stock",true,100], -["603272.SH","603272","联翔股份","lianxianggufen","lxgf",[],"CN","stock",true,100], +["603272.SH","603272","*ST联翔","lianxiang","lx",[],"CN","stock",true,100], ["603097.SH","603097","江苏华辰","jiangsuhuachen","jshc",[],"CN","stock",true,100], ["603173.SH","603173","福斯达","fusida","fsd",[],"CN","stock",true,100], ["603061.SH","603061","金海通","jinhaitong","jht",[],"CN","stock",true,100], -["688213.SH","688213","思特威-W","sitewei-W","stw-W",[],"CN","stock",true,100], +["688213.SH","688213","思特威","sitewei","stw",[],"CN","stock",true,100], ["688223.SH","688223","晶科能源","jingkenengyuan","jkny",[],"CN","stock",true,100], ["688273.SH","688273","麦澜德","mailande","mld",[],"CN","stock",true,100], ["688472.SH","688472","阿特斯","atesi","ats",[],"CN","stock",true,100], @@ -4728,8 +4723,8 @@ ["301323.SZ","301323","新莱福","xinlaifu","xlf",[],"CN","stock",true,100], ["301396.SZ","301396","宏景科技","hongjingkeji","hjkj",[],"CN","stock",true,100], ["301277.SZ","301277","新天地","xintiandi","xtd",[],"CN","stock",true,100], -["688322.SH","688322","奥比中光-UW","aobizhongguang-UW","abzg-UW",[],"CN","stock",true,100], -["688270.SH","688270","臻镭科技","zhenleikeji","zlkj",[],"CN","stock",true,100], +["688322.SH","688322","奥比中光-W","aobizhongguang-W","abzg-W",[],"CN","stock",true,100], +["688270.SH","688270","ST臻镭","zhenlei","zl",[],"CN","stock",true,100], ["688251.SH","688251","井松智能","jingsongzhineng","jszn",[],"CN","stock",true,100], ["688348.SH","688348","昱能科技","yunengkeji","ynkj",[],"CN","stock",true,100], ["688370.SH","688370","丛麟科技","conglinkeji","clkj",[],"CN","stock",true,100], @@ -4769,7 +4764,7 @@ ["001339.SZ","001339","智微智能","zhiweizhineng","zwzn",[],"CN","stock",true,100], ["001314.SZ","001314","亿道信息","yidaoxinxi","ydxx",[],"CN","stock",true,100], ["001316.SZ","001316","润贝航科","runbeihangke","rbhk",[],"CN","stock",true,100], -["001270.SZ","001270","*ST铖昌","chengchang","cc",[],"CN","stock",true,100], +["001270.SZ","001270","铖昌科技","chengchangkeji","cckj",[],"CN","stock",true,100], ["001238.SZ","001238","浙江正特","zhejiangzhengte","zjzt",[],"CN","stock",true,100], ["001260.SZ","001260","坤泰股份","kuntaigufen","ktgf",[],"CN","stock",true,100], ["603190.SH","603190","亚通精工","yatongjinggong","ytjg",[],"CN","stock",true,100], @@ -4857,7 +4852,7 @@ ["920263.BJ","920263","中航泰达","zhonghangtaida","zhtd",[],"BSE","stock",true,100], ["920566.BJ","920566","梓橦宫","zitonggong","ztg",[],"BSE","stock",true,100], ["920433.BJ","920433","大唐药业","datangyaoye","dtyy",[],"BSE","stock",true,100], -["920090.BJ","920090","同辉信息","tonghuixinxi","thxx",[],"BSE","stock",true,100], +["920090.BJ","920090","*ST同辉","tonghui","th",[],"BSE","stock",true,100], ["920839.BJ","920839","万通液压","wantongyeya","wtyy",[],"BSE","stock",true,100], ["920553.BJ","920553","凯腾精工","kaitengjinggong","ktjg",[],"BSE","stock",true,100], ["920146.BJ","920146","华阳变速","huayangbiansu","hybs",[],"BSE","stock",true,100], @@ -4885,7 +4880,7 @@ ["920030.BJ","920030","德众汽车","dezhongqiche","dzqc",[],"BSE","stock",true,100], ["920047.BJ","920047","诺思兰德","nuosilande","nsld",[],"BSE","stock",true,100], ["920396.BJ","920396","常辅股份","changfugufen","cfgf",[],"BSE","stock",true,100], -["688428.SH","688428","诺诚健华-U","nuochengjianhua-U","ncjh-U",[],"CN","stock",true,100], +["688428.SH","688428","诺诚健华","nuochengjianhua","ncjh",[],"CN","stock",true,100], ["001376.SZ","001376","百通能源","baitongnengyuan","btny",[],"CN","stock",true,100], ["603052.SH","603052","可川科技","kechuankeji","kckj",[],"CN","stock",true,100], ["301353.SZ","301353","普莱得","pulaide","pld",[],"CN","stock",true,100], @@ -4943,7 +4938,7 @@ ["688041.SH","688041","海光信息","haiguangxinxi","hgxx",[],"CN","stock",true,100], ["301321.SZ","301321","翰博高新","hanbogaoxin","hbgx",[],"CN","stock",true,100], ["301192.SZ","301192","泰祥股份","taixianggufen","txgf",[],"CN","stock",true,100], -["688287.SH","688287","*ST观典","guandian","gd",[],"CN","stock",true,100], +["688287.SH","688287","退市观典","tuishiguandian","tsgd",[],"CN","stock",true,100], ["001267.SZ","001267","汇绿生态","huilvshengtai","hlst",[],"CN","stock",true,100], ["301287.SZ","301287","康力源","kangliyuan","kly",[],"CN","stock",true,100], ["001358.SZ","001358","兴欣新材","xingxinxincai","xxxc",[],"CN","stock",true,100], @@ -5002,7 +4997,7 @@ ["920378.BJ","920378","泰德股份","taidegufen","tdgf",[],"BSE","stock",true,100], ["301515.SZ","301515","港通医疗","gangtongyiliao","gtyl",[],"CN","stock",true,100], ["688489.SH","688489","三未信安","sanweixinan","swxa",[],"CN","stock",true,100], -["688496.SH","688496","清越科技","qingyuekeji","qykj",[],"CN","stock",true,100], +["688496.SH","688496","*ST清越","qingyue","qy",[],"CN","stock",true,100], ["301459.SZ","301459","丰茂股份","fengmaogufen","fmgf",[],"CN","stock",true,100], ["001367.SZ","001367","海森药业","haisenyaoye","hsyy",[],"CN","stock",true,100], ["688061.SH","688061","灿瑞科技","canruikeji","crkj",[],"CN","stock",true,100], @@ -5068,7 +5063,7 @@ ["001306.SZ","001306","夏厦精密","xiashajingmi","xsjm",[],"CN","stock",true,100], ["001378.SZ","001378","德冠新材","deguanxincai","dgxc",[],"CN","stock",true,100], ["688709.SH","688709","成都华微","chengduhuawei","cdhw",[],"CN","stock",true,100], -["920575.BJ","920575","康乐卫士","kangleweishi","klws",[],"BSE","stock",true,100], +["920575.BJ","920575","*ST康乐","kangle","kl",[],"BSE","stock",true,100], ["688141.SH","688141","杰华特","jiehuate","jht",[],"CN","stock",true,100], ["688525.SH","688525","佰维存储","baiweicunchu","bwcc",[],"CN","stock",true,100], ["920270.BJ","920270","天铭科技","tianmingkeji","tmkj",[],"BSE","stock",true,100], @@ -5141,7 +5136,7 @@ ["920876.BJ","920876","慧为智能","huiweizhineng","hwzn",[],"BSE","stock",true,100], ["920914.BJ","920914","远航精密","yuanhangjingmi","yhjm",[],"BSE","stock",true,100], ["920685.BJ","920685","新芝生物","xinzhishengwu","xzsw",[],"BSE","stock",true,100], -["920023.BJ","920023","田野股份","tianyegufen","tygf",[],"BSE","stock",true,100], +["920023.BJ","920023","*ST田野","tianye","ty",[],"BSE","stock",true,100], ["301602.SZ","301602","超研股份","chaoyangufen","cygf",[],"CN","stock",true,100], ["920895.BJ","920895","花溪科技","huaxikeji","hxkj",[],"BSE","stock",true,100], ["920017.BJ","920017","星昊医药","xinghaoyiyao","xhyy",[],"BSE","stock",true,100], @@ -5149,7 +5144,7 @@ ["301658.SZ","301658","首航新能","shouhangxinneng","shxn",[],"CN","stock",true,100], ["301626.SZ","301626","苏州天脉","suzhoutianmai","sztm",[],"CN","stock",true,100], ["301601.SZ","301601","惠通科技","huitongkeji","htkj",[],"CN","stock",true,100], -["301617.SZ","301617","博苑股份","boyuangufen","bygf",[],"CN","stock",true,100], +["301617.SZ","301617","博苑新材","boyuanxincai","byxc",[],"CN","stock",true,100], ["688708.SH","688708","佳驰科技","jiachikeji","jckj",[],"CN","stock",true,100], ["920237.BJ","920237","力佳科技","lijiakeji","ljkj",[],"BSE","stock",true,100], ["688443.SH","688443","智翔金泰-U","zhixiangjintai-U","zxjt-U",[],"CN","stock",true,100], @@ -5477,7 +5472,7 @@ ["920119.BJ","920119","美德乐","meidele","mdl",[],"BSE","stock",true,100], ["601112.SH","601112","振石股份","zhenshigufen","zsgf",[],"CN","stock",true,100], ["001220.SZ","001220","世盟股份","shimenggufen","smgf",[],"CN","stock",true,100], -["688712.SH","688712","北芯生命-U","beixinshengming-U","bxsm-U",[],"CN","stock",true,100], +["688712.SH","688712","北芯生命","beixinshengming","bxsm",[],"CN","stock",true,100], ["920180.BJ","920180","爱得科技","aidekeji","adkj",[],"BSE","stock",true,100], ["603284.SH","603284","林平发展","linpingfazhan","lpfz",[],"CN","stock",true,100], ["688818.SH","688818","电科蓝天","diankelantian","dklt",[],"CN","stock",true,100], @@ -5488,8 +5483,44 @@ ["920187.BJ","920187","通领科技","tonglingkeji","tlkj",[],"BSE","stock",true,100], ["301680.SZ","301680","固德电材","gudediancai","gddc",[],"CN","stock",true,100], ["920036.BJ","920036","觅睿科技","miruikeji","mrkj",[],"BSE","stock",true,100], -["920078.BJ","920078","N族兴","zuxing","zx",[],"BSE","stock",true,100], +["920078.BJ","920078","族兴新材","zuxingxincai","zxxc",[],"BSE","stock",true,100], ["920028.BJ","920028","新恒泰","xinhengtai","xht",[],"BSE","stock",true,100], +["301682.SZ","301682","宏明电子","hongmingdianzi","hmdz",[],"CN","stock",true,100], +["688781.SH","688781","视涯科技-UW","shiyakeji-UW","sykj-UW",[],"CN","stock",true,100], +["920069.BJ","920069","普昂医疗","puangyiliao","payl",[],"BSE","stock",true,100], +["920188.BJ","920188","悦龙科技","yuelongkeji","ylkj",[],"BSE","stock",true,100], +["920055.BJ","920055","隆源股份","longyuangufen","lygf",[],"BSE","stock",true,100], +["688813.SH","688813","泰金新能","taijinxinneng","tjxn",[],"CN","stock",true,100], +["001257.SZ","001257","盛龙股份","shenglonggufen","slgf",[],"CN","stock",true,100], +["301683.SZ","301683","慧谷新材","huiguxincai","hgxc",[],"CN","stock",true,100], +["920011.BJ","920011","晨光电机","chenguangdianji","cgdj",[],"BSE","stock",true,100], +["603459.SH","603459","红板科技","hongbankeji","hbkj",[],"CN","stock",true,100], +["301696.SZ","301696","三瑞智能","sanruizhineng","srzn",[],"CN","stock",true,100], +["920181.BJ","920181","赛英电子","saiyingdianzi","sydz",[],"BSE","stock",true,100], +["688811.SH","688811","有研复材","youyanfucai","yyfc",[],"CN","stock",true,100], +["920012.BJ","920012","创达新材","chuangdaxincai","cdxc",[],"BSE","stock",true,100], +["920177.BJ","920177","恒道科技","hengdaokeji","hdkj",[],"BSE","stock",true,100], +["603293.SH","603293","埃泰克","aitaike","atk",[],"CN","stock",true,100], +["301666.SZ","301666","大普微-UW","dapuwei-UW","dpw-UW",[],"CN","stock",true,100], +["301513.SZ","301513","尚水智能","shangshuizhineng","sszn",[],"CN","stock",true,100], +["920191.BJ","920191","瑞尔竞达","ruierjingda","rejd",[],"BSE","stock",true,100], +["001312.SZ","001312","福恩股份","fuengufen","fegf",[],"CN","stock",true,100], +["688820.SH","688820","盛合晶微","shenghejingwei","shjw",[],"CN","stock",true,100], +["920125.BJ","920125","鸿仕达","hongshida","hsd",[],"BSE","stock",true,100], +["688808.SH","688808","联讯仪器","lianxunyiqi","lxyq",[],"CN","stock",true,100], +["920156.BJ","920156","海昌智能","haichangzhineng","hczn",[],"BSE","stock",true,100], +["920186.BJ","920186","中科仪","zhongkeyi","zky",[],"BSE","stock",true,100], +["301599.SZ","301599","理奇智能","liqizhineng","lqzn",[],"CN","stock",true,100], +["920200.BJ","920200","振宏股份","zhenhonggufen","zhgf",[],"BSE","stock",true,100], +["603407.SH","603407","长裕集团","zhangyujituan","zyjt",[],"CN","stock",true,100], +["301531.SZ","301531","春光集团","chunguangjituan","cgjt",[],"CN","stock",true,100], +["001393.SZ","001393","维通利","weitongli","wtl",[],"CN","stock",true,100], +["920178.BJ","920178","锐翔智能","ruixiangzhineng","rxzn",[],"BSE","stock",true,100], +["920096.BJ","920096","嘉晨智能","jiachenzhineng","jczn",[],"BSE","stock",true,100], +["001365.SZ","001365","天海电子","tianhaidianzi","thdz",[],"CN","stock",true,100], +["001237.SZ","001237","C惠康科技","Chuikangkeji","Chkkj",[],"CN","stock",true,100], +["920220.BJ","920220","朗信电气","langxindianqi","lxdq",[],"BSE","stock",true,100], +["603435.SH","603435","嘉德利","jiadeli","jdl",[],"CN","stock",true,100], ["00001.HK","00001","长和","zhanghe","zh",[],"HK","stock",true,100], ["00002.HK","00002","中电控股","zhongdiankonggu","zdkg",[],"HK","stock",true,100], ["00003.HK","00003","香港中华煤气","xianggangzhonghuameiqi","xgzhmq",[],"HK","stock",true,100], @@ -5504,7 +5535,7 @@ ["00014.HK","00014","希慎兴业","xishenxingye","xsxy",[],"HK","stock",true,100], ["00016.HK","00016","新鸿基地产","xinhongjidichan","xhjdc",[],"HK","stock",true,100], ["00017.HK","00017","新世界发展","xinshijiefazhan","xsjfz",[],"HK","stock",true,100], -["00018.HK","00018","东方企控集团","dongfangqikongjituan","dfqkjt",[],"HK","stock",true,100], +["00018.HK","00018","东方传媒集团","dongfangchuanmeijituan","dfcmjt",[],"HK","stock",true,100], ["00019.HK","00019","太古股份公司A","taigugufengongsiA","tggfgsA",[],"HK","stock",true,100], ["00020.HK","00020","商汤-W","shangtang-W","st-W",[],"HK","stock",true,100], ["00021.HK","00021","大中华控股","dazhonghuakonggu","dzhkg",[],"HK","stock",true,100], @@ -5546,6 +5577,7 @@ ["00064.HK","00064","结好控股","jiehaokonggu","jhkg",[],"HK","stock",true,100], ["00065.HK","00065","弘海高新资源","honghaigaoxinziyuan","hhgxzy",[],"HK","stock",true,100], ["00066.HK","00066","港铁公司","gangtiegongsi","gtgs",[],"HK","stock",true,100], +["00068.HK","00068","MANYCORE TECH","MANYCORE TECH","MANYCORE TECH",[],"HK","stock",true,100], ["00069.HK","00069","香格里拉(亚洲)","xianggelila(yazhou)","xgll(yz)",[],"HK","stock",true,100], ["00070.HK","00070","金粤控股","jinyuekonggu","jykg",[],"HK","stock",true,100], ["00071.HK","00071","美丽华酒店","meilihuajiudian","mlhjd",[],"HK","stock",true,100], @@ -5575,7 +5607,7 @@ ["00097.HK","00097","恒基发展","hengjifazhan","hjfz",[],"HK","stock",true,100], ["00098.HK","00098","兴发铝业","xingfalvye","xfly",[],"HK","stock",true,100], ["00099.HK","00099","王氏国际","wangshiguoji","wsgj",[],"HK","stock",true,100], -["00100.HK","00100","MINIMAX-WP","MINIMAX-WP","MINIMAX-WP",[],"HK","stock",true,100], +["00100.HK","00100","MINIMAX-W","MINIMAX-W","MINIMAX-W",[],"HK","stock",true,100], ["00101.HK","00101","恒隆地产","henglongdichan","hldc",[],"HK","stock",true,100], ["00103.HK","00103","首佳科技","shoujiakeji","sjkj",[],"HK","stock",true,100], ["00104.HK","00104","ASIA COMM HOLD","ASIA COMM HOLD","ASIA COMM HOLD",[],"HK","stock",true,100], @@ -5665,7 +5697,7 @@ ["00204.HK","00204","资本界金控","zibenjiejinkong","zbjjk",[],"HK","stock",true,100], ["00205.HK","00205","BFB HEALTH","BFB HEALTH","BFB HEALTH",[],"HK","stock",true,100], ["00206.HK","00206","华商能源","huashangnengyuan","hsny",[],"HK","stock",true,100], -["00209.HK","00209","瀛晟科学","yingchengkexue","yckx",[],"HK","stock",true,100], +["00209.HK","00209","万维智能科技","wanweizhinengkeji","wwznkj",[],"HK","stock",true,100], ["00210.HK","00210","达芙妮国际","dafuniguoji","dfngj",[],"HK","stock",true,100], ["00211.HK","00211","STYLAND HOLD","YLAND HOLD","YLAND HOLD",[],"HK","stock",true,100], ["00212.HK","00212","NANYANG HOLD","ANYANG HOLD","ANYANG HOLD",[],"HK","stock",true,100], @@ -5697,7 +5729,7 @@ ["00244.HK","00244","先施","xianshi","xs",[],"HK","stock",true,100], ["00245.HK","00245","中薇金融","zhongweijinrong","zwjr",[],"HK","stock",true,100], ["00247.HK","00247","TST PROPERTIES","TST PROPERTIES","TST PROPERTIES",[],"HK","stock",true,100], -["00248.HK","00248","香港通讯国际-新","xianggangtongxunguoji-xin","xgtxgj-x",[],"HK","stock",true,100], +["00248.HK","00248","香港通讯国际控股","xianggangtongxunguojikonggu","xgtxgjkg",[],"HK","stock",true,100], ["00251.HK","00251","爪哇控股","zhaowakonggu","zwkg",[],"HK","stock",true,100], ["00252.HK","00252","华信地产财务","huaxindichancaiwu","hxdccw",[],"HK","stock",true,100], ["00253.HK","00253","顺豪控股","shunhaokonggu","shkg",[],"HK","stock",true,100], @@ -5759,7 +5791,7 @@ ["00322.HK","00322","康师傅控股","kangshifukonggu","ksfkg",[],"HK","stock",true,100], ["00323.HK","00323","马鞍山钢铁股份","maanshangangtiegufen","masgtgf",[],"HK","stock",true,100], ["00325.HK","00325","布鲁可","buluke","blk",[],"HK","stock",true,100], -["00326.HK","00326","中国星集团","zhongguoxingjituan","zgxjt",[],"HK","stock",true,100], +["00326.HK","00326","中国星集团-二千","zhongguoxingjituan-erqian","zgxjt-eq",[],"HK","stock",true,100], ["00327.HK","00327","百富环球","baifuhuanqiu","bfhq",[],"HK","stock",true,100], ["00328.HK","00328","ALCO HOLDINGS","ALCO HOLDINGS","ALCO HOLDINGS",[],"HK","stock",true,100], ["00329.HK","00329","东建国际","dongjianguoji","djgj",[],"HK","stock",true,100], @@ -5772,7 +5804,7 @@ ["00336.HK","00336","华宝国际","huabaoguoji","hbgj",[],"HK","stock",true,100], ["00337.HK","00337","绿地香港","lvdixianggang","ldxg",[],"HK","stock",true,100], ["00338.HK","00338","上海石油化工股份","shanghaishiyouhuagonggufen","shsyhggf",[],"HK","stock",true,100], -["00339.HK","00339","中国科创产业投资","zhongguokechuangchanyetouzi","zgkccytz",[],"HK","stock",true,100], +["00339.HK","00339","全球数字控股","quanqiushuzikonggu","qqszkg",[],"HK","stock",true,100], ["00340.HK","00340","潼关黄金","tongguanhuangjin","tghj",[],"HK","stock",true,100], ["00341.HK","00341","大家乐集团","dajialejituan","djljt",[],"HK","stock",true,100], ["00343.HK","00343","文化传信","wenhuachuanxin","whcx",[],"HK","stock",true,100], @@ -5839,7 +5871,7 @@ ["00420.HK","00420","福田实业","futianshiye","ftsy",[],"HK","stock",true,100], ["00422.HK","00422","越南制造加工出口","yuenanzhizaojiagongchukou","ynzzjgck",[],"HK","stock",true,100], ["00423.HK","00423","经济日报集团","jingjiribaojituan","jjrbjt",[],"HK","stock",true,100], -["00425.HK","00425","敏实集团(一百)","minshijituan(yibai)","msjt(yb)",[],"HK","stock",true,100], +["00425.HK","00425","敏实集团","minshijituan","msjt",[],"HK","stock",true,100], ["00426.HK","00426","万华媒体","wanhuameiti","whmt",[],"HK","stock",true,100], ["00428.HK","00428","中国天弓控股","zhongguotiangongkonggu","zgtgkg",[],"HK","stock",true,100], ["00430.HK","00430","东方兴业控股","dongfangxingyekonggu","dfxykg",[],"HK","stock",true,100], @@ -5858,7 +5890,6 @@ ["00455.HK","00455","天大药业","tiandayaoye","tdyy",[],"HK","stock",true,100], ["00456.HK","00456","新城市建设发展","xinchengshijianshefazhan","xcsjsfz",[],"HK","stock",true,100], ["00458.HK","00458","联亚集团","lianyajituan","lyjt",[],"HK","stock",true,100], -["00459.HK","00459","鋑联控股","cuanliankonggu","clkg",[],"HK","stock",true,100], ["00460.HK","00460","四环医药","sihuanyiyao","shyy",[],"HK","stock",true,100], ["00464.HK","00464","中国智能科技","zhongguozhinengkeji","zgznkj",[],"HK","stock",true,100], ["00465.HK","00465","富通科技","futongkeji","ftkj",[],"HK","stock",true,100], @@ -5866,7 +5897,7 @@ ["00468.HK","00468","纷美包装","fenmeibaozhuang","fmbz",[],"HK","stock",true,100], ["00470.HK","00470","先导智能","xiandaozhineng","xdzn",[],"HK","stock",true,100], ["00471.HK","00471","中播数据","zhongboshuju","zbsj",[],"HK","stock",true,100], -["00472.HK","00472","新丝路文旅","xinsiluwenlv","xslwl",[],"HK","stock",true,100], +["00472.HK","00472","新丝路控股集团","xinsilukonggujituan","xslkgjt",[],"HK","stock",true,100], ["00474.HK","00474","信铭生命科技","xinmingshengmingkeji","xmsmkj",[],"HK","stock",true,100], ["00475.HK","00475","中发展控股","zhongfazhankonggu","zfzkg",[],"HK","stock",true,100], ["00476.HK","00476","科轩动力控股","kexuandonglikonggu","kxdlkg",[],"HK","stock",true,100], @@ -5878,7 +5909,6 @@ ["00486.HK","00486","俄铝","elv","el",[],"HK","stock",true,100], ["00487.HK","00487","实德环球","shidehuanqiu","sdhq",[],"HK","stock",true,100], ["00488.HK","00488","丽新发展","lixinfazhan","lxfz",[],"HK","stock",true,100], -["00489.HK","00489","东风集团股份","dongfengjituangufen","dfjtgf",[],"HK","stock",true,100], ["00491.HK","00491","英皇文化产业","yinghuangwenhuachanye","yhwhcy",[],"HK","stock",true,100], ["00493.HK","00493","国美零售","guomeilingshou","gmls",[],"HK","stock",true,100], ["00495.HK","00495","PALADIN","PALADIN","PALADIN",[],"HK","stock",true,100], @@ -6008,7 +6038,7 @@ ["00660.HK","00660","玮俊生物科技","weijunshengwukeji","wjswkj",[],"HK","stock",true,100], ["00661.HK","00661","中国大冶有色金属","zhongguodayeyousejinshu","zgdyysjs",[],"HK","stock",true,100], ["00662.HK","00662","亚洲金融","yazhoujinrong","yzjr",[],"HK","stock",true,100], -["00663.HK","00663","金山能源","jinshannengyuan","jsny",[],"HK","stock",true,100], +["00664.HK","00664","铜师傅","tongshifu","tsf",[],"HK","stock",true,100], ["00666.HK","00666","瑞浦兰钧","ruipulanjun","rplj",[],"HK","stock",true,100], ["00667.HK","00667","中国东方教育","zhongguodongfangjiaoyu","zgdfjy",[],"HK","stock",true,100], ["00669.HK","00669","创科实业","chuangkeshiye","cksy",[],"HK","stock",true,100], @@ -6106,7 +6136,6 @@ ["00798.HK","00798","中电光谷","zhongdianguanggu","zdgg",[],"HK","stock",true,100], ["00799.HK","00799","IGG","IGG","IGG",[],"HK","stock",true,100], ["00800.HK","00800","文远知行-W","wenyuanzhixing-W","wyzx-W",[],"HK","stock",true,100], -["00802.HK","00802","中国钱包","zhongguoqianbao","zgqb",[],"HK","stock",true,100], ["00804.HK","00804","鼎石资本","dingshiziben","dszb",[],"HK","stock",true,100], ["00805.HK","00805","新吉奥房车","xinjiaofangche","xjafc",[],"HK","stock",true,100], ["00806.HK","00806","惠理集团","huilijituan","hljt",[],"HK","stock",true,100], @@ -6256,7 +6285,7 @@ ["01001.HK","01001","沪港联合","huganglianhe","hglh",[],"HK","stock",true,100], ["01002.HK","01002","威铖国际","weichengguoji","wcgj",[],"HK","stock",true,100], ["01003.HK","01003","欢喜传媒","huanxichuanmei","hxcm",[],"HK","stock",true,100], -["01004.HK","01004","中国智慧能源-新","zhongguozhihuinengyuan-xin","zgzhny-x",[],"HK","stock",true,100], +["01004.HK","01004","中国智慧能源","zhongguozhihuinengyuan","zgzhny",[],"HK","stock",true,100], ["01005.HK","01005","MATRIX HOLDINGS","MATRIX HOLDINGS","MATRIX HOLDINGS",[],"HK","stock",true,100], ["01007.HK","01007","龙辉国际控股","longhuiguojikonggu","lhgjkg",[],"HK","stock",true,100], ["01008.HK","01008","力图控股","litukonggu","ltkg",[],"HK","stock",true,100], @@ -6265,6 +6294,7 @@ ["01011.HK","01011","泰凌医药","tailingyiyao","tlyy",[],"HK","stock",true,100], ["01013.HK","01013","伟俊集团控股","weijunjituankonggu","wjjtkg",[],"HK","stock",true,100], ["01020.HK","01020","中细软科技","zhongxiruankeji","zxrkj",[],"HK","stock",true,100], +["01021.HK","01021","华沿机器人","huayanjiqiren","hyjqr",[],"HK","stock",true,100], ["01022.HK","01022","飞鱼科技","feiyukeji","fykj",[],"HK","stock",true,100], ["01023.HK","01023","时代集团控股","shidaijituankonggu","sdjtkg",[],"HK","stock",true,100], ["01024.HK","01024","快手-W","kuaishou-W","ks-W",[],"HK","stock",true,100], @@ -6392,6 +6422,7 @@ ["01183.HK","01183","澳能建设","aonengjianshe","anjs",[],"HK","stock",true,100], ["01184.HK","01184","S.A.S. DRAGON","S.A.S. DRAGON","S.A.S. DRAGON",[],"HK","stock",true,100], ["01186.HK","01186","中国铁建","zhongguotiejian","zgtj",[],"HK","stock",true,100], +["01187.HK","01187","可孚医疗","kefuyiliao","kfyl",[],"HK","stock",true,100], ["01188.HK","01188","正道集团","zhengdaojituan","zdjt",[],"HK","stock",true,100], ["01193.HK","01193","华润燃气","huarunranqi","hrrq",[],"HK","stock",true,100], ["01195.HK","01195","京维集团","jingweijituan","jwjt",[],"HK","stock",true,100], @@ -6427,6 +6458,7 @@ ["01233.HK","01233","时代中国控股","shidaizhongguokonggu","sdzgkg",[],"HK","stock",true,100], ["01234.HK","01234","中国利郎","zhongguolilang","zgll",[],"HK","stock",true,100], ["01235.HK","01235","专业旅运","zhuanyelvyun","zyly",[],"HK","stock",true,100], +["01236.HK","01236","乐动机器人","ledongjiqiren","ldjqr",[],"HK","stock",true,100], ["01237.HK","01237","中科生物","zhongkeshengwu","zksw",[],"HK","stock",true,100], ["01238.HK","01238","宝龙地产","baolongdichan","bldc",[],"HK","stock",true,100], ["01239.HK","01239","TEAMWAY INTL GP","TEAMWAY INTL GP","TEAMWAY INTL GP",[],"HK","stock",true,100], @@ -6510,7 +6542,7 @@ ["01349.HK","01349","复旦张江","fudanzhangjiang","fdzj",[],"HK","stock",true,100], ["01351.HK","01351","辉煌明天","huihuangmingtian","hhmt",[],"HK","stock",true,100], ["01354.HK","01354","经发物业","jingfawuye","jfwy",[],"HK","stock",true,100], -["01355.HK","01355","朸浚国际","lijunguoji","ljgj",[],"HK","stock",true,100], +["01355.HK","01355","生物系统工程","shengwuxitonggongcheng","swxtgc",[],"HK","stock",true,100], ["01357.HK","01357","美图公司","meitugongsi","mtgs",[],"HK","stock",true,100], ["01358.HK","01358","普华和顺","puhuaheshun","phhs",[],"HK","stock",true,100], ["01359.HK","01359","中国信达","zhongguoxinda","zgxd",[],"HK","stock",true,100], @@ -6595,8 +6627,7 @@ ["01486.HK","01486","思城控股","sichengkonggu","sckg",[],"HK","stock",true,100], ["01488.HK","01488","百福控股","baifukonggu","bfkg",[],"HK","stock",true,100], ["01489.HK","01489","GC CONSTRUCTION","GC CONSTRUCTION","GC CONSTRUCTION",[],"HK","stock",true,100], -["01490.HK","01490","车市科技","cheshikeji","cskj",[],"HK","stock",true,100], -["01495.HK","01495","集一控股","jiyikonggu","jykg",[],"HK","stock",true,100], +["01490.HK","01490","AI X TECH","AI X TECH","AI X TECH",[],"HK","stock",true,100], ["01496.HK","01496","亚积邦租赁","yajibangzulin","yjbzl",[],"HK","stock",true,100], ["01497.HK","01497","燕之屋","yanzhiwu","yzw",[],"HK","stock",true,100], ["01498.HK","01498","培力农本方","peilinongbenfang","plnbf",[],"HK","stock",true,100], @@ -6674,8 +6705,9 @@ ["01601.HK","01601","中关村科技租赁","zhongguancunkejizulin","zgckjzl",[],"HK","stock",true,100], ["01606.HK","01606","国银金租","guoyinjinzu","gyjz",[],"HK","stock",true,100], ["01608.HK","01608","伟能集团","weinengjituan","wnjt",[],"HK","stock",true,100], +["01609.HK","01609","天星医疗","tianxingyiliao","txyl",[],"HK","stock",true,100], ["01610.HK","01610","中粮家佳康","zhongliangjiajiakang","zljjk",[],"HK","stock",true,100], -["01611.HK","01611","新火科技控股","xinhuokejikonggu","xhkjkg",[],"HK","stock",true,100], +["01611.HK","01611","新火集团","xinhuojituan","xhjt",[],"HK","stock",true,100], ["01612.HK","01612","永胜医疗","yongshengyiliao","ysyl",[],"HK","stock",true,100], ["01613.HK","01613","协同通信","xietongtongxin","xttx",[],"HK","stock",true,100], ["01615.HK","01615","奥邦建筑","aobangjianzhu","abjz",[],"HK","stock",true,100], @@ -6742,7 +6774,7 @@ ["01698.HK","01698","腾讯音乐-SW","tengxunyinyue-SW","txyy-SW",[],"HK","stock",true,100], ["01701.HK","01701","途屹控股","tuyikonggu","tykg",[],"HK","stock",true,100], ["01702.HK","01702","东光化工","dongguanghuagong","dghg",[],"HK","stock",true,100], -["01703.HK","01703","维力生活科技","weilishenghuokeji","wlshkj",[],"HK","stock",true,100], +["01703.HK","01703","谊和股份(新)","yihegufen(xin)","yhgf(x)",[],"HK","stock",true,100], ["01705.HK","01705","宾仕国际","binshiguoji","bsgj",[],"HK","stock",true,100], ["01707.HK","01707","致浩达控股","zhihaodakonggu","zhdkg",[],"HK","stock",true,100], ["01708.HK","01708","三宝科技","sanbaokeji","sbkj",[],"HK","stock",true,100], @@ -6782,7 +6814,7 @@ ["01748.HK","01748","信源企业集团","xinyuanqiyejituan","xyqyjt",[],"HK","stock",true,100], ["01749.HK","01749","杉杉品牌","shanshanpinpai","sspp",[],"HK","stock",true,100], ["01750.HK","01750","全达电器集团控股","quandadianqijituankonggu","qddqjtkg",[],"HK","stock",true,100], -["01751.HK","01751","景联集团","jinglianjituan","jljt",[],"HK","stock",true,100], +["01751.HK","01751","智算能建","zhisuannengjian","zsnj",[],"HK","stock",true,100], ["01752.HK","01752","澳洲成峰高教","aozhouchengfenggaojiao","azcfgj",[],"HK","stock",true,100], ["01753.HK","01753","兑吧","duiba","db",[],"HK","stock",true,100], ["01755.HK","01755","新城悦服务","xinchengyuefuwu","xcyfw",[],"HK","stock",true,100], @@ -6882,6 +6914,7 @@ ["01876.HK","01876","百威亚太","baiweiyatai","bwyt",[],"HK","stock",true,100], ["01877.HK","01877","君实生物","junshishengwu","jssw",[],"HK","stock",true,100], ["01878.HK","01878","南戈壁","nangebi","ngb",[],"HK","stock",true,100], +["01879.HK","01879","曦智科技-P","xizhikeji-P","xzkj-P",[],"HK","stock",true,100], ["01880.HK","01880","中国中免","zhongguozhongmian","zgzm",[],"HK","stock",true,100], ["01882.HK","01882","海天国际","haitianguoji","htgj",[],"HK","stock",true,100], ["01883.HK","01883","中信国际电讯","zhongxinguojidianxun","zxgjdx",[],"HK","stock",true,100], @@ -6890,7 +6923,7 @@ ["01889.HK","01889","三爱健康集团","sanaijiankangjituan","sajkjt",[],"HK","stock",true,100], ["01890.HK","01890","中国科培","zhongguokepei","zgkp",[],"HK","stock",true,100], ["01891.HK","01891","兴合控股","xinghekonggu","xhkg",[],"HK","stock",true,100], -["01894.HK","01894","恒益控股(新)","hengyikonggu(xin)","hykg(x)",[],"HK","stock",true,100], +["01894.HK","01894","恒益控股","hengyikonggu","hykg",[],"HK","stock",true,100], ["01895.HK","01895","鑫苑服务","xinyuanfuwu","xyfw",[],"HK","stock",true,100], ["01896.HK","01896","猫眼娱乐","maoyanyule","myyl",[],"HK","stock",true,100], ["01897.HK","01897","美亨实业","meihengshiye","mhsy",[],"HK","stock",true,100], @@ -6915,7 +6948,6 @@ ["01919.HK","01919","中远海控","zhongyuanhaikong","zyhk",[],"HK","stock",true,100], ["01920.HK","01920","中国网成","zhongguowangcheng","zgwc",[],"HK","stock",true,100], ["01921.HK","01921","达力普控股","dalipukonggu","dlpkg",[],"HK","stock",true,100], -["01922.HK","01922","瑞森生活服务","ruisenshenghuofuwu","rsshfw",[],"HK","stock",true,100], ["01925.HK","01925","旷世芳香","kuangshifangxiang","ksfx",[],"HK","stock",true,100], ["01927.HK","01927","久久王","jiujiuwang","jjw",[],"HK","stock",true,100], ["01928.HK","01928","金沙中国有限公司","jinshazhongguoyouxiangongsi","jszgyxgs",[],"HK","stock",true,100], @@ -6970,6 +7002,7 @@ ["01986.HK","01986","彩客新能源","caikexinnengyuan","ckxny",[],"HK","stock",true,100], ["01987.HK","01987","BENG SOON MACH","BENG SOON MACH","BENG SOON MACH",[],"HK","stock",true,100], ["01988.HK","01988","民生银行","minshengyinhang","msyh",[],"HK","stock",true,100], +["01989.HK","01989","广合科技","guanghekeji","ghkj",[],"HK","stock",true,100], ["01991.HK","01991","大洋集团","dayangjituan","dyjt",[],"HK","stock",true,100], ["01993.HK","01993","雅仕维","yashiwei","ysw",[],"HK","stock",true,100], ["01995.HK","01995","永升服务","yongshengfuwu","ysfw",[],"HK","stock",true,100], @@ -7054,10 +7087,10 @@ ["02153.HK","02153","达丰设备","dafengshebei","dfsb",[],"HK","stock",true,100], ["02155.HK","02155","森松国际","sensongguoji","ssgj",[],"HK","stock",true,100], ["02156.HK","02156","建发物业","jianfawuye","jfwy",[],"HK","stock",true,100], -["02157.HK","02157","乐普生物-B","lepushengwu-B","lpsw-B",[],"HK","stock",true,100], +["02157.HK","02157","乐普生物","lepushengwu","lpsw",[],"HK","stock",true,100], ["02158.HK","02158","医渡科技","yidukeji","ydkj",[],"HK","stock",true,100], ["02159.HK","02159","麦迪卫康","maidiweikang","mdwk",[],"HK","stock",true,100], -["02160.HK","02160","微创心通-B-新","weichuangxintong-B-xin","wcxt-B-x",[],"HK","stock",true,100], +["02160.HK","02160","微创心通-B","weichuangxintong-B","wcxt-B",[],"HK","stock",true,100], ["02161.HK","02161","健倍苗苗","jianbeimiaomiao","jbmm",[],"HK","stock",true,100], ["02162.HK","02162","康诺亚-B","kangnuoya-B","kny-B",[],"HK","stock",true,100], ["02163.HK","02163","远大住工","yuandazhugong","ydzg",[],"HK","stock",true,100], @@ -7263,7 +7296,8 @@ ["02465.HK","02465","龙蟠科技","longpankeji","lpkj",[],"HK","stock",true,100], ["02469.HK","02469","粉笔","fenbi","fb",[],"HK","stock",true,100], ["02473.HK","02473","喜相逢集团","xixiangfengjituan","xxfjt",[],"HK","stock",true,100], -["02477.HK","02477","经纬天地","jingweitiandi","jwtd",[],"HK","stock",true,100], +["02476.HK","02476","胜宏科技","shenghongkeji","shkj",[],"HK","stock",true,100], +["02477.HK","02477","经纬天地(新)","jingweitiandi(xin)","jwtd(x)",[],"HK","stock",true,100], ["02479.HK","02479","天聚地合","tianjudihe","tjdh",[],"HK","stock",true,100], ["02480.HK","02480","绿竹生物-B","lvzhushengwu-B","lzsw-B",[],"HK","stock",true,100], ["02481.HK","02481","慧居科技","huijukeji","hjkj",[],"HK","stock",true,100], @@ -7274,6 +7308,7 @@ ["02488.HK","02488","元征科技","yuanzhengkeji","yzkj",[],"HK","stock",true,100], ["02489.HK","02489","集海黄金","jihaihuangjin","jhhj",[],"HK","stock",true,100], ["02490.HK","02490","乐舱物流","lecangwuliu","lcwl",[],"HK","stock",true,100], +["02493.HK","02493","迈威生物-B","maiweishengwu-B","mwsw-B",[],"HK","stock",true,100], ["02495.HK","02495","声通科技","shengtongkeji","stkj",[],"HK","stock",true,100], ["02496.HK","02496","友芝友生物-B","youzhiyoushengwu-B","yzysw-B",[],"HK","stock",true,100], ["02497.HK","02497","富景中国控股","fujingzhongguokonggu","fjzgkg",[],"HK","stock",true,100], @@ -7301,6 +7336,7 @@ ["02521.HK","02521","升辉清洁","shenghuiqingjie","shqj",[],"HK","stock",true,100], ["02522.HK","02522","一脉阳光","yimaiyangguang","ymyg",[],"HK","stock",true,100], ["02525.HK","02525","禾赛-W","hesai-W","hs-W",[],"HK","stock",true,100], +["02526.HK","02526","德适-B","deshi-B","ds-B",[],"HK","stock",true,100], ["02528.HK","02528","尚晋国际控股","shangjinguojikonggu","sjgjkg",[],"HK","stock",true,100], ["02529.HK","02529","泓盈城市服务","hongyingchengshifuwu","hycsfw",[],"HK","stock",true,100], ["02530.HK","02530","纽曼思","niumansi","nms",[],"HK","stock",true,100], @@ -7376,6 +7412,7 @@ ["02629.HK","02629","MIRXES-B","MIRXES-B","MIRXES-B",[],"HK","stock",true,100], ["02630.HK","02630","旺山旺水-B","wangshanwangshui-B","wsws-B",[],"HK","stock",true,100], ["02631.HK","02631","天岳先进","tianyuexianjin","tyxj",[],"HK","stock",true,100], +["02632.HK","02632","泽景股份","zejinggufen","zjgf",[],"HK","stock",true,100], ["02633.HK","02633","雅各臣科研制药","yagechenkeyanzhiyao","ygckyzy",[],"HK","stock",true,100], ["02635.HK","02635","诺比侃","nuobikan","nbk",[],"HK","stock",true,100], ["02637.HK","02637","海西新药","haixixinyao","hxxy",[],"HK","stock",true,100], @@ -7418,14 +7455,17 @@ ["02698.HK","02698","乐舒适","leshushi","lss",[],"HK","stock",true,100], ["02699.HK","02699","新明中国","xinmingzhongguo","xmzg",[],"HK","stock",true,100], ["02700.HK","02700","格林国际控股","gelinguojikonggu","glgjkg",[],"HK","stock",true,100], +["02701.HK","02701","国民技术","guominjishu","gmjs",[],"HK","stock",true,100], ["02706.HK","02706","海致科技集团","haizhikejijituan","hzkjjt",[],"HK","stock",true,100], ["02714.HK","02714","牧原股份","muyuangufen","mygf",[],"HK","stock",true,100], ["02715.HK","02715","埃斯顿","aisidun","asd",[],"HK","stock",true,100], ["02718.HK","02718","明略科技-W","minglvekeji-W","mlkj-W",[],"HK","stock",true,100], ["02720.HK","02720","乐欣户外","lexinhuwai","lxhw",[],"HK","stock",true,100], ["02722.HK","02722","重庆机电","chongqingjidian","cqjd",[],"HK","stock",true,100], +["02726.HK","02726","瀚天天成","hantiantiancheng","httc",[],"HK","stock",true,100], ["02727.HK","02727","上海电气","shanghaidianqi","shdq",[],"HK","stock",true,100], ["02728.HK","02728","金泰能源控股","jintainengyuankonggu","jtnykg",[],"HK","stock",true,100], +["02729.HK","02729","凯乐士科技","kaileshikeji","klskj",[],"HK","stock",true,100], ["02738.HK","02738","华津国际控股","huajinguojikonggu","hjgjkg",[],"HK","stock",true,100], ["02768.HK","02768","国恩科技","guoenkeji","gekj",[],"HK","stock",true,100], ["02772.HK","02772","中梁控股","zhongliangkonggu","zlkg",[],"HK","stock",true,100], @@ -7455,7 +7495,9 @@ ["02899.HK","02899","紫金矿业","zijinkuangye","zjky",[],"HK","stock",true,100], ["03200.HK","03200","大族数控","dazushukong","dzsk",[],"HK","stock",true,100], ["03268.HK","03268","美格智能","meigezhineng","mgzn",[],"HK","stock",true,100], +["03277.HK","03277","长光辰芯","zhangguangchenxin","zgcx",[],"HK","stock",true,100], ["03288.HK","03288","海天味业","haitianweiye","htwy",[],"HK","stock",true,100], +["03296.HK","03296","华勤技术","huaqinjishu","hqjs",[],"HK","stock",true,100], ["03300.HK","03300","中国玻璃","zhongguoboli","zgbl",[],"HK","stock",true,100], ["03301.HK","03301","融信中国","rongxinzhongguo","rxzg",[],"HK","stock",true,100], ["03302.HK","03302","精技集团","jingjijituan","jjjt",[],"HK","stock",true,100], @@ -7470,18 +7512,19 @@ ["03318.HK","03318","中国波顿","zhongguobodun","zgbd",[],"HK","stock",true,100], ["03319.HK","03319","雅生活服务","yashenghuofuwu","yshfw",[],"HK","stock",true,100], ["03320.HK","03320","华润医药","huarunyiyao","hryy",[],"HK","stock",true,100], -["03321.HK","03321","伟鸿集团控股","weihongjituankonggu","whjtkg",[],"HK","stock",true,100], +["03321.HK","03321","中科集团控股-新","zhongkejituankonggu-xin","zkjtkg-x",[],"HK","stock",true,100], ["03322.HK","03322","永嘉集团","yongjiajituan","yjjt",[],"HK","stock",true,100], ["03323.HK","03323","中国建材","zhongguojiancai","zgjc",[],"HK","stock",true,100], ["03328.HK","03328","交通银行","jiaotongyinhang","jtyh",[],"HK","stock",true,100], ["03329.HK","03329","交银国际","jiaoyinguoji","jygj",[],"HK","stock",true,100], -["03330.HK","03330","灵宝黄金(一百)","lingbaohuangjin(yibai)","lbhj(yb)",[],"HK","stock",true,100], +["03330.HK","03330","灵宝黄金","lingbaohuangjin","lbhj",[],"HK","stock",true,100], ["03332.HK","03332","中生联合","zhongshenglianhe","zslh",[],"HK","stock",true,100], ["03336.HK","03336","巨腾国际","jutengguoji","jtgj",[],"HK","stock",true,100], ["03337.HK","03337","安东油田服务","andongyoutianfuwu","adytfw",[],"HK","stock",true,100], ["03339.HK","03339","中国龙工","zhongguolonggong","zglg",[],"HK","stock",true,100], ["03347.HK","03347","泰格医药","taigeyiyao","tgyy",[],"HK","stock",true,100], ["03348.HK","03348","中国鹏飞集团","zhongguopengfeijituan","zgpfjt",[],"HK","stock",true,100], +["03355.HK","03355","飞速创新","feisuchuangxin","fscx",[],"HK","stock",true,100], ["03360.HK","03360","远东宏信","yuandonghongxin","ydhx",[],"HK","stock",true,100], ["03363.HK","03363","正业国际","zhengyeguoji","zygj",[],"HK","stock",true,100], ["03366.HK","03366","华侨城(亚洲)","huaqiaocheng(yazhou)","hqc(yz)",[],"HK","stock",true,100], @@ -7507,6 +7550,7 @@ ["03616.HK","03616","恒达集团控股","hengdajituankonggu","hdjtkg",[],"HK","stock",true,100], ["03618.HK","03618","重庆农村商业银行","chongqingnongcunshangyeyinhang","cqncsyyh",[],"HK","stock",true,100], ["03623.HK","03623","中国金融发展","zhongguojinrongfazhan","zgjrfz",[],"HK","stock",true,100], +["03625.HK","03625","傅里叶","fuliye","fly",[],"HK","stock",true,100], ["03626.HK","03626","启明东方控股","qimingdongfangkonggu","qmdfkg",[],"HK","stock",true,100], ["03628.HK","03628","仁恒实业控股","renhengshiyekonggu","rhsykg",[],"HK","stock",true,100], ["03633.HK","03633","中裕能源","zhongyunengyuan","zyny",[],"HK","stock",true,100], @@ -7613,6 +7657,7 @@ ["06036.HK","06036","光丽科技","guanglikeji","glkj",[],"HK","stock",true,100], ["06038.HK","06038","信越控股","xinyuekonggu","xykg",[],"HK","stock",true,100], ["06049.HK","06049","保利物业","baoliwuye","blwy",[],"HK","stock",true,100], +["06051.HK","06051","有赞","youzan","yz",[],"HK","stock",true,100], ["06055.HK","06055","中烟香港","zhongyanxianggang","zyxg",[],"HK","stock",true,100], ["06058.HK","06058","兴证国际","xingzhengguoji","xzgj",[],"HK","stock",true,100], ["06060.HK","06060","众安在线","zhonganzaixian","zazx",[],"HK","stock",true,100], @@ -7675,11 +7720,13 @@ ["06622.HK","06622","兆科眼科-B","zhaokeyanke-B","zkyk-B",[],"HK","stock",true,100], ["06623.HK","06623","陆控","lukong","lk",[],"HK","stock",true,100], ["06626.HK","06626","越秀服务","yuexiufuwu","yxfw",[],"HK","stock",true,100], -["06628.HK","06628","创胜集团-B","chuangshengjituan-B","csjt-B",[],"HK","stock",true,100], +["06628.HK","06628","创胜集团医药-B","chuangshengjituanyiyao-B","csjtyy-B",[],"HK","stock",true,100], ["06633.HK","06633","青瓷游戏","qingciyouxi","qcyx",[],"HK","stock",true,100], +["06636.HK","06636","极视角","jishijiao","jsj",[],"HK","stock",true,100], ["06639.HK","06639","瑞尔集团","ruierjituan","rejt",[],"HK","stock",true,100], ["06651.HK","06651","五一视界","wuyishijie","wysj",[],"HK","stock",true,100], ["06655.HK","06655","华新建材","huaxinjiancai","hxjc",[],"HK","stock",true,100], +["06656.HK","06656","思格新能","sigexinneng","sgxn",[],"HK","stock",true,100], ["06657.HK","06657","百望股份","baiwanggufen","bwgf",[],"HK","stock",true,100], ["06660.HK","06660","艾美疫苗","aimeiyimiao","amym",[],"HK","stock",true,100], ["06661.HK","06661","湖州燃气","huzhouranqi","hzrq",[],"HK","stock",true,100], @@ -7688,7 +7735,7 @@ ["06667.HK","06667","美因基因","meiyinjiyin","myjy",[],"HK","stock",true,100], ["06668.HK","06668","星盛商业","xingshengshangye","xssy",[],"HK","stock",true,100], ["06669.HK","06669","先瑞达医疗-B","xianruidayiliao-B","xrdyl-B",[],"HK","stock",true,100], -["06676.HK","06676","找钢集团-W","zhaogangjituan-W","zgjt-W",[],"HK","stock",true,100], +["06676.HK","06676","找钢网-W","zhaogangwang-W","zgw-W",[],"HK","stock",true,100], ["06677.HK","06677","远洋服务","yuanyangfuwu","yyfw",[],"HK","stock",true,100], ["06680.HK","06680","金力永磁","jinliyongci","jlyc",[],"HK","stock",true,100], ["06681.HK","06681","脑动极光-B","naodongjiguang-B","ndjg-B",[],"HK","stock",true,100], @@ -7705,6 +7752,7 @@ ["06806.HK","06806","申万宏源","shenwanhongyuan","swhy",[],"HK","stock",true,100], ["06808.HK","06808","高鑫零售","gaoxinlingshou","gxls",[],"HK","stock",true,100], ["06809.HK","06809","澜起科技","lanqikeji","lqkj",[],"HK","stock",true,100], +["06810.HK","06810","商米科技-W","shangmikeji-W","smkj-W",[],"HK","stock",true,100], ["06811.HK","06811","太兴集团","taixingjituan","txjt",[],"HK","stock",true,100], ["06812.HK","06812","永顺控股香港","yongshunkongguxianggang","yskgxg",[],"HK","stock",true,100], ["06816.HK","06816","瑞港建设","ruigangjianshe","rgjs",[],"HK","stock",true,100], @@ -7725,7 +7773,7 @@ ["06860.HK","06860","指尖悦动","zhijianyuedong","zjyd",[],"HK","stock",true,100], ["06862.HK","06862","海底捞","haidilao","hdl",[],"HK","stock",true,100], ["06865.HK","06865","福莱特玻璃","fulaiteboli","fltbl",[],"HK","stock",true,100], -["06866.HK","06866","佐力小贷","zuolixiaodai","zlxd",[],"HK","stock",true,100], +["06866.HK","06866","佐力科创","zuolikechuang","zlkc",[],"HK","stock",true,100], ["06868.HK","06868","天福","tianfu","tf",[],"HK","stock",true,100], ["06869.HK","06869","长飞光纤光缆","zhangfeiguangxianguanglan","zfgxgl",[],"HK","stock",true,100], ["06877.HK","06877","TE HEALTHCARE","TE HEALTHCARE","TE HEALTHCARE",[],"HK","stock",true,100], @@ -7769,12 +7817,15 @@ ["06980.HK","06980","八马茶业","bamachaye","bmcy",[],"HK","stock",true,100], ["06988.HK","06988","乐享集团","lexiangjituan","lxjt",[],"HK","stock",true,100], ["06989.HK","06989","卓越商企服务","zhuoyueshangqifuwu","zysqfw",[],"HK","stock",true,100], -["06990.HK","06990","科伦博泰生物-B","kelunbotaishengwu-B","klbtsw-B",[],"HK","stock",true,100], +["06990.HK","06990","科伦博泰生物","kelunbotaishengwu","klbtsw",[],"HK","stock",true,100], ["06993.HK","06993","蓝月亮集团","lanyueliangjituan","lyljt",[],"HK","stock",true,100], ["06996.HK","06996","德琪医药-B","deqiyiyao-B","dqyy-B",[],"HK","stock",true,100], ["06998.HK","06998","亿腾嘉和","yitengjiahe","ytjh",[],"HK","stock",true,100], ["06999.HK","06999","领地控股","lingdikonggu","ldkg",[],"HK","stock",true,100], +["07489.HK","07489","岚图汽车","lantuqiche","ltqc",[],"HK","stock",true,100], ["07618.HK","07618","京东工业","jingdonggongye","jdgy",[],"HK","stock",true,100], +["07630.HK","07630","英派药业-B","yingpaiyaoye-B","ypyy-B",[],"HK","stock",true,100], +["07666.HK","07666","剂泰科技-P","jitaikeji-P","jtkj-P",[],"HK","stock",true,100], ["08003.HK","08003","世大控股","shidakonggu","sdkg",[],"HK","stock",true,100], ["08005.HK","08005","裕兴科技","yuxingkeji","yxkj",[],"HK","stock",true,100], ["08006.HK","08006","华泰瑞银","huatairuiyin","htry",[],"HK","stock",true,100], @@ -7784,12 +7835,12 @@ ["08018.HK","08018","汇财金融投资","huicaijinrongtouzi","hcjrtz",[],"HK","stock",true,100], ["08019.HK","08019","皓文控股","haowenkonggu","hwkg",[],"HK","stock",true,100], ["08020.HK","08020","宏海控股集团","honghaikonggujituan","hhkgjt",[],"HK","stock",true,100], -["08021.HK","08021","汇隆控股","huilongkonggu","hlkg",[],"HK","stock",true,100], +["08021.HK","08021","汇隆控股(新)","huilongkonggu(xin)","hlkg(x)",[],"HK","stock",true,100], ["08023.HK","08023","邝文记","kuangwenji","kwj",[],"HK","stock",true,100], ["08026.HK","08026","朗华国际集团","langhuaguojijituan","lhgjjt",[],"HK","stock",true,100], ["08027.HK","08027","吉辉控股","jihuikonggu","jhkg",[],"HK","stock",true,100], ["08028.HK","08028","天时资源","tianshiziyuan","tszy",[],"HK","stock",true,100], -["08029.HK","08029","帝国金融集团","diguojinrongjituan","dgjrjt",[],"HK","stock",true,100], +["08029.HK","08029","中投金融科技集团","zhongtoujinrongkejijituan","ztjrkjjt",[],"HK","stock",true,100], ["08030.HK","08030","丰银禾控股","fengyinhekonggu","fyhkg",[],"HK","stock",true,100], ["08031.HK","08031","易通讯集团","yitongxunjituan","ytxjt",[],"HK","stock",true,100], ["08033.HK","08033","爱达利网络","aidaliwangluo","adlwl",[],"HK","stock",true,100], @@ -7798,8 +7849,8 @@ ["08037.HK","08037","中国生物科技服务","zhongguoshengwukejifuwu","zgswkjfw",[],"HK","stock",true,100], ["08039.HK","08039","中国来骑哦","zhongguolaiqio","zglqo",[],"HK","stock",true,100], ["08040.HK","08040","快意智能","kuaiyizhineng","kyzn",[],"HK","stock",true,100], -["08041.HK","08041","中微智码(五千)","zhongweizhima(wuqian)","zwzm(wq)",[],"HK","stock",true,100], -["08042.HK","08042","高奥士国际","gaoaoshiguoji","gasgj",[],"HK","stock",true,100], +["08041.HK","08041","中微智码","zhongweizhima","zwzm",[],"HK","stock",true,100], +["08042.HK","08042","高奥士人才集团","gaoaoshirencaijituan","gasrcjt",[],"HK","stock",true,100], ["08043.HK","08043","ATLINKS","ATLINKS","ATLINKS",[],"HK","stock",true,100], ["08047.HK","08047","中国海洋发展","zhongguohaiyangfazhan","zghyfz",[],"HK","stock",true,100], ["08048.HK","08048","御德国际控股","yudeguojikonggu","ydgjkg",[],"HK","stock",true,100], @@ -7812,7 +7863,6 @@ ["08059.HK","08059","朝威控股","chaoweikonggu","cwkg",[],"HK","stock",true,100], ["08060.HK","08060","国联通信","guoliantongxin","gltx",[],"HK","stock",true,100], ["08062.HK","08062","俊盟国际","junmengguoji","jmgj",[],"HK","stock",true,100], -["08063.HK","08063","环球大通集团","huanqiudatongjituan","hqdtjt",[],"HK","stock",true,100], ["08065.HK","08065","高萌科技","gaomengkeji","gmkj",[],"HK","stock",true,100], ["08066.HK","08066","品创控股","pinchuangkonggu","pckg",[],"HK","stock",true,100], ["08067.HK","08067","东方大学城控股","dongfangdaxuechengkonggu","dfdxckg",[],"HK","stock",true,100], @@ -7826,8 +7876,7 @@ ["08080.HK","08080","北亚策略","beiyacelve","bycl",[],"HK","stock",true,100], ["08081.HK","08081","白居易控股","baijuyikonggu","bjykg",[],"HK","stock",true,100], ["08082.HK","08082","擎华控股","qinghuakonggu","qhkg",[],"HK","stock",true,100], -["08083.HK","08083","有赞","youzan","yz",[],"HK","stock",true,100], -["08087.HK","08087","中国三三传媒","zhongguosansanchuanmei","zgsscm",[],"HK","stock",true,100], +["08087.HK","08087","中国三三传媒-新","zhongguosansanchuanmei-xin","zgsscm-x",[],"HK","stock",true,100], ["08091.HK","08091","奥传思维控股","aochuansiweikonggu","acswkg",[],"HK","stock",true,100], ["08092.HK","08092","ITE HOLDINGS","ITE HOLDINGS","ITE HOLDINGS",[],"HK","stock",true,100], ["08093.HK","08093","瓦普思瑞元宇宙","wapusiruiyuanyuzhou","wpsryyz",[],"HK","stock",true,100], @@ -7841,14 +7890,13 @@ ["08111.HK","08111","中国科技产业集团","zhongguokejichanyejituan","zgkjcyjt",[],"HK","stock",true,100], ["08112.HK","08112","基石金融","jishijinrong","jsjr",[],"HK","stock",true,100], ["08113.HK","08113","时腾科技","shitengkeji","stkj",[],"HK","stock",true,100], -["08115.HK","08115","上海青浦消防","shanghaiqingpuxiaofang","shqpxf",[],"HK","stock",true,100], +["08115.HK","08115","清大东方","qingdadongfang","qddf",[],"HK","stock",true,100], ["08117.HK","08117","中国基础能源","zhongguojichunengyuan","zgjcny",[],"HK","stock",true,100], ["08118.HK","08118","中资国际控股","zhongziguojikonggu","zzgjkg",[],"HK","stock",true,100], ["08120.HK","08120","国农金融投资","guonongjinrongtouzi","gnjrtz",[],"HK","stock",true,100], ["08121.HK","08121","国恩控股","guoenkonggu","gekg",[],"HK","stock",true,100], -["08123.HK","08123","华亿金控","huayijinkong","hyjk",[],"HK","stock",true,100], +["08123.HK","08123","华亿金控(新)","huayijinkong(xin)","hyjk(x)",[],"HK","stock",true,100], ["08125.HK","08125","中新控股","zhongxinkonggu","zxkg",[],"HK","stock",true,100], -["08126.HK","08126","G.A.控股","G.A.konggu","G.A.kg",[],"HK","stock",true,100], ["08128.HK","08128","中国恒有源集团","zhongguohengyouyuanjituan","zghyyjt",[],"HK","stock",true,100], ["08130.HK","08130","大地国际集团","dadiguojijituan","ddgjjt",[],"HK","stock",true,100], ["08131.HK","08131","辰罡科技","chengangkeji","cgkj",[],"HK","stock",true,100], @@ -7894,9 +7942,8 @@ ["08203.HK","08203","凯顺控股","kaishunkonggu","kskg",[],"HK","stock",true,100], ["08205.HK","08205","交大慧谷","jiaodahuigu","jdhg",[],"HK","stock",true,100], ["08206.HK","08206","神通机器人教育","shentongjiqirenjiaoyu","stjqrjy",[],"HK","stock",true,100], -["08208.HK","08208","WMCH GLOBAL","WMCH GLOBAL","WMCH GLOBAL",[],"HK","stock",true,100], +["08208.HK","08208","永通万国集团","yongtongwanguojituan","ytwgjt",[],"HK","stock",true,100], ["08210.HK","08210","衍汇亚洲","yanhuiyazhou","yhyz",[],"HK","stock",true,100], -["08211.HK","08211","浙江永安","zhejiangyongan","zjya",[],"HK","stock",true,100], ["08213.HK","08213","荣晖控股","ronghuikonggu","rhkg",[],"HK","stock",true,100], ["08217.HK","08217","菊福堂生物","jufutangshengwu","jftsw",[],"HK","stock",true,100], ["08218.HK","08218","毅高国际控股","yigaoguojikonggu","yggjkg",[],"HK","stock",true,100], @@ -7915,7 +7962,7 @@ ["08239.HK","08239","首都金融控股","shoudujinrongkonggu","sdjrkg",[],"HK","stock",true,100], ["08241.HK","08241","英记茶庄集团","yingjichazhuangjituan","yjczjt",[],"HK","stock",true,100], ["08245.HK","08245","烽翼集团","fengyijituan","fyjt",[],"HK","stock",true,100], -["08246.HK","08246","中华燃气(新)","zhonghuaranqi(xin)","zhrq(x)",[],"HK","stock",true,100], +["08246.HK","08246","中华燃气","zhonghuaranqi","zhrq",[],"HK","stock",true,100], ["08247.HK","08247","中生北控生物科技","zhongshengbeikongshengwukeji","zsbkswkj",[],"HK","stock",true,100], ["08249.HK","08249","瑞远智控","ruiyuanzhikong","ryzk",[],"HK","stock",true,100], ["08250.HK","08250","都都控股","doudoukonggu","ddkg",[],"HK","stock",true,100], @@ -7990,7 +8037,7 @@ ["08400.HK","08400","亚洲先锋娱乐","yazhouxianfengyule","yzxfyl",[],"HK","stock",true,100], ["08401.HK","08401","源想集团","yuanxiangjituan","yxjt",[],"HK","stock",true,100], ["08402.HK","08402","高原之宝","gaoyuanzhibao","gyzb",[],"HK","stock",true,100], -["08403.HK","08403","天平道合","tianpingdaohe","tpdh",[],"HK","stock",true,100], +["08403.HK","08403","德丰宿来","defengsulai","dfsl",[],"HK","stock",true,100], ["08406.HK","08406","中国口腔产业","zhongguokouqiangchanye","zgkqcy",[],"HK","stock",true,100], ["08411.HK","08411","K W NELSON GP","K W NELSON GP","K W NELSON GP",[],"HK","stock",true,100], ["08412.HK","08412","新爱德集团","xinaidejituan","xadjt",[],"HK","stock",true,100], @@ -8119,7 +8166,7 @@ ["09860.HK","09860","艾迪康控股","aidikangkonggu","adkkg",[],"HK","stock",true,100], ["09863.HK","09863","零跑汽车","lingpaoqiche","lpqc",[],"HK","stock",true,100], ["09866.HK","09866","蔚来-SW","weilai-SW","wl-SW",[],"HK","stock",true,100], -["09868.HK","09868","小鹏汽车-W","xiaopengqiche-W","xpqc-W",[],"HK","stock",true,100], +["09868.HK","09868","小鹏集团-W","xiaopengjituan-W","xpjt-W",[],"HK","stock",true,100], ["09869.HK","09869","海伦司","hailunsi","hls",[],"HK","stock",true,100], ["09876.HK","09876","大洋环球控股","dayanghuanqiukonggu","dyhqkg",[],"HK","stock",true,100], ["09877.HK","09877","健世科技-B","jianshikeji-B","jskj-B",[],"HK","stock",true,100], @@ -8157,7 +8204,7 @@ ["09929.HK","09929","澳达控股","aodakonggu","adkg",[],"HK","stock",true,100], ["09930.HK","09930","宏信建发","hongxinjianfa","hxjf",[],"HK","stock",true,100], ["09933.HK","09933","GHW INTL","GHW INTL","GHW INTL",[],"HK","stock",true,100], -["09936.HK","09936","稀美资源","ximeiziyuan","xmzy",[],"HK","stock",true,100], +["09936.HK","09936","稀美资源-五百","ximeiziyuan-wubai","xmzy-wb",[],"HK","stock",true,100], ["09938.HK","09938","华和控股","huahekonggu","hhkg",[],"HK","stock",true,100], ["09939.HK","09939","开拓药业-B","kaituoyaoye-B","ktyy-B",[],"HK","stock",true,100], ["09955.HK","09955","智云健康","zhiyunjiankang","zyjk",[],"HK","stock",true,100], diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index a7d2039f1..f473010e2 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/). +- [改进] `scripts/fetch_tushare_stock_list.py` 可对 A 股中带 `XD`/`XR`/`DR`/`N`/`C` 前缀的名称进行回填修正,供自动补全刷新流程默认使用。 +- [修复] 股票自动补全索引生成缺少 `pypinyin` 时改为直接失败,避免写出缺失拼音字段的降级索引。 - [修复] 归一腾讯实时行情成交量为股口径,避免量能变化倍数被放大并误导分析报告。 - [改进] Web 路由页面改为按需加载,降低首包体积并增加路由加载失败恢复提示。 - [修复] Docker 默认部署移除 `.env` 单文件挂载,避免 WebUI 保存配置时因 `os.replace` 更新挂载点触发 `Device or resource busy`。 diff --git a/docs/TUSHARE_STOCK_LIST_GUIDE.md b/docs/TUSHARE_STOCK_LIST_GUIDE.md index d7fa864dd..c26c011cb 100644 --- a/docs/TUSHARE_STOCK_LIST_GUIDE.md +++ b/docs/TUSHARE_STOCK_LIST_GUIDE.md @@ -22,13 +22,19 @@ TUSHARE_TOKEN=你的tushare_token python3 scripts/fetch_tushare_stock_list.py ``` +如需针对 A 股名称状态做修正,可以加上 `--a-rk`,脚本会保持 `stock_basic` 作为基础来源,再用 `rt_k` 对带 `XD`、`XR`、`DR`、`N`、`C` 前缀的名称进行回填,并覆盖输出到 `data/stock_list_a.csv`: + +```bash +python3 scripts/fetch_tushare_stock_list.py --a-rk +``` + ### 3. 查看输出 数据将保存到 `data/` 目录: ``` data/ -├── stock_list_a.csv # A股列表 +├── stock_list_a.csv # A股列表(--a-rk 时为修正后名称) ├── stock_list_hk.csv # 港股列表 ├── stock_list_us.csv # 美股列表 └── README_stock_list.md # 数据说明文档 @@ -54,6 +60,8 @@ data/ ### A股(stock_list_a.csv) +执行 `--a-rk` 时,这个文件会写入修正后的 A 股名称。 + ```csv ts_code,symbol,name,area,industry,market,exchange,list_date,... 000001.SZ,000001,平安银行,深圳,银行,主板,SZSE,19910403,... @@ -97,12 +105,26 @@ stock = a_stocks[a_stocks['ts_code'] == '600519.SH'] print(stock[['name', 'industry', 'list_date']]) ``` -### 更新自动补全索引 +### 刷新股票自动补全索引 -获取数据后,可以更新自动补全索引: +推荐直接使用一键刷新脚本,它会默认在抓取 A 股时使用 `--a-rk`,然后生成并同步自动补全索引: + +```bash +pip install -r requirements.txt +python3 scripts/refresh_stock_index.py +``` + +生成自动补全索引依赖 `pypinyin` 写入中文股票的完整拼音和拼音首字母字段;缺少该依赖时脚本会直接失败,避免生成无法支持拼音搜索的降级索引。 + +如果你只想单独更新 CSV,可以先抓取数据: + +```bash +python3 scripts/fetch_tushare_stock_list.py --a-rk +``` + +如果已经有新的 CSV,只想重新生成索引: ```bash -# 将 Tushare CSV 数据生成为前端自动补全索引 python3 scripts/generate_index_from_csv.py --test # 先测试 python3 scripts/generate_index_from_csv.py # 确认后生成 ``` diff --git a/scripts/fetch_tushare_stock_list.py b/scripts/fetch_tushare_stock_list.py index 96770b1ad..093aa724f 100644 --- a/scripts/fetch_tushare_stock_list.py +++ b/scripts/fetch_tushare_stock_list.py @@ -7,6 +7,7 @@ Tushare 股票列表获取脚本 使用方法: python3 scripts/fetch_tushare_stock_list.py + python3 scripts/fetch_tushare_stock_list.py --a-rk 环境要求: - 需要在 .env 中配置 TUSHARE_TOKEN @@ -16,19 +17,21 @@ Tushare 股票列表获取脚本 * 美股:120积分试用,5000积分正式权限 输出文件: - - data/stock_list_a.csv A股列表 + - data/stock_list_a.csv A股列表(--a-rk 时会覆盖为修正后名称) - data/stock_list_hk.csv 港股列表 - data/stock_list_us.csv 美股列表 - data/README_stock_list.md 数据说明文档 """ +import argparse import os import sys import time import random +import re from pathlib import Path from datetime import datetime -from typing import Optional +from typing import Optional, List, Dict import pandas as pd from dotenv import load_dotenv @@ -52,6 +55,9 @@ OUTPUT_DIR = Path(__file__).parent.parent / "data" PAGE_SIZE = 5000 # 美股每页读取数量(API 最大6000,设置5000留余量) SLEEP_MIN = 5 # 最小睡眠时间(秒) SLEEP_MAX = 10 # 最大睡眠时间(秒) +A_RK_BATCH_SIZE = 200 +A_RK_FIELDS = "ts_code,name,close,pre_close,trade_time" +A_RK_NAME_PREFIX_RE = re.compile(r"^(XD|XR|DR|N|C)") def get_tushare_api() -> Optional[ts.pro_api]: @@ -131,6 +137,128 @@ def fetch_a_stock_list(api: ts.pro_api) -> Optional[pd.DataFrame]: return None +def should_fix_a_stock_name(name: str) -> bool: + """ + 判断 A 股名称是否属于需要修正的状态名。 + + 主要覆盖新股、除权除息等前缀: + XD / XR / DR / N / C + """ + if name is None: + return False + + text = str(name).strip() + if not text or text.lower() in {"nan", "none"}: + return False + + return bool(A_RK_NAME_PREFIX_RE.match(text)) + + +def chunk_list(items: List[str], chunk_size: int) -> List[List[str]]: + """将列表按固定大小切片。""" + return [items[i:i + chunk_size] for i in range(0, len(items), chunk_size)] + + +def fetch_rt_k_names(api: ts.pro_api, ts_codes: List[str]) -> Dict[str, str]: + """ + 批量获取 rt_k 返回的股票名称。 + + 参考官方文档: + https://tushare.pro/wctapi/documents/372.md + + rt_k 是 A 股实时日线接口,支持按股票代码和股票代码通配符提取 + 实时日 K 线行情。本脚本只把它用作名称回填的辅助来源,修正 + stock_basic 中返回的短期交易状态前缀名称。 + """ + if not ts_codes: + return {} + + name_map: Dict[str, str] = {} + batches = chunk_list(ts_codes, A_RK_BATCH_SIZE) + + print(f"\n[rt_k] 待修正股票数:{len(ts_codes)},分 {len(batches)} 批获取...") + + for index, batch in enumerate(batches, start=1): + ts_code_param = ",".join(batch) + print(f" [rt_k] 第 {index}/{len(batches)} 批:{len(batch)} 只股票") + + try: + df = api.rt_k(ts_code=ts_code_param, fields=A_RK_FIELDS) + except Exception as e: + print(f" [警告] rt_k 批次 {index} 获取失败: {e}") + continue + + if df is None or len(df) == 0: + print(f" [警告] rt_k 批次 {index} 无返回数据") + continue + + for _, row in df.iterrows(): + code_value = row.get("ts_code", "") + name_value = row.get("name", "") + + if pd.isna(code_value) or pd.isna(name_value): + continue + + code = str(code_value).strip() + name = str(name_value).strip() + if code and name and code.lower() not in {"nan", "none"} and name.lower() not in {"nan", "none"}: + name_map[code] = name + + if index < len(batches): + random_sleep(1, 2) + + print(f"[rt_k] 成功获取 {len(name_map)} 条名称映射") + return name_map + + +def fix_a_stock_names_with_rt_k(api: ts.pro_api, df: pd.DataFrame) -> pd.DataFrame: + """ + 使用 rt_k 修正 A 股名称。 + + 仅对名称带有 XD / XR / DR / N / C 前缀的股票进行校正。 + """ + if df is None or len(df) == 0: + return df + + if "name" not in df.columns or "ts_code" not in df.columns: + print("[警告] A股数据缺少 ts_code/name 列,跳过 rt_k 名称修正") + return df + + fix_mask = df["name"].astype(str).map(should_fix_a_stock_name) + fix_df = df.loc[fix_mask, ["ts_code", "name"]].copy() + + if fix_df.empty: + print("[rt_k] 未发现需要修正的 A 股名称") + return df + + ts_codes = fix_df["ts_code"].astype(str).tolist() + print(f"[rt_k] 发现 {len(ts_codes)} 只待修正 A 股:") + print(" " + ", ".join(ts_codes[:20]) + (" ..." if len(ts_codes) > 20 else "")) + + name_map = fetch_rt_k_names(api, ts_codes) + if not name_map: + print("[警告] rt_k 未返回可用名称,保留原始 A 股名称") + return df + + fixed_df = df.copy() + fixed_count = 0 + for code, new_name in name_map.items(): + if not new_name: + continue + match_index = fixed_df.index[fixed_df["ts_code"].astype(str) == code] + if len(match_index) == 0: + continue + + old_name = str(fixed_df.loc[match_index[0], "name"]) + if old_name != new_name: + fixed_df.loc[match_index[0], "name"] = new_name + fixed_count += 1 + print(f" ✓ {code}: {old_name} -> {new_name}") + + print(f"[rt_k] A 股名称修正完成,共修正 {fixed_count} 只股票") + return fixed_df + + def fetch_hk_stock_list(api: ts.pro_api) -> Optional[pd.DataFrame]: """ 获取港股列表 @@ -263,7 +391,9 @@ def save_to_csv(df: pd.DataFrame, filename: str, market_name: str) -> bool: def generate_data_documentation( a_df: Optional[pd.DataFrame], hk_df: Optional[pd.DataFrame], - us_df: Optional[pd.DataFrame] + us_df: Optional[pd.DataFrame], + a_filename: str = "stock_list_a.csv", + a_title: str = "A股列表" ): """ 生成数据说明文档 @@ -284,13 +414,13 @@ def generate_data_documentation( | 文件 | 说明 | 记录数 | |------|------|--------| -| `stock_list_a.csv` | A股列表 | {len(a_df) if a_df is not None else 0} | +| `{a_filename}` | {a_title} | {len(a_df) if a_df is not None else 0} | | `stock_list_hk.csv` | 港股列表 | {len(hk_df) if hk_df is not None else 0} | | `stock_list_us.csv` | 美股列表 | {len(us_df) if us_df is not None else 0} | --- -## A股数据(stock_list_a.csv) +## A股数据({a_filename}) ### 数据接口 - **接口名称**:`stock_basic` @@ -402,7 +532,7 @@ BABA,阿里巴巴,Alibaba Group Holding Ltd.,ADR,20140919, import pandas as pd # 读取 A股数据 -a_stocks = pd.read_csv('data/stock_list_a.csv') +a_stocks = pd.read_csv('data/{a_filename}') # 读取港股数据 hk_stocks = pd.read_csv('data/stock_list_hk.csv') @@ -455,11 +585,26 @@ us_stocks = pd.read_csv('data/stock_list_us.csv') print(f"[错误] 生成说明文档失败: {e}") -def main(): +def build_arg_parser() -> argparse.ArgumentParser: + """构建命令行参数。""" + parser = argparse.ArgumentParser(description="Tushare 股票列表获取工具") + parser.add_argument( + "--a-rk", + action="store_true", + help="使用 rt_k 修正 A 股中带 XD/XR/DR/N/C 前缀的名称,并覆盖输出到 stock_list_a.csv", + ) + return parser + + +def main(argv: Optional[List[str]] = None): """主函数""" + parser = build_arg_parser() + args = parser.parse_args(argv) + print("=" * 60) print("Tushare 股票列表获取工具") print("=" * 60) + print(f"[信息] A股名称修正模式:{'开启' if args.a_rk else '关闭'}") # 1. 获取 API 实例 api = get_tushare_api() @@ -469,7 +614,15 @@ def main(): # 2. 获取 A股数据 a_df = fetch_a_stock_list(api) if a_df is not None: - save_to_csv(a_df, 'stock_list_a.csv', 'A股') + a_filename = 'stock_list_a.csv' + a_title = 'A股列表' + a_market_name = 'A股' + + if args.a_rk: + a_df = fix_a_stock_names_with_rt_k(api, a_df) + a_title = 'A股列表(修正后)' + + save_to_csv(a_df, a_filename, a_market_name) # 3. 获取港股数据 random_sleep() # 休息后再获取港股 @@ -485,7 +638,9 @@ def main(): # 5. 生成数据说明文档 print("\n正在生成数据说明文档...") - generate_data_documentation(a_df, hk_df, us_df) + a_filename = 'stock_list_a.csv' + a_title = 'A股列表(修正后)' if args.a_rk else 'A股列表' + generate_data_documentation(a_df, hk_df, us_df, a_filename=a_filename, a_title=a_title) # 6. 总结 print("\n" + "=" * 60) diff --git a/scripts/generate_index_from_csv.py b/scripts/generate_index_from_csv.py index b9e91de15..473b4b8ce 100644 --- a/scripts/generate_index_from_csv.py +++ b/scripts/generate_index_from_csv.py @@ -31,9 +31,19 @@ try: from pypinyin import lazy_pinyin, Style PYPINYIN_AVAILABLE = True except ImportError: + lazy_pinyin = None + Style = None PYPINYIN_AVAILABLE = False - print("[Warning] pypinyin not available, pinyin fields will be empty") - print("[Info] Install with: pip install pypinyin") + + +def require_pypinyin() -> bool: + """Ensure pypinyin is available before generating autocomplete assets.""" + if PYPINYIN_AVAILABLE: + return True + + print("[Error] pypinyin not available; cannot generate stock autocomplete index.") + print("[Info] Install dependencies with: pip install -r requirements.txt") + return False def load_csv_data(csv_path: Path) -> List[Dict[str, Any]]: @@ -166,6 +176,11 @@ def load_akshare_data(logs_dir: Path) -> List[Dict[str, Any]]: Returns: 股票列表 + + 说明: + AkShare 这条输入路径保留其原始 name 字段,不额外套用 + Tushare A 股那套 XD / XR / DR 状态前缀修正逻辑。这里的目标是 + 复用 AkShare 已输出的展示名,而不是对其做二次归一化。 """ csv_files = list(logs_dir.glob("stock_basic_*.csv")) @@ -214,7 +229,7 @@ def generate_pinyin(name: str) -> tuple: Tuple of (pinyin_full, pinyin_abbr) """ if not PYPINYIN_AVAILABLE: - return (None, None) + raise RuntimeError("pypinyin is required to generate stock autocomplete index") try: normalized_name = normalize_name_for_pinyin(name) @@ -251,6 +266,23 @@ def normalize_name_for_pinyin(name: str) -> str: return normalized.strip() or unicodedata.normalize('NFKC', name).strip() +def normalize_stock_name_for_index(name: str, market: str) -> str: + """ + Normalize stock names before writing the long-lived autocomplete index. + + For A-shares (including BSE), ``XD``/``XR``/``DR`` are + ex-dividend/ex-rights trading-day prefixes. They should not be stored in + the official static index because they can become stale almost immediately. + New-stock prefixes such as ``N``/``C`` and risk-warning prefixes such as + ``ST``/``*ST`` are preserved; they should be refreshed by the next + stock-list update. + """ + normalized = unicodedata.normalize('NFKC', str(name or '')).strip() + if market in {'CN', 'BSE'}: + normalized = re.sub(r'^(?:XD|XR|DR)\s*', '', normalized, flags=re.IGNORECASE) + return normalized.strip() + + def extract_symbol_from_ts_code(ts_code: str, market: str) -> Optional[str]: """ 从 ts_code 提取 displayCode @@ -301,6 +333,7 @@ def get_stock_name(row: Dict[str, str], market: str) -> Optional[str]: else: # A股和港股使用中文名称 name = row.get('name', '').strip() + name = normalize_stock_name_for_index(name, market) return name if name else None @@ -568,6 +601,9 @@ def main(): print("=" * 60) print(f"数据源:{args.source}") + if not require_pypinyin(): + return 1 + # 加载数据 print("\n[1/5] 读取 CSV 数据...") if args.source == 'tushare': @@ -586,11 +622,6 @@ def main(): print(f" 共读取 {len(stocks)} 只股票") - # 生成拼音提示 - if not PYPINYIN_AVAILABLE: - print("\n[提示] 安装 pypinyin 可获得拼音搜索功能:") - print(" pip install pypinyin") - print("\n[2/5] 生成索引数据...") index = build_stock_index(stocks) @@ -618,7 +649,7 @@ def main(): for i, item in enumerate(compressed[:5]): print(f" {i + 1}. {item}") else: - print("\n[4/5] 写入文件:{output_path}") + print(f"\n[4/5] 写入文件:{output_path}") with open(output_path, 'w', encoding='utf-8') as f: f.write('[\n') for i, item in enumerate(compressed): diff --git a/scripts/refresh_stock_index.py b/scripts/refresh_stock_index.py new file mode 100644 index 000000000..779253347 --- /dev/null +++ b/scripts/refresh_stock_index.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""Refresh local stock autocomplete index assets. + +Default flow: +1. Fetch Tushare stock lists into ``data/`` with ``--a-rk`` for A-share name correction. +2. Generate ``apps/dsa-web/public/stocks.index.json`` from CSV. +3. Copy the generated index to ``static/stocks.index.json`` for backend use. +""" + +from __future__ import annotations + +import argparse +import os +import shutil +import subprocess +import sys +from pathlib import Path +from typing import Sequence + +REPO_ROOT = Path(__file__).resolve().parent.parent +WEB_INDEX_PATH = REPO_ROOT / "apps" / "dsa-web" / "public" / "stocks.index.json" +STATIC_INDEX_PATH = REPO_ROOT / "static" / "stocks.index.json" + + +def _run(command: Sequence[str]) -> None: + print(f"[refresh_stock_index] $ {' '.join(command)}", flush=True) + env = os.environ.copy() + env.setdefault("PYTHONUNBUFFERED", "1") + subprocess.run(command, cwd=REPO_ROOT, check=True, env=env) + + +def _has_tushare_token() -> bool: + env_path = REPO_ROOT / ".env" + try: + from dotenv import load_dotenv # type: ignore + except ImportError: + if env_path.is_file(): + for line in env_path.read_text(encoding="utf-8", errors="ignore").splitlines(): + key, sep, value = line.partition("=") + if sep and key.strip() == "TUSHARE_TOKEN" and value.strip().strip("'\""): + return True + return bool(os.getenv("TUSHARE_TOKEN", "").strip()) + + load_dotenv(env_path) + return bool(os.getenv("TUSHARE_TOKEN", "").strip()) + + +def _sync_static_index() -> None: + if not WEB_INDEX_PATH.is_file(): + raise FileNotFoundError(f"generated Web index not found: {WEB_INDEX_PATH}") + STATIC_INDEX_PATH.parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(WEB_INDEX_PATH, STATIC_INDEX_PATH) + print(f"[refresh_stock_index] synced {WEB_INDEX_PATH} -> {STATIC_INDEX_PATH}", flush=True) + + +def main(argv: Sequence[str] | None = None) -> int: + parser = argparse.ArgumentParser(description="刷新股票自动补全索引") + parser.add_argument( + "--skip-fetch", + action="store_true", + help="跳过 Tushare 抓取,仅用现有 data/stock_list_*.csv 重新生成索引", + ) + args = parser.parse_args(argv) + + try: + if args.skip_fetch: + print("[refresh_stock_index] skip Tushare fetch; using existing CSV files") + else: + if not _has_tushare_token(): + print( + "[refresh_stock_index] ERROR: missing TUSHARE_TOKEN. " + "Set it in .env or environment, or rerun with --skip-fetch.", + file=sys.stderr, + ) + return 2 + _run([sys.executable, "scripts/fetch_tushare_stock_list.py", "--a-rk"]) + + _run([sys.executable, "scripts/generate_index_from_csv.py", "--source", "tushare"]) + _sync_static_index() + + except subprocess.CalledProcessError as exc: + print( + f"[refresh_stock_index] ERROR: command failed with exit code {exc.returncode}", + file=sys.stderr, + ) + return exc.returncode or 1 + except (OSError, RuntimeError) as exc: + print(f"[refresh_stock_index] ERROR: {exc}", file=sys.stderr) + return 1 + + print("[refresh_stock_index] done") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tests/test_fetch_tushare_stock_list.py b/tests/test_fetch_tushare_stock_list.py new file mode 100644 index 000000000..82a7396a9 --- /dev/null +++ b/tests/test_fetch_tushare_stock_list.py @@ -0,0 +1,152 @@ +# -*- coding: utf-8 -*- +"""Tests for scripts.fetch_tushare_stock_list A-share rt_k fix flow.""" + +from __future__ import annotations + +import importlib +import sys +import types +from pathlib import Path +from unittest.mock import MagicMock, patch + +import pandas as pd + +ROOT = Path(__file__).resolve().parent.parent +SCRIPTS_DIR = ROOT / "scripts" +if str(SCRIPTS_DIR) not in sys.path: + sys.path.insert(0, str(SCRIPTS_DIR)) + +if "dotenv" not in sys.modules: + dotenv_stub = types.ModuleType("dotenv") + dotenv_stub.load_dotenv = lambda *args, **kwargs: None + sys.modules["dotenv"] = dotenv_stub + +if "tushare" not in sys.modules: + tushare_stub = types.ModuleType("tushare") + tushare_stub.pro_api = lambda *args, **kwargs: MagicMock() + sys.modules["tushare"] = tushare_stub + +fetch_tushare_stock_list = importlib.import_module("fetch_tushare_stock_list") + + +def test_should_fix_a_stock_name_matches_status_prefixes(): + assert fetch_tushare_stock_list.should_fix_a_stock_name("XD西藏药") + assert fetch_tushare_stock_list.should_fix_a_stock_name("XR浦东建") + assert fetch_tushare_stock_list.should_fix_a_stock_name("DR罗曼股") + assert fetch_tushare_stock_list.should_fix_a_stock_name("N惠康") + assert fetch_tushare_stock_list.should_fix_a_stock_name("C天海") + assert not fetch_tushare_stock_list.should_fix_a_stock_name("平安银行") + assert not fetch_tushare_stock_list.should_fix_a_stock_name("ST罗顿") + assert not fetch_tushare_stock_list.should_fix_a_stock_name("*ST铖昌") + + +def test_fix_a_stock_names_with_rt_k_replaces_candidate_names(): + api = MagicMock() + source_df = pd.DataFrame( + { + "ts_code": ["000001.SZ", "600848.SH", "300001.SZ"], + "name": ["XD西藏药", "平安银行", "N惠康"], + } + ) + + with patch.object( + fetch_tushare_stock_list, + "fetch_rt_k_names", + return_value={"000001.SZ": "西藏药", "300001.SZ": "惠康"}, + ) as fetch_rt_k_names: + fixed_df = fetch_tushare_stock_list.fix_a_stock_names_with_rt_k(api, source_df) + + assert fixed_df.loc[fixed_df["ts_code"] == "000001.SZ", "name"].iloc[0] == "西藏药" + assert fixed_df.loc[fixed_df["ts_code"] == "600848.SH", "name"].iloc[0] == "平安银行" + assert fixed_df.loc[fixed_df["ts_code"] == "300001.SZ", "name"].iloc[0] == "惠康" + fetch_rt_k_names.assert_called_once_with(api, ["000001.SZ", "300001.SZ"]) + + +def test_fetch_rt_k_names_batches_and_collects_results(): + api = MagicMock() + api.rt_k.return_value = pd.DataFrame( + { + "ts_code": ["000001.SZ", "300001.SZ"], + "name": ["西藏药", "惠康"], + "close": [1.0, 2.0], + "pre_close": [1.0, 2.0], + "trade_time": ["10:00:00", "10:00:00"], + } + ) + + with patch.object(fetch_tushare_stock_list, "random_sleep") as random_sleep: + name_map = fetch_tushare_stock_list.fetch_rt_k_names(api, ["000001.SZ", "300001.SZ"]) + + assert name_map == {"000001.SZ": "西藏药", "300001.SZ": "惠康"} + api.rt_k.assert_called_once_with( + ts_code="000001.SZ,300001.SZ", + fields="ts_code,name,close,pre_close,trade_time", + ) + random_sleep.assert_not_called() + + +def test_main_default_flow_keeps_original_filename(): + api = MagicMock() + a_df = pd.DataFrame({"ts_code": ["000001.SZ"], "name": ["平安银行"]}) + hk_df = pd.DataFrame({"ts_code": ["00001.HK"], "name": ["长和"]}) + us_df = pd.DataFrame({"ts_code": ["AAPL"], "name": ["苹果"]}) + + with ( + patch.object(fetch_tushare_stock_list, "get_tushare_api", return_value=api), + patch.object(fetch_tushare_stock_list, "fetch_a_stock_list", return_value=a_df) as fetch_a, + patch.object(fetch_tushare_stock_list, "save_to_csv") as save_to_csv, + patch.object(fetch_tushare_stock_list, "fetch_hk_stock_list", return_value=hk_df) as fetch_hk, + patch.object(fetch_tushare_stock_list, "fetch_us_stock_list", return_value=us_df) as fetch_us, + patch.object(fetch_tushare_stock_list, "generate_data_documentation") as generate_doc, + patch.object(fetch_tushare_stock_list, "random_sleep") as random_sleep, + patch.object(fetch_tushare_stock_list, "fix_a_stock_names_with_rt_k") as fix_a_stock_names, + ): + exit_code = fetch_tushare_stock_list.main([]) + + assert exit_code == 0 + fetch_a.assert_called_once_with(api) + save_to_csv.assert_any_call(a_df, "stock_list_a.csv", "A股") + fetch_hk.assert_called_once_with(api) + fetch_us.assert_called_once_with(api) + fix_a_stock_names.assert_not_called() + generate_doc.assert_called_once_with(a_df, hk_df, us_df, a_filename="stock_list_a.csv", a_title="A股列表") + assert random_sleep.call_count == 2 + + +def test_main_a_rk_flow_overwrites_a_filename_and_rt_k(): + api = MagicMock() + a_df = pd.DataFrame({"ts_code": ["000001.SZ"], "name": ["XD西藏药"]}) + fixed_df = pd.DataFrame({"ts_code": ["000001.SZ"], "name": ["西藏药"]}) + hk_df = pd.DataFrame({"ts_code": ["00001.HK"], "name": ["长和"]}) + us_df = pd.DataFrame({"ts_code": ["AAPL"], "name": ["苹果"]}) + + with ( + patch.object(fetch_tushare_stock_list, "get_tushare_api", return_value=api), + patch.object(fetch_tushare_stock_list, "fetch_a_stock_list", return_value=a_df) as fetch_a, + patch.object(fetch_tushare_stock_list, "fix_a_stock_names_with_rt_k", return_value=fixed_df) as fix_a_stock_names, + patch.object(fetch_tushare_stock_list, "save_to_csv") as save_to_csv, + patch.object(fetch_tushare_stock_list, "fetch_hk_stock_list", return_value=hk_df) as fetch_hk, + patch.object(fetch_tushare_stock_list, "fetch_us_stock_list", return_value=us_df) as fetch_us, + patch.object(fetch_tushare_stock_list, "generate_data_documentation") as generate_doc, + patch.object(fetch_tushare_stock_list, "random_sleep") as random_sleep, + ): + exit_code = fetch_tushare_stock_list.main(["--a-rk"]) + + assert exit_code == 0 + fetch_a.assert_called_once_with(api) + fix_a_stock_names.assert_called_once_with(api, a_df) + fixed_save_call = next( + call for call in save_to_csv.call_args_list if call.args[1] == "stock_list_a.csv" + ) + pd.testing.assert_frame_equal(fixed_save_call.args[0], fixed_df) + assert fixed_save_call.args[2] == "A股" + fetch_hk.assert_called_once_with(api) + fetch_us.assert_called_once_with(api) + generate_doc.assert_called_once_with( + fixed_df, + hk_df, + us_df, + a_filename="stock_list_a.csv", + a_title="A股列表(修正后)", + ) + assert random_sleep.call_count == 2 diff --git a/tests/test_generate_index_from_csv.py b/tests/test_generate_index_from_csv.py index 055e8d77e..97802346f 100644 --- a/tests/test_generate_index_from_csv.py +++ b/tests/test_generate_index_from_csv.py @@ -22,7 +22,9 @@ from generate_index_from_csv import ( determine_market, generate_aliases, normalize_name_for_pinyin, + normalize_stock_name_for_index, generate_pinyin, + main, compress_index, build_stock_index, load_tushare_data, @@ -140,6 +142,18 @@ class TestGetStockName: result = get_stock_name(row, 'CN') assert result is None + def test_cn_stock_name_strips_ex_rights_prefix(self): + """测试 A股除权除息短期前缀不会写入长期索引名称""" + row = {'name': 'XD西藏药', 'enname': ''} + result = get_stock_name(row, 'CN') + assert result == '西藏药' + + def test_cn_stock_name_preserves_new_stock_prefix(self): + """测试 A股新股前缀保留,等待后续数据包刷新自然消失""" + row = {'name': 'N惠康', 'enname': ''} + result = get_stock_name(row, 'CN') + assert result == 'N惠康' + class TestDataCleaning: """测试数据清洗逻辑""" @@ -257,6 +271,26 @@ class TestDataCleaning: assert get_us_delist_priority({'delist_date': '20250131'}) == 0 +class TestNormalizeStockNameForIndex: + """测试索引名称归一化""" + + def test_strips_a_share_ex_rights_prefixes(self): + assert normalize_stock_name_for_index('XD西藏药', 'CN') == '西藏药' + assert normalize_stock_name_for_index('XR示例股', 'CN') == '示例股' + assert normalize_stock_name_for_index('DR罗曼股', 'CN') == '罗曼股' + assert normalize_stock_name_for_index('XD朱老六', 'BSE') == '朱老六' + + def test_preserves_a_share_new_stock_and_st_prefixes(self): + assert normalize_stock_name_for_index('N惠康', 'CN') == 'N惠康' + assert normalize_stock_name_for_index('C天海', 'CN') == 'C天海' + assert normalize_stock_name_for_index('ST海王', 'CN') == 'ST海王' + assert normalize_stock_name_for_index('*ST美丽', 'CN') == '*ST美丽' + + def test_does_not_strip_other_markets(self): + assert normalize_stock_name_for_index('DRAGONFLY ENERGY', 'US') == 'DRAGONFLY ENERGY' + assert normalize_stock_name_for_index('XD港股示例', 'HK') == 'XD港股示例' + + class TestAliases: """测试别名生成函数""" @@ -518,9 +552,24 @@ class TestPinyin: def test_generate_pinyin(self): """测试拼音生成""" - # 注意:这个测试需要 pypinyin 可用 pinyin_full, pinyin_abbr = generate_pinyin('平安银行') - if pinyin_full: - assert isinstance(pinyin_full, str) - if pinyin_abbr: - assert isinstance(pinyin_abbr, str) + assert pinyin_full == 'pinganyinhang' + assert pinyin_abbr == 'payh' + + def test_generate_pinyin_requires_dependency(self, monkeypatch): + """测试缺少 pypinyin 时不会生成降级拼音字段""" + import generate_index_from_csv + + monkeypatch.setattr(generate_index_from_csv, 'PYPINYIN_AVAILABLE', False) + + with pytest.raises(RuntimeError, match='pypinyin is required'): + generate_index_from_csv.generate_pinyin('平安银行') + + def test_main_fails_without_pypinyin(self, monkeypatch): + """测试正式生成索引前必须具备 pypinyin""" + import generate_index_from_csv + + monkeypatch.setattr(generate_index_from_csv, 'PYPINYIN_AVAILABLE', False) + monkeypatch.setattr(sys, 'argv', ['generate_index_from_csv.py']) + + assert main() == 1 diff --git a/tests/test_refresh_stock_index.py b/tests/test_refresh_stock_index.py new file mode 100644 index 000000000..f7e154806 --- /dev/null +++ b/tests/test_refresh_stock_index.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +"""Tests for scripts.refresh_stock_index default fetch behavior.""" + +from __future__ import annotations + +import importlib +import sys +from pathlib import Path +from unittest.mock import patch + +ROOT = Path(__file__).resolve().parent.parent +SCRIPTS_DIR = ROOT / "scripts" +if str(SCRIPTS_DIR) not in sys.path: + sys.path.insert(0, str(SCRIPTS_DIR)) + +refresh_stock_index = importlib.import_module("refresh_stock_index") + + +def test_main_fetches_tushare_with_a_rk_by_default(): + with ( + patch.object(refresh_stock_index, "_has_tushare_token", return_value=True), + patch.object(refresh_stock_index, "_run") as run, + patch.object(refresh_stock_index, "_sync_static_index"), + ): + exit_code = refresh_stock_index.main([]) + + assert exit_code == 0 + assert run.call_args_list[0].args[0] == [ + sys.executable, + "scripts/fetch_tushare_stock_list.py", + "--a-rk", + ] + assert run.call_args_list[1].args[0] == [ + sys.executable, + "scripts/generate_index_from_csv.py", + "--source", + "tushare", + ]