Python+Tushare股票数据分析

Tushare是一个免费提供各类金融数据 , 助力智能投资与创新型投资的平台。在这个平台上可以免费获得股票、期货和外汇的各种数据。(Tushare ID:492265)

本次我就使用Tushare来获取股票数据,模拟股票交易。

一、Tushare的注册安装

1、Tushare注册链接:https://tushare.pro/register?reg=492265,注册完成之后进入个人主页

在这里插入图片描述

2、完善个人信息

在这里插入图片描述完善好个人资料可以获得20积分,加上注册送的100积分,可以用股票的行情数据,对于练手来说,够用了。如果你是学生的话,还可以进行学生认证,所有接口数据都可以使用。

3、TOKEN获取

点击接口TOKEN(复制自己的TOKEN,之后介绍TOKEN如何使用,注意:这个TOKEN是你自己的,不要外传)
在这里插入图片描述

二、使用Tushare进行股票分析

需求:

  • 使用tushare包获取某股票的历史行情数据。
  • 输出该股票所有收盘比开盘上涨3%以上的日期。
  • 输出该股票所有开盘比前日收盘跌幅超过2%的日期。
  • 假如我从2010年1月1日开始,每月第一个交易日买入1手股票,每年最后一个交易日卖出所有股票,到今天为止,我的收益如何?

安装tushare包

pip install tushare

导入需要的包

import tushare as ts
import pandas as pd
from pandas import DataFrame,Series
import numpy as np
pro = ts.pro_api('你的TOKEN')  #填入,上面第三步获取到的TOKEN
df = pro.daily(ts_code='600519.SH',start_date='20000101',fields='trade_date,open,high,low,close,pre_close')

在这里插入图片描述

获取到的股票历史行情数据,此处以茅台为例,股票代码为:600519.SH,可以根据自己需求换别的。

#将trade_date设置为行索引
df['trade_date'] = pd.to_datetime(df['trade_date'])
df.set_index('trade_date',inplace=True)

在这里插入图片描述

#输出该股票所有收盘比开盘上涨3%以上的日期
#(收盘-开盘)/开盘 > 0.03
df.loc[(df['close'] - df['open']) / df['open'] > 0.03].index

在这里插入图片描述

#输出该股票所有开盘比前日收盘跌幅超过2%的日期
#(开盘-前日收盘)/前日收盘 < -0.02
df.loc[(df['open'] - df['pre_close']) / df['pre_close'] < -0.02].index

在这里插入图片描述

#假如我从2010年1月1日开始,每月第一个交易日买入1手股票,每年最后一个交易日卖出所有股票,到今天为止,我的收益如何?
#每月第一个交易日对应的行数据
df_month = df.resample('M').first()
#买入股票花费的总金额
cost = df_monthly['open'].sum()*100
#卖出股票到手的钱,2022年的卖不出去,剔除掉
df_year = df.resample('A').last()[:-1]
resv = df_year['open'].sum()*1200
#最后手中剩余的股票需要估量其价值计算到总收益中
last_monry = 100*df['close'][0]
#计算总收益
resv+last_monry-cost

需求:双均线策略制定

  • 使用tushare包获取某股票的历史行情数据
  • 计算该股票历史数据的5日均线和30日均线
  • 分析输出所有金叉日期和死叉日期
  • 如果我从假如我从2010年1月1日开始,初始资金为100000元,金叉尽量买入,死叉全部卖出,则到今天为止,我的炒股收益率如何?

继续使用上面获取到的茅台数据进行操作

df = df[::-1] #将数据按时间正序排列
df

在这里插入图片描述

ma5 = df['close'].rolling(5).mean()   #5日均线
ma30 = df['close'].rolling(30).mean() #30日均线

将5日均线与30日均线画出来

import matplotlib.pyplot as plt
%matplotlib inline
plt.plot(ma5[30::])
plt.plot(ma30[30::])

在这里插入图片描述

#展示其中一部分
plt.plot(ma5[100:500])
plt.plot(ma30[100:500])

在这里插入图片描述
分析输出所有金叉日期和死叉日期

#让ma5,ma30保持一样长
ma5  = ma5[30:]
ma30 = ma30[30:]
df = df[30:]
s1 = ma5 < ma30
s2 = ma5 > ma30death_ex = s1 & s2.shift(1) #判定死叉的条件
death_date = df.loc[death_ex].index #死叉的时间golden_ex = ~(s1 | s2.shift(1))#判定金叉的条件
golden_date = df.loc[golden_ex].index #金叉的时间s1 = Series(data=1,index=golden_date) #1作为金叉的标识
s2 = Series(data=0,index=death_date)  #0作为死叉的标识
s = s1.append(s2)
s = s.sort_index() #存储的是金叉和死叉对应的时间
s

在这里插入图片描述
如果我从假如我从2010年1月1日开始,初始资金为100000元,金叉尽量买入,死叉全部卖出,则到今天为止,我的炒股收益率如何?

first_monry = 100000 #本金
money = first_monry  #口袋有的现金
hold = 0  #持有股票的数量(股数:100股=1手)for i in range(len(s)): time = s.index[i]  p = df.loc[time]['open'] #当前时刻股票的单价if s[i] == 1:#金叉的时间hand_count = money // (p*100) #尽可能多的买入股票hold = hand_count * 100 money -= (hold * p) #将买股票话的钱从money中减去else:  #死叉,卖掉全部股票money += (p_death * hold) #卖出的股票收入加入到moneyhold = 0last_monry = hold * df['close'][-1]  #将手里现有的所有股票按最近一天的收盘价换算
#总收益
money + last_monry - first_monry

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

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

相关文章

ChatGPT炒股:查询分析某个公募基金的持仓变化

如果很认同某个基金经理的投资理念&#xff0c;可以跟踪基金经理的持仓变化&#xff0c;可以获取一些投资的线索。手动操作也可以实现&#xff0c;但略微麻烦&#xff0c;如果利用ChatGPT写一个跟踪程序&#xff0c;就方便多了。 下面以汇丰晋信副总经理、投资总监、知名基金经…

股票、指数、快照、逐笔... 不同行情数据源的实时关联分析应用

在进行数据分析时经常需要对多个不同的数据源进行关联操作&#xff0c;因此在各类数据库的 SQL 语言中均包含了丰富的 join 语句&#xff0c;以支持批计算中的多种关联操作。 DolphinDB 不仅通过 join 语法支持了对于全量历史数据的关联处理&#xff0c;而且在要求低延时的实时…

股票分析及利用tushare查看股票部分信息

股票分析及利用tushare查看股票部分数据 观前提示&#xff1a;本文面向和我一样不懂炒股的投资小白 本文涉及&#xff1a; 利用python调用tushare最基础的少量操作&#xff08;查看股价及可类推的基本数据、将多支股票数据放到一个DataFrame并作图&#xff09; 可能存在逻辑…

股票分析工具

1.软件运行界面 2.安装密码:www.luoruiyuan.cn 3.使用说明: 1.填写您的邮箱地址和邮箱昵称方便可以买卖时提醒您,如果不填就不会通过邮箱提醒. 2.股票分析时股票代码框填写多个时请用英文逗号隔开,每一个股票都要添加上市场代码. 例如:601939.SH,600050.SH,000725.SZ 如果不知道…

利用tushare进行股票数据分析

笔者tushare ID&#xff1a;476408 在经过了半年时间的学习中&#xff0c;对熟练的使用tushare进行股票数据分析方面具有一定的基础&#xff0c;能够基本掌握一些常用的算法编程&#xff0c;以下就以自己在校期间的分析报告为分享内容。 利用tushare获取股票信息&#xff0c;…

如何客观的分析 ChatGPT技术

文章目录 如何客观的分析 ChatGPT技术1、GPT 自己的分析2、我的理解3、预训练模型4、ChatGPT 的隐患 (prompt 注入)如何客观的分析 ChatGPT技术 1、GPT 自己的分析 2、我的理解 OpenAI 发布的基于 GPT-3 模型构建的 ChatAI ,使用起来有许多的惊艳之处,但是我们也不得不看到…

个股与指数行情走势对比分析 !股票量化分析工具QTYX-V2.5.2

前言 股票分析过程中往往会同时查看一只股票多个周期的行情走势&#xff0c;比如日线和周线结合观察&#xff0c;60分钟和日线结合观察&#xff0c;也会同时查看一个板块中多个股票的行情走势。 还有一种场景也非常关键——把个股行情与对应指数的行情对比观察。比如选出一只股…

Tushare之股票数据分析

笔者ID&#xff1a;476408 已经使用了整整1年时间的Tushare&#xff0c;个人来讲&#xff0c;在使用过程中体验还是相当不错的。在获取数方面较全面&#xff0c;涵盖数据内容多&#xff0c;而且还不断完善丰富。 下面是利用Tushare 进行股票数据分析的部分。 import tushare…

玩转ChatGPT:制作AI播报视频

一、写在前面 羊了几天&#xff0c;上线就发现&#xff0c;GPT的第三方插件的数量越来越多&#xff0c;使得官方推出了搜索功能&#xff1a; 我逛了一圈&#xff0c;发现这个插件挺有意思&#xff0c;用来生成AI语音播报视频的。 下面给大家尝尝鲜。 二、实战过程 &#xff0…

用 ChatGPT 制作中英双语字幕

用 ChatGPT 制作中英双语字幕 0. 背景1. 使用剪映生成英文字幕2. 使用 ChatGPT 的制作中英双语字幕 0. 背景 最近在学习 AI 相关的知识&#xff0c;有很多视频是英文的。 为了提高学习效率&#xff0c;我考虑将这些视频加上中英双语字幕。 效果展示如下&#xff0c; 1. 使用…

怎样让chatGPT给你打工然后月入过千?

前言 代码在文末,仅供学习了,现在chatgpt以及百度文库改版较大运行不了了。 chatGPT最近火出圈了,怎么薅一个文字模型给你打工呢? 亲测效果: 20230104: 话不多说,直接上图,上个月12天的收益: 总结一下: 薅的对象百度文库创作中心:地址 除了每个文档一块三左右的收…

如何查询chatgpt-API-KEY接口的使用额度,代码php和python源码

ChatGPT是一款由OpenAI开发的强大自然语言处理模型&#xff0c;可以帮助开发者实现各种自然语言相关的应用场景。为了能够使用ChatGPT&#xff0c;开发者需要通过OpenAI获取API-KEY&#xff0c;然后才能使用模型接口进行开发。 但是&#xff0c;在使用ChatGPT的过程中&#xff…

不输ChatGpt,又一款强大的AI,支持中文Claude

特点&#xff1a; Claude&#xff0c;比较适合中文用户&#xff0c;目前无需翻墙&#xff08;未来不清楚&#xff09;&#xff0c;对于中文问题有所优化&#xff0c;如果你无法使用ChatGPT&#xff0c;推荐你使用Claude&#xff0c;消费非常不错&#xff0c;回复能力强和速度快…

chatgpt赋能python:Python中如何输入中文——从安装到常见问题解决

Python中如何输入中文——从安装到常见问题解决 Python是一门广泛使用的编程语言&#xff0c;其优秀的开源性、易用性、灵活性以及庞大的生态圈也令越来越多的人选择Python。但是对于初学者来说&#xff0c;如何正确输入中文常常成为一个问题。本篇文章从安装、常见问题解决、…

chatgpt赋能python:如何将Python切换成中文界面

如何将Python切换成中文界面 Python 是一门非常受欢迎的编程语言&#xff0c;有着强大的编程能力和广泛的应用范围。一些朋友可能需要在中文环境下使用 Python&#xff0c;但是默认的 Python 界面是英文的&#xff0c;这给一些初学者带来了不便。本文将介绍如何切换 Python 的…

让chatgpt给我做个项目预算,感觉这样的项目预算才有的赚

访问入口来自于以下网站&#xff1a; 无极低码-三维可视化,免费资源下载,气象数据,编程技术,java开发,素材下载,大数据,解决方案,方案,ppt,5G,数字孪生三维可视化,免费资源下载,气象数据,编程技术,java开发,素材下载,大数据,解决方案,方案,ppt,5G,数字孪生https://wheart.cn/ …

chatgpt赋能python:Python如何发送手机短信:实现方法解析和应用场景介绍

Python如何发送手机短信&#xff1a;实现方法解析和应用场景介绍 随着移动 App 的兴起&#xff0c;手机短信已成为现代人日常生活中不可或缺的一部分。在有些场景下需要编写 Python 程序去自动化发送短信&#xff0c;例如企业营销活动、警报系统等。本文将介绍 Python 发送短信…

ChatGPT学习笔记-1

一.ChatGPT背景 作为“人工智能皇冠上的明珠“&#xff0c;基于大规模预训练语言模型的方法&#xff0c;其突出特点是充分利用大模型、大数据和大计算以求更好效果&#xff0c;ChatGPT 是继数据库和搜索引擎之后的全新一代的“知识表示和调用方式”。 大规模预训练语言模型&…

ChatGPT时代:ChatGPT全能应用一本通

引言 随着人工智能技术的不断发展和进步&#xff0c;我们进入了ChatGPT时代。ChatGPT是基于GPT架构的大型语言模型&#xff0c;它具备强大的自然语言处理和生成能力&#xff0c;使得我们能够进行更加自由、流畅的对话。作为ChatGPT的全能应用&#xff0c;它可以被视为一本通&a…

人工智能ChatGPTJAVA软件源码之实践

人工智能ChatGPT 前言ChatGPT背后的技术和资源ChatGPT最适合干什么ChatGPT时代下的我们我们的实践 前言 4月3日晚上&#xff0c;得到直播间邀请到了计算机科学家、自然语言模型专家吴军&#xff0c;就人工智能和ChatGPT等当下热议的话题作了一次直播分享。就是下面这位和蔼的大…