量化投资比较重要的是策略,可是你得先选个好股,价值投资需要认同他的价值,值得投资的股票才有投资的机会,现在简单介绍一下基于基本面的选股,其实我现实生活中也有炒股,都是经验之说的选股原则。

首先从tushare中获取每日指标 pro.daily_basic

last_year = '20190101'
start_date = '20200313'
mytoken='your_token'
ts.set_token(mytoken)
pro = ts.pro_api()
df = pro.daily_basic(ts_code='', trade_date=start_date, fields='ts_code,trade_date,turnover_rate,volume_ratio,pe,pb')

P.S. 用户需要至少300积分才可以调取,我是学生进了官方群之后管理员帮我升级到了2000积分,所以大部分接口我都能使用。欢迎大家在我的链接下注册会送我积分

https://tushare.pro/register?reg=355247

首先我们筛选PE为15以下的,PB为7一下的股票:

  • PE是每股股价除以每股收益。如果股价是10元/股,每股收益是1元,PE就相当于10倍,你买这家公司的价钱相当于付出这家公司每年盈利的倍数。一般30以下才觉得可以接受。
  • PB是每股股价除以每股净资产的倍数。如果股价是10元/股,净资产是5元/股,PB就是2倍,也相当于付出的是这个公司净资产的2倍。一般8以下可以接受,我这里调整成小一些,因为最近跌幅挺大的,所以很多公司跌破净资产。
PE_T = 15
PB_T = 1
df_choose = df[(df.pe<=PE_T)&(df.pb<=PB_T)]

符合条件的有198只股票,接着我们筛选一下近期公布的收益

收益可以通过pro.income接口查询:

income = []
for c in df_choose.ts_code:
df_income = pro.income(ts_code=c,start_date=last_year,end_date=start_date,fields='ts_code,ann_date,f_ann_date,end_date,report_type,comp_type,basic_eps,diluted_eps')
income.append(df_income['basic_eps'].iloc[0])
df_choose['basic_eps']=income
df_choose_good = df_choose[df_choose.basic_eps>1.0]
print(len(df_choose_good))

收益大于1.0的股票df_choose_good中含有23只股票

接着我想得出这些这些股票代码的股票名字,可以查询这个接口pro.stock_basic ,并且我存下该表格。

data_path = './data/'
if not os.path.exists(data_path):
os.makedirs(data_path)
csv_name = f'allname_data.csv'
csv_path = os.path.join(data_path,csv_name)
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
data.to_csv(csv_path, index=False)
data[data.ts_code.isin(df_choose_good.ts_code)]
ts_code symbol name area industry list_date
33 000042.SZ 000042 中洲控股 深圳 全国地产 19940921
97 000501.SZ 000501 鄂武商A 湖北 百货 19921120
480 002024.SZ 002024 苏宁易购 江苏 电器连锁 20040721
583 002128.SZ 002128 露天煤业 内蒙 煤炭开采 20070418
600 002146.SZ 002146 荣盛发展 河北 全国地产 20070808
2201 600000.SH 600000 浦发银行 上海 银行 19991110
2211 600016.SH 600016 民生银行 北京 银行 20001219
2247 600064.SH 600064 南京高科 江苏 园区开发 19970506
2356 600188.SH 600188 兖州煤业 山东 煤炭开采 19980701
2564 600449.SH 600449 宁夏建材 宁夏 水泥 20030829
2770 600694.SH 600694 大商股份 辽宁 百货 19931122
2773 600697.SH 600697 欧亚集团 吉林 百货 19931206
2919 600859.SH 600859 王府井 北京 百货 19940506
2964 600919.SH 600919 江苏银行 江苏 银行 20160802
2965 600926.SH 600926 杭州银行 浙江 银行 20161027
3034 601088.SH 601088 中国神华 北京 煤炭开采 20071009
3062 601186.SH 601186 中国铁建 北京 建筑工程 20080310
3076 601229.SH 601229 上海银行 上海 银行 20161116
3111 601577.SH 601577 长沙银行 湖南 银行 20180926
3134 601677.SH 601677 明泰铝业 河南 20110919
3157 601828.SH 601828 美凯龙 上海 其他商业 20180117
3158 601838.SH 601838 成都银行 四川 银行 20180131
3201 601997.SH 601997 贵阳银行 贵州 银行 20160816

这个就是选出来的股,看来银行最近跌得挺厉害的,看好银行在后期反弹。

ts_code symbol name area industry list_date
0 000001.SZ 1 平安银行 深圳 银行 19910403
140 000553.SZ 553 安道麦A 湖北 农药化肥 19931203
272 000732.SZ 732 泰禾集团 福建 区域地产 19970704
2201 600000.SH 600000 浦发银行 上海 银行 19991110
2210 600015.SH 600015 华夏银行 北京 银行 20030912
2356 600188.SH 600188 兖州煤业 山东 煤炭开采 19980701
2522 600383.SH 600383 金地集团 深圳 全国地产 20010412
2608 600508.SH 600508 上海能源 上海 煤炭开采 20010829
2770 600694.SH 600694 大商股份 辽宁 百货 19931122
2852 600782.SH 600782 新钢股份 江西 普钢 19961225
2919 600859.SH 600859 王府井 北京 百货 19940506
3016 601009.SH 601009 南京银行 江苏 银行 20070719
3057 601166.SH 601166 兴业银行 福建 银行 20070205
3076 601229.SH 601229 上海银行 上海 银行 20161116
3157 601828.SH 601828 美凯龙 上海 其他商业 20180117
3201 601997.SH 601997 贵阳银行 贵州 银行 20160816

量化学习 | Tushare 基本面选股 (二)的更多相关文章

  1. 金融量化之tushare模块的使用

    一.TuShare简介和环境安装 TuShare是一个著名的免费.开源的python财经数据接口包.其官网主页为:TuShare -财经数据接口包.该接口包如今提供了大量的金融数据,涵盖了股票.基本面 ...

  2. 我的MYSQL学习心得(十二) 触发器

    我的MYSQL学习心得(十二) 触发器 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数 ...

  3. css学习归纳总结(二) 转

    原文地址:css学习归纳总结(二) 标签与元素 <p>标签和p元素有什么区别呢?大多数时候他们表示的是同一样东西,但仍有细微的区别.<p>.<div>等指的是HTM ...

  4. 【Unity Shaders】学习笔记——SurfaceShader(二)两个结构体和CG类型

    [Unity Shaders]学习笔记——SurfaceShader(二)两个结构体和CG类型 转载请注明出处:http://www.cnblogs.com/-867259206/p/5596698. ...

  5. Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

    Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

  6. Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

    Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

  7. VSTO 学习笔记(十二)自定义公式与Ribbon

    原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel ...

  8. 我的MYSQL学习心得(十二)

    原文:我的MYSQL学习心得(十二) 我的MYSQL学习心得(十二) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYS ...

  9. Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...

随机推荐

  1. mysql表关联问题(第一卷:外键1对多之1)

    表关联的问题在开发中是必不可少的,现在我先简单的谈谈我的学习经验.先来说一下外键一对多的问题. 步骤1:准备数据: (1)设计模拟场景: 一个游戏为了测试游戏的运行情况,招来了一批用户来试玩,现需要录 ...

  2. 科学家用AI看月球后,却发现了这些东西

    ​​人工智能(AI)几乎已经无所不在,我们生活的大多数方面都已经被它们渗透,随着AI在过去几年取得的令人震惊的进步,它在许多方面都可能帮助我们的生活变得更美好.近日,AI在月球上发现了近7000个未被 ...

  3. python中sorted和sorted 、reversed和reverse的使用。

    #encoding = utf-8 list = [1,8,3,6] print(list.sort()) #None print(list) #[1,3,6,8] print(sorted(list ...

  4. WordPress调用page页面内容方法

    WordPress调用page页面内容方法,有时候在特殊条件下,原有的wordpress页面获取内容代码不能正常使用,这个时候不能通过wordpress自带的模板标签输出,就需要改变下方式,通过PHP ...

  5. CIA Hive Beacon Infrastructure复现1——使用Apache mod_rewrite实现http流量分发

    0x00 前言 2017年11月9日维基解密公布一个代号为Vault8的文档,包含服务器远程控制工具Hive的源代码和开发文档.开发文档中的框架图显示Hive支持流量分发功能,若流量有效,转发至Hon ...

  6. Web窗体--控件

    服务器基本控件:button: text属性linkbutton:text属性,它是一个超链接模样的普通buttonhyperlink: navigateurl:链接地址,相当于<a>标签 ...

  7. HTML5 file API加canvas实现图片前端JS压缩并上传

    一.图片上传前端压缩的现实意义 对于大尺寸图片的上传,在前端进行压缩除了省流量外,最大的意义是极大的提高了用户体验. 这种体验包括两方面: 由于上传图片尺寸比较小,因此上传速度会比较快,交互会更加流畅 ...

  8. webgrind安装使用详细说明

    webgrind是一个网页版的性能分析工具,它的主要作用就是分析xdebug生成的cachegrind文件,以一种界面友好详尽的方式来展示性能数据.试用了一下感觉还是很不错的,鉴于网上并没有一个系统介 ...

  9. Windows server 2008 r2下安装sqlserver2012

    在微软官网上下载sqlserver2012镜像文件:用Alcohol 120%软件进行驱动安装. 如果C盘的容量不够的话,上边的路径可以修改

  10. mysql表关系

    表与表之间的关系 """ 把所有数据都存放于一张表的弊端 1.组织结构不清晰 2.浪费硬盘空间 3.扩展性极差 """ # 上述的弊端产生原 ...