量化分析获取数据的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 ...
随机推荐
- JS中深拷贝数组、对象、对象数组方法(转载)
我们在JS程序中需要进行频繁的变量赋值运算,对于字符串.布尔值等可直接使用赋值运算符 “=” 即可,但是对于数组.对象.对象数组的拷贝,我们需要理解更多的内容. 首先,我们需要了解JS的浅拷贝与深拷贝 ...
- rest-framework-----url控制
一:自定义路由(原始方式) from django.conf.urls import url from app01 import views urlpatterns = [ url(r'^books/ ...
- [GO]通过结构体生成json
package main import ( "encoding/json" "fmt" ) type IT struct { //一定要注意这里的成员变量的名字 ...
- left join、right join、inner join、full join
转自:某一网友 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join ...
- ping别的电脑出错
原因ifconfig 电脑1:172.31.45.101 电脑2:172.31.188.232 http://ask.csdn.net/questions/178358 如何防止别人ping自己的电脑 ...
- 理解Javascript的Prototype
在Javascript中创建对象主要分为三种方式 1. var catA = {name: "Fluffy", color: "White", age: 0}; ...
- Ubuntu下常见的问题记录与处理
经常使用Ubuntu系统,总会遇到各种问题,找到了解决方法,记录在此吧!常言好记性不好烂笔头~ 以下是目前遇到的一些问题,不分先后记录,后面遇到新的问题并找到解决方法也会更新记录的~ 一.共享文件(使 ...
- 【扫盲贴】为什么屏幕分辨率是 640x480
本文原地址:http://www.easyx.cn/skills/View.aspx?id=172 常见的屏幕分辨率很奇怪,为什么总用一些不零不整的数字?比如以前最常见的分辨率是 640x480,当初 ...
- java利用HttpClient进行https接口调用
1.为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程. import java.security.cert.CertificateException; import ...
- Android-AndroidStudio Run 'app'安装APK到设备的过程
1.AndroidStudio 点击Run ‘app’. 2.点击Run ‘app’就会将所有.class文件用SDK工具集处理成.dex, 用SDK工具集将图片/资源/布局文件/AndroidMan ...