首页 > Python资料 博客日记

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

2024-10-04 20:00:05Python资料围观27

这篇文章介绍了python pandas处理股票量化数据:笔记1,分享给大家做个参考,收藏Python资料网收获更多编程知识

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。
>>> 


版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐