搭建自己的金融数据源和量化分析平台(四):自动化更新上市公司所属一级、二级行业以及股票上市状态

avatar
作者
猴君
阅读量:0

前面做了更新沪深交易所的上市股票列表的读取和更新,但一旦股票退市则需要在数据库里将该股票状态更新为退市,同时附上退市日期,将股票名更改为XX退。
此外深交所下载的xls解析出来是没有上市公司所属的二级行业的,因此还需要建立一个一二级行业的数据库表来保存行业信息,同时补全深交所上市公司的二级行业信息。
更新退市股票的爬虫这个暂时没有,等后面做了再放上来。(我从来不买垃圾股,所以对退市股票不着急做)
上市公司的一二级行业分类见这个表:
在这里插入图片描述
这个表可以在这里:《中国上市公司协会上市公司行业统计分类指引》下载到。
这张表在我们数据库里对应的就是stock_a数据库下面的industry_classification这张表,这里放上我手工做好的industry_classification的SQL代码:

/* SQLyog Ultimate v12.09 (64 bit) MySQL - 5.0.96-community-nt  ********************************************************************* */ /*!40101 SET NAMES utf8 */;  create table `industry_classification` ( 	`industry_code` varchar (12), 	`industry_name` varchar (150) );  insert into `industry_classification` (`industry_code`, `industry_name`) values('A','农、林、牧、渔业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('A01','农业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('A02','林业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('A03','畜牧业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('A04','渔业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('A05','农、林、牧、渔专业及辅助性活动'); insert into `industry_classification` (`industry_code`, `industry_name`) values('B','采矿业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('B06','煤炭开采和洗选业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('B07','石油和天然气开采业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('B08','黑色金属矿采选业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('B09','有色金属矿采选业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('B10','非金属矿采选业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('B11','开采专业及辅助性活动'); insert into `industry_classification` (`industry_code`, `industry_name`) values('B12','其他采矿业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C','制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C13','农副食品加工业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C14','食品制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C15','酒、饮料和精制茶制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C16','烟草制品业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C17','纺织业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C18','纺织服装、服饰业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C19','皮革、毛皮、羽毛及其制品和制鞋业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C20','木材加工和木、竹、藤、棕、草制品业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C21','家具制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C22','造纸和纸制品业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C23','印刷和记录媒介复制业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C24','文教、工美、体育和娱乐用品制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C25','石油、煤炭及其他燃料加工业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C26','化学原料和化学制品制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C27','医药制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C28','化学纤维制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C29','橡胶和塑料制品业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C30','非金属矿物制品业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C31','黑色金属冶炼和压延加工业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C32','有色金属冶炼和压延加工业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C33','金属制品业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C34','通用设备制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C35','专用设备制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C36','汽车制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C37','铁路、船舶、航空航天和其他运输设备制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C38','电气机械和器材制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C39','计算机、通信和其他电子设备制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C40','仪器仪表制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C41','其他制造业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C42','废弃资源综合利用业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('C43','金属制品、机械和设备修理业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('D','电力、热力、燃气及水生产和供应业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('D44','电力、热力生产和供应业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('D45','燃气生产和供应业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('D46','水的生产和供应业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('E','建筑业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('E47','房屋建筑业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('E48','土木工程建筑业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('E49','建筑安装业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('E50','建筑装饰、装修和其他建筑业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('F','批发和零售业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('F51','批发业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('F52','零售业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('G','交通运输、仓储和邮政业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('G53','铁路运输业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('G54','道路运输业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('G55','水上运输业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('G56','航空运输业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('G57','管道运输业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('G58','多式联运和运输代理业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('G59','装卸搬运和仓储业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('G60','邮政业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('H','住宿和餐饮业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('H61','住宿业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('H62','餐饮业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('I','信息传输、软件和信息技术服务业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('I63','电信、广播电视和卫星传输服务'); insert into `industry_classification` (`industry_code`, `industry_name`) values('I64','互联网和相关服务'); insert into `industry_classification` (`industry_code`, `industry_name`) values('I65','软件和信息技术服务业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('J','金融业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('J66','货币金融服务'); insert into `industry_classification` (`industry_code`, `industry_name`) values('J67','资本市场服务'); insert into `industry_classification` (`industry_code`, `industry_name`) values('J68','保险业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('J69','其他金融业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('K','房地产业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('K70','房地产业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('L','租赁和商务服务业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('L71','租赁业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('L72','商务服务业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('M','科学研究和技术服务业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('M73','研究和试验发展'); insert into `industry_classification` (`industry_code`, `industry_name`) values('M74','专业技术服务业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('M75','科技推广和应用服务业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('N','水利、环境和公共设施管理业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('N76','水利管理业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('N77','生态保护和环境治理业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('N78','公共设施管理业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('N79','土地管理业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('O','居民服务、修理和其他服务业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('O80','居民服务业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('O81','机动车、电子产品和日用产品修理业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('O82','其他服务业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('P','教育'); insert into `industry_classification` (`industry_code`, `industry_name`) values('P83','教育'); insert into `industry_classification` (`industry_code`, `industry_name`) values('Q','卫生和社会工作'); insert into `industry_classification` (`industry_code`, `industry_name`) values('Q84','卫生'); insert into `industry_classification` (`industry_code`, `industry_name`) values('Q85','社会工作'); insert into `industry_classification` (`industry_code`, `industry_name`) values('R','文化、体育和娱乐业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('R86','新闻和出版业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('R87','广播、电视、电影和录音制作业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('R88','文化艺术业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('R89','体育'); insert into `industry_classification` (`industry_code`, `industry_name`) values('R90','娱乐业'); insert into `industry_classification` (`industry_code`, `industry_name`) values('S','综合'); insert into `industry_classification` (`industry_code`, `industry_name`) values('S91','综合');  

上表包含所有一级行业和二级行业的分类。
接下来看深交所下载的xls解析出来是没有上市公司所属的二级行业这个事情:
在这里插入图片描述
可以看到我圈红的地方只有一级行业而没有二级行业。这在后期搭建量化分析模型时会影响我们的筛选。因此,需要写一个中国上市公司协会的爬虫,读取和解析最新上市公司行业分类结果:
在这里插入图片描述
爬虫代码还没写,等后面写来放出来:)

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!