使用Tushare筛选今天适合投资的股票

使用Tushare筛选今天适合投资的股票tushare ID=418443

  • 一.Tushare介绍
  • 二.安装Tushare
  • 三.编写代码
    • 1、初始化tushare,并且获取所有股票信息。
    • 2、收盘价跌破lower线,买入信号计算
    • 3、收盘价超过upper线,卖出信号计算
    • 4、遍历所有股票,找出符合买入和卖出信号的股票。
  • 四.运行结果

一.Tushare介绍

Tushare是一个免费开源的python财经数据接口包。主要实现对股票数据等从数据采集、清晰加工和数据存储的过程。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然也可以通过Tushare的数据存储功能将数据保存到本地后用excel或关系数据库分析。

二.安装Tushare

方式1:pip install tushare
方式2:访问https://pypi.python.org/pypi/Tushare/下载安装
在这里插入图片描述
可以通过https://tushare.pro/register?reg=418443 注册,在个人中心中获取token值
在这里插入图片描述

token=‘你复制下来的token’
ts.set_token(token)
pro=ts.pro_api()

三.编写代码

本次使用pycharm软件作为python开发环境。

1、初始化tushare,并且获取所有股票信息。

     token = '你复制下来的token'ts.set_token(token)pro = ts.pro_api(timeout=120)print(ts.__version__)data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')data.to_csv("csvfile\\stock_basic.csv")

2、收盘价跌破lower线,买入信号计算

def signal_buy(data_new, signal_all):temp = copy.deepcopy(signal_all)temp[temp <= 0] = Nonesignal_buy = []for index, row in temp.iterrows():if row[0] > 0:signal_buy.append(data_new[data_new.index == index]['low'] - 0.05)else:signal_buy.append(np.nan)return signal_buy

3、收盘价超过upper线,卖出信号计算

def signal_sell(data_new, signal_all):temp = copy.deepcopy(signal_all)temp[temp >= 0] = Nonesignal_sell = []for index, row in temp.iterrows():if row[0] < 0:signal_sell.append(data_new[data_new.index == index]['high'] + 0.05)else:signal_sell.append(np.nan)return signal_sell

4、遍历所有股票,找出符合买入和卖出信号的股票。

    for index, row in data_list.iterrows():  # 遍历所有上市股票ts_code = row['ts_code']# print(ts_code, row['name'])df = get_daily(ts_code=ts_code, start_date=start_date)if df is None:continueif len(df) < 30:# print("股票代码:%s, 股票名称:%s has not enough data,skip..." % (ts_code, row['name']))continuedata_new = dfdata_new.index = pd.to_datetime(df.trade_date.astype(str))data_new.drop(axis=1, columns='trade_date', inplace=True)# 指定列data_new.columns = ['open', 'high', 'low', 'close', 'volume']data_new.sort_index(inplace=True)# 提取收盘价closed = data_new['close']upper, middle, lower = talib.BBANDS(closed, timeperiod=20, nbdevup=2, nbdevdn=2, matype=MA_Type.SMA)signal_all = signal_all_fn(data_new, upper, lower)# 判断最近的一天是否买卖点has_signal = signal_all.iat[len(signal_all)-1, 0]# 判断倒数第二天是否买卖点second_signal = signal_all.iat[len(signal_all)-2, 0]# 提取最后一天的日期last_date = signal_all['signal'].keys()[-1].strftime("%Y-%m-%d")if accept_datetime not in signal_all['signal'].keys():print("最近交易日(%s != %s)昨日,股票代码:%s,股票名称:%s,skip..." % (last_date, accept_date, ts_code, row['name']))continuelast_date = accept_datelast_close = round(list(data_new['close'])[-1], 2)last_upper = round(list(upper)[-1], 2)last_lower = round(list(lower)[-1], 2)if has_signal != 0:if (has_signal > 0) and (second_signal > 0):  # 昨天是第一次跌穿,才买入,防止踩雷continue# 计算净资产收益率roe, profit_time = cal_profit(ts_code)if roe is None or (roe is not None and roe < MIN_ROE):continue# 计算市盈率和市净率pb, pe = cal_pbpe(ts_code)if pb is None or pe is None:continueif (has_signal > 0) and (second_signal <= 0):  # 昨天是第一次跌穿,才买入,防止踩雷buy_df = buy_df.append({"代码": ts_code, "名称": row['name'], "行业": row['industry'], "收盘价": last_close, "上轨": last_upper, "下轨": last_lower, "净资产收益率": roe, "市盈率": pe, "市净率": pb}, ignore_index=True)print("买入时间:%s,股票代码:%s,股票名称:%s,行业:%s, 收盘价:%s, 上轨:%s, 下轨: %s, %s发布的季度净资产收益率:%s%%, 市盈率:%s, 市净率:%s" % (last_date, ts_code, row['name'], row['industry'], last_close, last_upper, last_lower, profit_time, roe, pe, pb))# 写入文件print("买入时间:%s,股票代码:%s,股票名称:%s,行业:%s, 收盘价:%s, 上轨:%s, 下轨: %s, %s发布的季度净资产收益率:%s%%, 市盈率:%s, 市净率:%s" % (last_date, ts_code, row['name'], row['industry'], last_close, last_upper, last_lower, profit_time, roe, pe, pb), file=fo_buy)elif has_signal < 0:sell_df = sell_df.append({"代码": ts_code, "名称": row['name'], "行业": row['industry'], "收盘价": last_close, "上轨": last_upper, "下轨": last_lower, "净资产收益率": roe, "市盈率": pe, "市净率": pb}, ignore_index=True)print("卖出时间:%s,股票代码:%s,股票名称:%s,行业:%s, 收盘价:%s, 上轨:%s, 下轨: %s, %s发布的季度净资产收益率:%s%%, 市盈率:%s, 市净率:%s" % (last_date, ts_code, row['name'], row['industry'], last_close, last_upper, last_lower, profit_time, roe, pe, pb))print("卖出时间:%s,股票代码:%s,股票名称:%s,行业:%s, 收盘价:%s, 上轨:%s, 下轨: %s, %s发布的季度净资产收益率:%s%%, 市盈率:%s, 市净率:%s" % (last_date, ts_code, row['name'], row['industry'], last_close, last_upper, last_lower, profit_time, roe, pe, pb), file=fo_sell)

四.运行结果

从下面的执行结果,可以方便筛选出今天适合买入或者卖出的股票信息:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34729.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享一个简单的双色球程序

前几天写了个双色球的小程序还挺有意思的。分享一下思路和代码。下图是该程序的需求。 ①可以发现红球和蓝球是分开来判定的&#xff0c;所以可以将红球组成一个数组&#xff0c;蓝球因为只有一个所以可以放一边。 ②我们可以先将随机生成的 红色球 的号码组成一个数组A&#…

Python分析一下双色球,中大奖指日可待!

点击上方“志斌的Python笔记”&#xff0c;选择“星标”公众号超级无敌干货&#xff0c;第一时间送达&#xff01;&#xff01;&#xff01;一、需求简介 之前偶然见到一位网友提出了关于双色球数据的分析需求&#xff0c;感觉颇有趣味&#xff0c;便着手操作了一番。如下为某双…

双色球 python

对双色球数据探索 数据准备 爬取双色球的数据 # -*- coding: utf-8 -*- import os import os.path import sys reload(sys) sys.setdefaultencoding("utf-8") #开奖日期中的字符需要引入 import urllib2 from bs4 import BeautifulSoup# 创建/打开一个文件放数据…

2023年7月1日起,五险一金缴费基数上调,到手工资变少了!

上一篇&#xff1a;被裁员了&#xff0c;月底走人拿n1&#xff0c;多待一个月拿n&#xff0c;该怎么选&#xff1f; 今天给大家盘点了一下各省市2023年最新的社保、公积金缴费基数。 2023社保缴费基数定了 一、上海 2023年6月28日&#xff0c;上海市人社局官方微信发布了《本市…

chatgpt赋能python:PythonUp:优秀的Python教育平台

Python Up: 优秀的Python教育平台 Python学习的重要性 随着大数据、人工智能等技术的蓬勃发展&#xff0c;Python作为一种可读性强、代码简洁、可扩展性好的编程语言&#xff0c;已经成为数据科学领域中最受欢迎的编程语言之一。因此&#xff0c;Python学习已成为现在最流行的…

chatgpt赋能Python-python_his

Python HIS: 基于Python的医院信息系统 作为现代医院管理的重要组成部分&#xff0c;医院信息系统(HIS)的重要性不言而喻。通过使用HIS&#xff0c;医院管理人员可以更加高效地处理管理任务&#xff0c;医疗人员可以更加便捷地记录、查看和互相交流患者信息&#xff0c;患者可…

抖音爆款脚本文案怎么写?写作时需要注意什么。

世上当然不会有这么简单的事情&#xff0c;虽然表面上看就是填一个表格&#xff0c;但是实际上有很多潜规则的要求&#xff0c;今天我们就主要讲讲我们在写脚本文案的时候&#xff0c;用的语言文字需要符合一个什么样的规则。其他的话我就不多说了&#xff0c;我们直接看案例&a…

云媒易推广:实体店铺抖音推广技巧分享

近两年&#xff0c;短视频和直播越来越火&#xff0c;除电商行业外&#xff0c;很多线下实体店也逐渐开始发展线上推广业务&#xff0c;意图通过抖音推广打开线上营销市场。但是&#xff0c;线上推广并不是一件简单的事情。那么&#xff0c;实体店铺究竟该怎么做抖音推广&#…

抖音的文案怎么做|成都聚华祥

要知道&#xff0c;开抖音直播不仅仅可以通过带货赚钱&#xff0c;但是还是有很多朋友不知道怎么去做&#xff0c;也在一定程度上花了很多时间&#xff0c;那么抖音的合拍带货是怎么样做的呢&#xff1f;跟着小编来看看吧&#xff01; 1.遵循选择的三个要素 广度&#xff1a;就…

PHP对接抖音开发平台接口

一、说明二、代码三、代码运行需知四、功能扩展五、接口调用需要注意的点六、接口文档中的 坑&#xff08;以订单列表接口为例&#xff09;1、请求参数、响应参数 代表的具体值不清晰2、页码从第0页开始&#xff08;这个属于需要注意的点&#xff09;3、金额 是元 还是 分&…

抖音怎么运营?分享个人抖音运营思路方案

抖音怎么运营&#xff1f; 符合这三点&#xff0c;你的视频很容易受欢迎&#xff0c;账号也很容易上升。她是如何做到这三点的&#xff1f; 1.让平台向您推荐更多流量。 2.让用户完全观看您的视频。 3.看完一段视频后&#xff0c;我想看下一个。 让平台向您推荐更多流量。 …

一篇文章带你了解抖音来客功能的使用方法和注意事项

抖音是近年来备受欢迎的社交媒体平台之一&#xff0c;其中的“来客”功能更是让许多人喜爱。那么什么是抖音来客呢&#xff1f;抖音来客是指在直播过程中&#xff0c;可以邀请其他抖音用户进行互动和参与&#xff0c;从而增加直播的热度和粉丝数量。下面不若与众科技就来介绍一…

抖音平台如何推广?代运营还是用优化系统

近年来&#xff0c;互联网进入下半场&#xff0c;移动端的新媒体抢到了流量风口&#xff0c;尤其是以抖音小红书为首的短视频平台深受关注。小马识途的客户开始通过抖音做推广、做宣传的企业越来越多&#xff0c;其中有一些公司已经尝到了抖音seo带来的甜头&#xff0c;加入抖音…

抖音上传视频(纯前端实现霸屏软件的功能)进店转发视频功能,详情搜索抖音霸屏软件

抖音霸屏软件 抖音霸屏介绍先来介绍一下吧&#xff0c;嫌啰嗦的可以直接跳转>>>思路分析 ↓ 抖音开发文档思路分析步骤 抖音霸屏介绍 先来介绍一下吧&#xff0c;嫌啰嗦的可以直接跳转>>>思路分析 ↓ 1.抖音同城霸屏&#xff1a;可控制所有扫码用户发布视频…

手把手教你接入抖音小程序发送模板消息通知

模板消息是指&#xff1a;按照一定的模板样式发送给用户的消息&#xff0c;顾名思义&#xff0c;它的内容必须限制在某一个模板框框内&#xff0c;只能做填空题&#xff0c;做不了主观题。 场景举例&#xff1a;用户A下了订单并交易成功&#xff0c;应该给该用户手机端下发一条…

关于抖音文案的重要性以及如何分享好的抖音文案,详情已附上

抖音文案是指在抖音平台上发布短视频时所配以的文字内容&#xff0c;它是短视频的重要补充和补充说明。接下来&#xff0c;不若与众科技将详细介绍抖音文案的重要性以及如何分享好的抖音文案。 一、抖音文案的重要性 1.提高视频的关注度 好的抖音文案可以让视频更加生动有趣&…

关键词推广怎么做比较好?抖音宣传做关键词推广有哪些好的方法

一、抖音宣传关键词推广的基本原则 关键词的选择要合理&#xff1a;选择的关键词要尽量针对性强、覆盖面广&#xff0c;且要具有较高的搜索量和热度&#xff0c;能够更好的满足用户的需求&#xff1b; 关键词的定位要准确&#xff1a;在抖音宣传关键词推广中&#xff0c;根据关…

对接微信支付接口

SpringBoot中对接微信支付接口 1.微信支付开发文档 https://pay.weixin.qq.com/wiki/doc/api/index.html 1.准备工作&#xff1a; 在微信上申请服务号类型的公众号&#xff0c;从公众号获取以下数据 appid&#xff1a;微信公众账号或开放平台APP的唯一标识 mch_id&#xf…

手把手教你如何在Java在Excel中进行数据分析

摘要&#xff1a;本文由葡萄城技术团队于CSDN原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前一段时间淘宝出了一个“淘宝人生”的模块&#xff0c;可以看从注册淘宝账号至今的消…

文心一格:文心一格发布会图文摘要及与ChatGPT对此分析

文章目录 [toc]简介1.文学创作二、商业文案创作三、数理逻辑推算四、中文理解五、[多模态](https://so.csdn.net/so/search?q多模态&spm1001.2101.3001.7020)生成六、原理分析七、社会反响小结 简介 GPT-4发布一天之后&#xff0c;压力全部给到百度这边。就在刚刚&#x…