量化分析获取数据的3种姿势(压箱底的神器Tushare)
自打入门量化分析起,就有相当部分的时间在与数据打交道,从数据的获取、清洗到使用,对分析而言既是繁琐的,也是必须的。有大牛曾经说,量化分析有8成的开发时间都在处理数据。
一、从行情软件手动搬运
二、万能的爬虫
重写代码是需要时间的,因此,为了让数据更新每日不间断,你需要常备一个备选方案,也就是2个爬虫,万一某天你的try不成功,它还可以执行except完成任务,同时,你需要让它把信息及时反馈给你,为此,你需要写一个好的log生成方法。
三、神器Tushare
tushare是一个在国内非常火的python库,它的强大就在于它既能全面的提供金融分析所需的各类数据,而且速度超快,也能完美结合到各种自定义的使用场景,几乎可以说是没有缺点。
当然,这里不说心路历程,只聊干货。
1、Tushare一代
http://tushare.org 点开这个贯彻了极简主义美学的链接,一个精彩的世界就浮现在你眼前。
这个基于爬虫的数据服务平台,就是一代的Tushare,也是Tushare的初心。
2、Tushare二代
https://tushare.pro 与一代一脉相承的极简画风,带有科技感的主页设计,以及不变的初衷。
可以说,当前的Tushare作为一个免费数据平台,所提供的是不逊于国内一流收费平台的服务,这里我举几个自己常用的作为例子。
(1)打开姿势
新版Tushare的打开姿势与旧版有所不同,
1 import Tushare as ts
2 ts.set_token('**********************************')
3 pro = ts.pro_api()
4
5 #取000001的前复权行情
6 df = ts.pro_bar(ts_code='000001.SZ', adj='qfq', start_date='20180101', end_date='20181011')
7
8 #查询当前所有正常上市交易的股票列表
9 data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
如果突破了单位时间内访问频率限制,服务器会拒绝你的访问,甚至……。
(2)积分体系
之所以多了token这一步,正是因为新版Tushare引入了积分系统,积分决定着你在新版平台上的权限高低。
积分不靠买,而靠挣!
既是最高明的模式,也是最善意的模式!
未来,希望Tushare越来越好。
量化分析获取数据的3种姿势(压箱底的神器Tushare)的更多相关文章
- Struts2(四.注册时检查用户名是否存在及Action获取数据的三种方式)
一.功能 1.用户注册页面 <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- node 创建静态web服务器(下)(处理异步获取数据的两种方式)
接上一章. 上一章我们说创建的静态web服务器只能识别html,css,js文件,功能较为单一,且图片格式为text/html,这是不合理的. 本章,我们将解决该问题. 这里,我们先准备好一个json ...
- jQuery中通过JSONP来跨域获取数据的三种方式
第一种方法是在ajax函数中设置dataType为'jsonp' $.ajax({ dataType: 'jsonp', url: 'http://www.a.com/user?id=123', su ...
- Ajax获取数据的几种格式和解析方式
一.什么是ajax AJAX的全称是Asynchronous JavaScript and XML(是异步的 javascript 和 XML). ajax不是新的编程语言,而是一种使用现有标准的 ...
- file_get_contents无法获取数据的一种情况
下面这段php代码突然不好使了,返回的 $html 为空,百思不得解.网上说法好多,但都是一家之言,解决不了我的问题.(我的解决方法也是一家之言,只能解决file_get_contents获取不到数据 ...
- .net 调用SAP RFC函数获取数据的两种方式
方式1:使用客户端自带的组件 安装客户端以后,添加引用:SAPFunctionsOCX(.net 的Com列表里一般找不到,需要引用DLL[一般位于以下路径:Program Files\SAP\Fro ...
- request获取数据的几种方法
1.request.getparameter(); String value=request.getparameter("key"); 2.request.getParameter ...
- 前端向后端获取数据的三种方法:ajax、axios、fetch
1.jQuery中的ajax get方法: $.ajax({ url:"v4/api/film/now-playing?t=1539401039415&page=1&coun ...
- Day20-单表中获取表单数据的3种方式
1. 搭建环境请参考:http://www.cnblogs.com/momo8238/p/7508677.html 2. 创建表结构 models.py from django.db import m ...
随机推荐
- 【祥哥带你玩HoloLens开发】了解如何实现远程主机为HoloLens实时渲染
今天有一个兄弟在群里讲到他们的项目模型比较大,单用HoloLens运行设备的性能无法满足需要,问道如何将渲染工作交给服务器来做,讲渲染结果传给HoloLens.正好刚刚看官方github的时候发现一个 ...
- Paradox
克己博伦 当一个无法阻挡的力量,碰到了一个无法移动的物体?如果这个力量移动了物体,那么这个物体就不是无法移动的.如果这个力量没有移动物体,那么这个无法阻挡的力量就被挡了下来. 上帝能造出一个重到他自己 ...
- 学 python
1. 推荐的学习教程:<python简明教程> 2. 不推荐的学习教程,可以偶尔查查:<Dive into python>,偶尔查查挺好,看多了走火入魔. 3. 推荐一个pyt ...
- 从零开始安装hue(原创-转载注明出处)
hue安装需要从github上面下载源码,进行编译安装.github上面给出的安装教程很简单 然而实际上在安装的过程中遇到了无数个坑,下面开始真正意义上的从零开始安装hue. 安装环境: centOS ...
- 面向对象的JavaScript-006-Function.prototype.apply()的3种作用
1. // Function.prototype.apply()的作用 // 1.Using apply to chain constructors Function.prototype.constr ...
- [SoapUI] SoapUI+Groovy中"org.apache.xmlbeans.XmlException: error:
把 def holder = groovyUtils.getXmlHolder("Get Token#Response") 改为 def holder = groovyUtils. ...
- IE6 BUG及解决方案
1.IE6中奇数宽高的BUG 一个外部的相对定位div,内部一个绝对定位的div(right:0) 可是在IE6下查看,却变成了right:1px的效果了: 解决方案就是将外部相对定位的div宽度改成 ...
- Perl语言编程>>学习笔记2
1. Perl中变量的常用表示 ${var} 相当于 $var $Dog::days 在Dog包里面的变量$days $#days @days 的最后一个索引 ] $days 引用的数组 ...
- python str, list,tuple, dir
Python3 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello ...
- 深入理解Cookie和Session机制
转载理解Cookie和Session机制 目录 Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存二进制图片设置Cookie的所有属性Coo ...