量化分析获取数据的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 ...
随机推荐
- cdoj31-饭卡(card) (01背包)
http://acm.uestc.edu.cn/#/problem/show/31 饭卡(card) Time Limit: 3000/1000MS (Java/Others) Memory ...
- 解剖Nginx·自动脚本篇(3)源码相关变量脚本 auto/sources
在configure脚本中,运行完auto/options和auto/init脚本后,接下来就运行auto/soures脚本.这个脚本是为编译做准备的. 目录 核心模块 事件模块 OpenSSL 模块 ...
- 226. Invert Binary Tree 翻转二叉树
[抄题]: Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 [暴力解法]: 时间分析: 空间分 ...
- linux zip解压缩中文乱码
这里提供两个解决方案: 1.python处理下:https://gist.github.com/wangjiezhe/7841a350983a147b6d7e 2.java的zip4j:http:// ...
- loadrunner12-错误 -26366: 找不到 web_reg_find 的“Text=19728.00”
转:检查点(web_reg_find函数详解) LR检查点 设置检查点的目的不只是为了验证我们的脚本没有错误,而更重要的是一个规范问题,如何使得测试结果更具有说服力,因此建议所有的测试脚本中都添加检查 ...
- p4051 [JSOI2007]字符加密
传送门 分析 将字符串复制一遍然后直接求sa即可 代码 #include<iostream> #include<cstdio> #include<cstring> ...
- N-Gram的数据结构
ARPA的n-gram语法如下: [html] view plaincopyprint? \data\ ngram 1=64000 ngram 2=522530 ngram 3=173445 \1-g ...
- 拖拽demo--兼容--全局捕获
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- http post 方法传递参数的2种方式
1.StringEntity try{ HttpPost httpPost = new HttpPost(url); //param参数,可以为param="key1=value1&a ...
- Go 面向对象概念
前言: 本文是学习<<go语言程序设计>> -- 清华大学出版社(王鹏 编著) 的2014年1月第一版 做的一些笔记 , 如有侵权, 请告知笔者, 将在24小时内删除, 转载请 ...