目录
1. Failed Test [python pkg yfinance]
Alex Wang. (2023.7.7)
1. Failed Test [python pkg yfinance]
尝试了用python的yfinance包来扒取美股数据,但是尝试失败了。
以下介绍使用yfinance的步骤,可以尝试一下。
如果想直接看用tushare实现扒取,请跳到第2部分。
1.1 install pkg
import yfinance as yf
yf.download("AAPL", start='2020-01-01', end='2021-01-01')
使用yfinance的步骤如上,需要import一个包,在pycharm中直接下载即可。
如果conda下载失败 [代理错误:ProxyError],可参见:
两种方法解决Anaconda安装库出现ProxyError错误
1.2 yfinance无法使用
此时遇到一个问题:
[*********************100%***********************] 1 of 1 completed
1 Failed download:
['AAPL']: Exception('%ticker%: No price data found, symbol may be delisted (1d 2020-01-01 -> 2021-01-01)')
查阅相关资料,目测是因为国内雅虎终止了服务。
因此需要科学上网解决该问题,参见:
然而本人经过尝试,依然没有使yfinance正常使用,于是转头前往找寻其他数据库。
2. Successful Test [python pkg tushare]
主要参考资料:
也可以不看这个,跟着下面的步骤来
2.1 安装pkg
首先安装python的tushare包
Step1. Win+R打开cmd
Step2. pip下载
C:\Users\xxxxx>conda activate C:\anaconda\envs\torch
(torch) C:\Users\xxxxx>pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple
先active conda,本人是在torch下pip下载tushare的包,采用清华源
其他下载pkg的方式参见:下载安装tushare pkg
-
方式1:pip install tushare,如果安装网络超时可尝试国内pip源,如pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple
-
方式2:访问https://pypi.python.org/pypi/tushare/下载安装 ,执行 python setup.py install
-
方式3:访问https://github.com/waditu/tushare,将项目下载或者clone到本地,进入到项目的目录下,执行: python setup.py install
2.2 注册tushare账号
采用了一个开源的数据社区Tushare,提供了免费的daily股票数据,但monthly或yearly的数据需要积分兑换。
因此,对于量化初学者,扒取daily的数据即可,以下将介绍如何应用该网站获取账户。
注册账户,获取token:注册链接
a. 注册界面:
b. 保存token:获取token
2.3 python code
将2.2.b中获得的token写入pro_api(...),即可访问【注意不要过于频繁扒取数据】
import tushare as ts
pro = ts.pro_api('input your own token at this place')
# aapl = pro.us_basic(ts_code='AAPL',start_date='2022-01-01',end_date='2023-01-01')
df = pro.us_daily(trade_date='20230705')
print(df)
上述代码扒取了美股日线行情数据
美股行情
接口:us_daily
描述:获取美股行情(未复权),包括全部股票全历史行情,以及重要的市场和估值指标
限量:单次最大6000行数据,可根据日期参数循环提取,开通正式权限后也可支持分页提取全部历史
要求:120积分可以试用查看数据,开通正式权限请在QQ群联系群主或积分管理员。
得到如下数据:
ts_code trade_date close ... vol amount vwap
0 UMEWF 20230705 NaN ... 10.0 NaN NaN
1 NSP 20230705 116.70 ... 104352.0 12227289.07 117.17
2 HANNF 20230705 0.21 ... 59100.0 11774.49 0.20
3 MATX 20230705 76.50 ... 267050.0 20553314.98 76.96
4 MICR 20230705 1.52 ... 280.0 431.20 1.54
... ... ... ... ... ... ... ...
5995 SCI 20230705 64.23 ... 792982.0 51067963.88 64.40
5996 OVCHY 20230705 18.03 ... 27581.0 500761.24 18.16
5997 AMWL 20230705 2.03 ... 919098.0 1873673.18 2.04
5998 GLTA.U 20230705 NaN ... NaN NaN NaN
5999 UPTDU 20230705 10.71 ... 680.0 7237.85 10.64
可以综合使用pandas保存到csv中,参见:
Pandas: 强大的 Python 数据分析支持库 | PandasPandas中文网、Pandas官方中文文档。https://pypandas.cn/docs/ 由于平台限制,部分数据需要积分获取:Tushare数据(平台积分)
同样,平台提供免费代码生成功能:Tushare数据工具
3. Other
最近在投量化的实习(玩玩),因此分享一些最近用到的参考文档。
3.1 python相关问题
pandas学习文档【很全面】:Pandas: 强大的 Python 数据分析支持库 | Pandas
基础教程【理解变量、语句】:Python 基础教程 | 菜鸟教程
3.1.1 字典(dict)和集合(set)
Python—哈希表的应用(字典与集合)_python 哈希表
3.1.2 datetime 用于时间处理
3.1.3 python快捷键
b. 格式化代码+常用快捷键
3.1.4 python绘图
a. matplotlib基本知识
Python 各种画图_python画图_流浪猪头拯救地球的博客-CSDN博客
b. 坐标轴+子图设置
matplotlib.pyplot详解_千禧皓月的博客-CSDN博客
c. 折线图+数据标签
【python】画折线图_python绘制折线图_AXIMI的博客-CSDN博客
d. 网格线设置
Python绘图库Matplotlib.pyplot之网格线设置(plt.grid())_南阜止鸟的博客-CSDN博客
e. 竖直、水平线绘图
Python 使用 Matplotlib 做图时,如何画竖直和水平的分割线? - 知乎
f. 保存图像
Python Matplotlib 中如何用 plt.savefig 存储图片_码农研究僧的博客-CSDN博客
3.1.4 excel处理【xlrd】
python读取excel表格数据_python读取表格数据_Swlaaa的博客-CSDN博客
还是推荐用pandas,一般还是避免用xlrd吧
3.2 其他参考
3.2.1 CS自学指南
北大信科学长巨作,十分全面:CS自学指南
3.2.2 量化
复旦量化投资协会共享信息:企业招聘信息平台
量化必刷【绿皮书】:A Practical Guide to Quantitative Finance Interviews
3.2.3 Pytorch
学习参考(CN):主页 - PyTorch中文文档
学习参考(EN):Welcome to PyTorch Tutorials
3.2.4 聚类之DBSCAN
本作者为该文章原创作者,保留对该文章所有权,非经允许,不得转载 (Alex Wang.2023)