当前位置: 首页 > news >正文

python pandas处理股票量化数据:笔记1

1、安装python和tushare及相关库

matplotlib

pyplot

pandas

pandas_datareader

>>> import matplotlib.pyplot as plt
>>> import pandas as pd

>>> import datetime as dt

>>> import pandas_datareader.data as web

失败的尝试yfinance和pandas_datareader

>>> start = dt.datetime(2024, 1, 1)
end = dt.datetime(2024, 6, 1)
>>> stock = web.DataReader('AAPL', 'yahoo', start, end)

>>> stock = web.DataReader('600797.SS', 'yahoo', start, end)
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>

>>> import yfinance as yf
>>> symbol = "600519.SS"
start_date = "2022-01-01"
end_date = "2023-01-01"
>>> data = yf.download(symbol, start=start_date, end=end_date)
Failed to get ticker '600519.SS' reason: Expecting value: line 1 column 1 (char 0)
[*********************100%%**********************]  1 of 1 completed

1 Failed download:
['600519.SS']: YFTzMissingError('$%ticker%: possibly delisted; No timezone found')
>>> print(data.head())
Empty DataFrame
Columns: [Open, High, Low, Close, Adj Close, Volume]
Index: []

可能因为yahoo不再提供内地服务导致下载数据失败。

安装库tushare

(tushare网站复制)Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过Tushare的数据存储功能,将数据全部保存到本地后进行分析.

>>> import tushare

>>> print (tushare.__version__)
1.4.6
>>> tushare.set_token('f9069ca5e3931347503e81967e161590b3c3859e8cba31e94da1f517')
>>> data = pro.stock_basic()
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
  File "C:\Program Files\Thonny\lib\site-packages\tushare\pro\client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您输入的TOKEN无效!
>>> pro = tushare.pro_api()
>>> data = pro.stock_basic()
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
  File "C:\Program Files\Thonny\lib\site-packages\tushare\pro\client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您没有访问该接口的权限,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
>>> 

TOKEN登陆网站以后可以从tushare注册用户个人主页用户TOKEN获取

TOKEN无效

没有权限

为了避免部分用户低门槛无限制的恶意调取数据,更好地保证大多数用户调取数据的稳定性,同时也为了Tushare社区的可持续发展,Pro接口开始引入积分制度。只有具备一定积分级别的用户才能调取相应的API,目前只是一个分级门槛,并不消耗积分。以下只是基础积分权限,积分越多频次(每分钟调取API的次数)越高,除分钟数据和特色数据外5000以上具有相对较高的频次。

看了下我才有100分,根据网站信息Pro接口之前的开源社区接口不再提供,要使用Pro2.0数据接口最低需要120,分不够啊,不能下载数据。要获得数据简单方法是直接冲值200可以获得2000分,或者推荐新的注册用户,每个有效用户可以得到50积分,如下摘自tushare网站:

https://tushare.pro/register?reg=671815 分享此链接,成功注册一个有效用户(指真正会使用tushare数据的用户)可获得50积分,虚假用户带来的积分会被定期回收!

有没有感兴趣的大神用下我的推荐链接注册一下?https://tushare.pro/register?reg=671815

但是根据规则这个要求很难啊,必须是推荐的用户真正使用数据才可以获得50积分,可是推荐的用户积分不够不能下载数据啊,除非刚好有个大佬愿意花200块钱给自己冲值,不然你永远也不能获得推荐积分。只能自己花钱冲值才能使用数据,果然没有免费的午餐。

可是我愿意花200给自己冲值吗?本来打算白嫖的。

2、日线数据下载权限

修改完善个人注册信息可以获得20积分,所以现在有使用数据接口的日线数据权限了,加油。

>>> data = pro.stock_basic()
>>> print(data.head())
     ts_code  symbol   name  ... list_date            act_name act_ent_type
0  000001.SZ  000001   平安银行  ...  19910403              无实际控制人            无
1  000002.SZ  000002    万科A  ...  19910129  深圳市人民政府国有资产监督管理委员会         地方国企
2  000004.SZ  000004   国华网安  ...  19910114                 李映彤         民营企业
3  000006.SZ  000006   深振业A  ...  19920427  深圳市人民政府国有资产监督管理委员会         地方国企
4  000007.SZ  000007  *ST全新  ...  19920413                 王玩虹         民营企业

[5 rows x 10 columns]
>>> 

有没有感兴趣的大神用下我的推荐链接注册一下?https://tushare.pro/register?reg=671815

还是积分不够啊,每小时最多访问该接口1次

pro = ts.pro_api()#查询当前所有正常上市交易的股票列表data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')#查询当前所有正常上市交易的股票列表data = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')#指定数据字段
data = pro.stock_basic(fields='ts_code,symbol,name,area,industry,list_date,market,is_hs,list_status,exchange,delist_date,curr_type')

>>> data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
  File "C:\Program Files\Thonny\lib\site-packages\tushare\pro\client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每小时最多访问该接口1次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
>>> 

0615更新

有大佬用了我的推荐连接现在我有170积分,访问数据还是受到限制,如果有办法一次性下载数据到本地保存可以后面用来进一步的处理.不过现在还在学习这个pro接口api的用法,暂时没有成功下载到完整数据。

>>> import tushare

print (tushare.__version__)
tushare.set_token('f9069ca5e3931347503e81967e161590b3c3859e8cba31e94da1f517')
pro = tushare.pro_api()
1.4.6
>>> data = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
  File "C:\Program Files\Thonny\lib\site-packages\tushare\pro\client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每小时最多访问该接口1次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。

>>> data = pro.stock_basic(fields='ts_code,symbol,name,area,industry,list_date,market,is_hs,list_status,exchange,delist_date,curr_type')
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
  File "C:\Program Files\Thonny\lib\site-packages\tushare\pro\client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口1次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
>>> 

相关文章:

  • 充电学习—7、BC1.2 PD协议
  • CHATGPT说这个运算放大器是比较器,我说这是运放典型的同相比例放大器,一个光控电路分析
  • 关于lamda表达式的使用
  • gitlab2024最新版安装
  • pip导出格式错乱问题
  • 12寸晶圆厂AGV和天车对网络建设的一些要点
  • 【LeetCode 128】 最长连续子序列
  • Dubbo 3.x源码(23)—Dubbo服务引用源码(6)MigrationRuleListener迁移规则监听器
  • C# —— 字符串的相关属性和方法
  • 事务AOP
  • Java毕业设计 基于SSM助学贷款管理系统
  • 打印mybatis的sql日志
  • 微信小程序,分享和反馈功能
  • C#标志位的使用
  • SpringMVC的使用
  • [数据结构]链表的实现在PHP中
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 2017年终总结、随想
  • IDEA 插件开发入门教程
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • mysql innodb 索引使用指南
  • scrapy学习之路4(itemloder的使用)
  • SSH 免密登录
  • supervisor 永不挂掉的进程 安装以及使用
  • win10下安装mysql5.7
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 免费小说阅读小程序
  • 那些被忽略的 JavaScript 数组方法细节
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 正则学习笔记
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 关于Android全面屏虚拟导航栏的适配总结
  • 容器镜像
  • #pragma once
  • (12)Hive调优——count distinct去重优化
  • (145)光线追踪距离场柔和阴影
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (js)循环条件满足时终止循环
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (转)Windows2003安全设置/维护
  • ***测试-HTTP方法
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core引入性能分析引导优化
  • .net Stream篇(六)
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .net6Api后台+uniapp导出Excel