python 下载股票数据_「Python量化资料」用Python抓取Yahoo、investing平台股票数据
一、前言
数据要进行分析或回测前最重要的就是数据源,而股票要去哪里抓呢?
这边提供大家python快速抓股票数据的两大网站提供的api
(1) Yahoo Fiance 提供的pandas_datareader
(2) Investing 提供的 investpy
至于哪个比较好比较完整各有优缺点
二、使用
首先下载套件包(package),还不会下套件包可以参考我的文章下载套件包的三大方法
pip install pandas_datareader pip install investpy
(1) pandas_datareader
a. 如何使用pandas_datareader
#汇入Yahoo Finance套件
import pandas_datareader as web
#下载股票数据
df =web.DataReader(name='2330.TW',data_source='yahoo',start='2020-01-01',end='2020-12-31')#name为股票代号名称start、end为资料下载期间
下载完的数据在Spyder里面是长这样
b. 一次下载多档数据,并分别计算
#一次下载多档数据
AllData = {} #新建一字典放数据
tickers = ['^TWII','2330.TW','2454.TW','2317.TW'] # list放入要下载的tickers
for ticker in tickers: #下载数据
df =web.DataReader(name=ticker,data_source='yahoo',start='2020-01-01',end='2020-12-31')
AllData[ticker] = df #把下载的股票数据放入字典
#分别计算每档数据
for ticker inAllData.keys():
df = AllData[ticker] #这样就可以在循环下计算每档数据喽
这样字典里就放着全部下载的股票,要计算哪个就用df = AllData[ticker]拿出来就可以了
(2) investpy
a. 如何使用investpy
这边要注意时间格式跟yahoo finance有点不一样
import investpy
#下载股票数据
df =investpy.get_stock_historical_data(stock='2330',
country='Taiwan',#比yahoo finance多填一个国家别
from_date='01/01/2010',#这边注意时间格式
to_date='01/01/2020')
#获得全部票清单
ticker_list =investpy.get_stocks_list('china')#填入国家
下载完的资料跟yahoo finance大致一样,就多一栏计价币别,少一栏调整后股价
b. 如何通过Investing.com抓到想分析的股票并且透过investpy下载及其他市场资料
先到官网里面输入想要的股票或找到想下载的数据
点进去后可以看到代号及所属市场可以找到investpy.get_stock_historical_data所要的参数了
因为investpy还提供不同的历史资料,债券、货币和基金等等,你在investing.com可能看到,这样就可以下载了
investpy.get_bond_historical_data(bond, from_date, to_date)
investpy.get_stock_historical_data(stock, country, from_date, to_date)
investpy.get_fund_historical_data(fund, country, from_date, to_date)
三、后记
pandas_datareader可以抓到期间较长的资料,但股票代号较不好找
而且在盘中下载资料的话较容易有缺漏,大家用过就知道了
之后会有一篇教大家如何轻松在Yahoo Fiance轻松获取台股清单及台湾指数代号
以供pandas_datareader下载
#python#
python 下载股票数据_「Python量化资料」用Python抓取Yahoo、investing平台股票数据相关推荐
- 解决Spyder无法抓取Yahoo!finance财经数据
问题描述:用Spyder在Yahoo!finance上抓取财经数据时,处于无反应状态,无法抓取所需的财经数据.主要是因为Yahoo!finance停用了它的历史数据API,所以为了能继续抓取数据,需要 ...
- java抓取网页数据_简易数据分析 10 | Web Scraper 翻页——抓取滚动加载类型网页...
[这是简易数据分析系列的第 10 篇文章] 友情提示:这一篇文章的内容较多,信息量比较大,希望大家学习的时候多看几遍. 我们在刷朋友圈刷微博的时候,总会强调一个『刷』字,因为看动态的时候,当把内容拉到 ...
- python爬虫灰产_「docker实战篇」python的docker爬虫技术-在linux下mitmproxy介绍和安装(四)...
上次说了fiddler的抓包和参数介绍,通过fiddler抓包工具可以完成app和web端的数据,这次介绍另一款抓包公司mitmproxy,可以和python语言结合通过爬虫抓取数据. 源码:http ...
- python定义map数据_「每日一练」巧用Python处理列表中的数据
列表是Python中最常用到的元素,那么你知道map方法吗?了解的话,可以很轻松的对list中的每个元素进行处理哦!一起来练习一下吧! 往下看,就是这么简单! 案例 列表[1,2,3,4,5],请使用 ...
- python爬取抖音用户数据_「docker实战篇」python的docker-抖音web端数据抓取(19)
import re import requests import time from lxml import etree def handle_decode(input_data,share_web_ ...
- python统计套利_「手把手教你」使用Python实现统计套利
文章转载自公众号 人工智能量化实验室 , 作者 Frankie的账号 一.交易对象选取 我们以商品期货市场的螺纹钢品种的跨期套利为例,选取两组不同到期月份的同种商品期货合约作为交易对象. 相关性检验 ...
- python 文本框位置_「每日一练」Python文本框的显示和插入
Python强大之处在于对于数据的处理,而处理数据就离不开文本框,那么你知道Python中文本框是如何显示和插入吗? 案例 python文本框的显示和插入 先上代码~ 运行效果 题目详述 第一行: i ...
- python字符串筛选输出_「每日一练」巧用Python对字符串进行筛选
无论是哪一门语言,都会经常用到正则表达式,无论是网络爬虫,还是数据处理等都经常会用到数据匹配,那么你会在Python中用正则表达式对字符串进行筛选吗? 往下看,就是这么简单! 案例 a = " ...
- python抖音接口_「docker实战篇」python的docker-抖音分析接口数据分析(21)
上节xposed已经安装完毕,设置对应的android的版本和代理服务器. 准备工作 1.xposed和JustTruestMe的安装 2.抖音安装完毕 启动fildder 点击进入指定的粉丝界面 查 ...
- python自动抽奖_「懒人必备」用Python自动抽奖
不知道你们有没有玩过无码科技的小程序抽奖助手,没有玩过的可以在微信小程序入门搜索抽奖助手,首页有很多奖品进行抽奖的,我前几天发现了之后就把那里的所有奖品都点了一次,就突发萌想,能不能用python来实 ...
最新文章
- 《剑指offer》c++版本 17.打印从1到最大的N位数
- CentOS7服务去Nginx使用-安装
- Java多线程(七)之同步器基础:AQS框架深入分析
- 如何使WordPress博客添加多个sidebar侧边栏
- LightOJ 1422 区间DP Halloween Costumes
- 深度学习的实用层面 —— 1.6 Dropout正则化
- 给Python IDLE添加行号显示
- python中的matlibplot_python中如何用matlibplot画时间序列图?
- 我们究竟需要什么!!?
- 特斯拉起诉小鹏汽车员工窃取 30 多万份商业机密,何小鹏回应
- 盈建科弹性板6计算_YJK参数设置详细解析
- iptables小案例
- Lwip协议详解(基于Lwip 2.1.0)-内存管理
- [RK3399][Android7.1] 调试笔记 --- CPU的serial number读取
- 安装ie9提示未能完成安装_win7系统32位旗舰版,IE8升级IE9失败,提示未能完成安装...
- 本地Navicat连接阿里云数据库RDS for MySQL(全网最详细,没有之一!)
- Java Socket(一)使用TCP传输字符串
- SpringBoot+AOP(@Around)
- 金蝶云之家APP产品分析报告
- 金融网站知识图谱问答系统:自学Python第一周