Tushare test
查看版本
import tushare
print(tushare.__version__)
1.2.12
初步的调用方法为:
import tushare as ts
ts.get_hist_data('600848') #一次性获取全部日k线数据

- 第一列是日期,后边的是各类价格,包括开盘价、最高价、收盘价等等,具体在Tushare里边都有详细介绍
调用Tushare抓取上证指数并作可视化
import tushare as ts
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = ts.get_hist_data('000001',start='2017-01-01',end='2018-10-10')
df.head(10)

- 可以看到转去了上证指数的各类价格数据以及最后turnover的换手率。但是有一个问题就是数据的date的降序的,即日起从2018年3月往2017年1月排列的,需要排序。
sz=df.sort_index(axis=0, ascending=True) #对index进行升序排列
sz_return=sz[['p_change']] #选取涨跌幅数据
train=sz_return[0:255] #划分训练集
test=sz_return[255:] #测试集
#对训练集与测试集分别做趋势图
plt.figure(figsize=(10,5))
train['p_change'].plot()
plt.legend(loc='best')
plt.show()
plt.figure(figsize=(10,5))
test['p_change'].plot(c='r')
plt.legend(loc='best')
plt.show()


- 蓝色为训练集序列波动图,红色为测试集序列波动图。
直接用训练集平均值作为测试集的预测值
#Simple Average
from math import sqrt
from sklearn.metrics import mean_squared_error
y_hat_avg = test.copy() #copy test列表
y_hat_avg['avg_forecast'] = train['p_change'].mean() #求平均值
plt.figure(figsize=(12,8))
plt.plot(train['p_change'], label='Train')
plt.plot(test['p_change'], label='Test')
plt.plot(y_hat_avg['avg_forecast'], label='Average Forecast')
plt.legend(loc='best')
plt.show()
rms = sqrt(mean_squared_error(test.p_change, y_hat_avg.avg_forecast))
print(rms)

2.1722839490457657
直接用移动平均法最后一个值作为测试集的预测值
#Moving Average
from math import sqrt
from sklearn.metrics import mean_squared_error
y_hat_avg = test.copy()
y_hat_avg['moving_avg_forecast'] = train['p_change'].rolling(30).mean().iloc[-1]
#30期的移动平均,最后一个数作为test的预测值
plt.figure(figsize=(12,8))
plt.plot(train['p_change'], label='Train')
plt.plot(test['p_change'], label='Test')
plt.plot(y_hat_avg['moving_avg_forecast'], label='Moving Average Forecast')
plt.legend(loc='best')
plt.show()
rms = sqrt(mean_squared_error(test.p_change, y_hat_avg.moving_avg_forecast))
print(rms)

2.1545970719308243
- 得到RMSE为2.1545970719308243
可以看到,最后移动平均法的均方误差最低,预测效果最好。
Tushare test的更多相关文章
- Python 下载 tushare 数据,然后调用 C++ DLL 计算 wMA 存入本地 csv 文件再 python 读取
CMakeLists.txt project(wMA) add_library(wMA SHARED wMA.cpp) wMA.h #pragma once #ifndef WMA_WMA_H #de ...
- Python使用TuShare将股票数据保存到Oracle数据
TuShare是个获取股票数据的模块包,我们进行分析,需要将股票数据保存到本地,避免每次都从网上获取,由于本机装有ORCALE,以ORACLE为例介绍如何保存股票数据到本地. 一.大致思路:我们先获取 ...
- Python3.5之TuShare
这部分是直接搬运过来的,官方网站http://tushare.waditu.com/ TuShare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据 ...
- tushare
tushare TuShare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据, ...
- pip install tushare
1.sudo apt-get install libxml2-dev libxslt1-dev python-dev apt-get install libevent-dev pip install ...
- Tushare的安装
TuShare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工到数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据. 考虑到python ...
- Tushare模块
.TuShare简介和环境安装 TuShare是一个著名的免费.开源的python财经数据接口包.其官网主页为:TuShare -财经数据接口包.该接口包如今提供了大量的金融数据,涵盖了股票.基本面. ...
- 金融量化之Tushare模块
一.介绍 Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据,为他们 ...
- 1.tushare模块的应用
tushare模块的应用 今日概要 TuShare简介和环境安装 TuShare的应用 今日详情 一.TuShare简介和环境安装 TuShare是一个著名的免费.开源的python财经数据接口包.其 ...
- tushare 开源数据包的使用
tushare 使用 python开源金融接口包: tushare.org/trading.html#d2 安装: pip install tushare import tushare as ts # ...
随机推荐
- MVC使用Flash来显示图片
Insus.NET实现一些网站模版,如用户能动态变更网站的头,中间或是脚的部位,就是不太确定用户上传的是图片,还是Flash.因此想到一个较好的解决方法,就是使用Flash的组件去显示来源的图片或是. ...
- Java基础——JSP(三)
一. JavaBean 是一种特殊的java类,它遵从一定的设计模式,开发工具和其他组件可以根据这种模式来调用javaBean.它是使用一种符合某些命名方法和设计规范的java类. -- 这个类是可序 ...
- 【Linux】apt-get 源地址汇总
修改etc/apt/sources.list文件 deb http://mirrors.163.com/ubuntu/ lucid main restricted universe multivers ...
- 漫画 | Redis常见面试问题(二)
上期,小知和阿音在进行面试问答,可是呢,还没问完小知就表示累了想休息一会,然后就休息去了,但是,以为这样就完了吗? 当然不是,还得继续啊,嘿嘿嘿 注:对于第一种,需要应用程序自己处理资源的同步,可以使 ...
- Java面试题—初级(6)
71,谈谈你对Struts的理解. 1. struts是一个按MVC模式设计的Web层框架,其实它就是一个Servlet,这个Servlet名为ActionServlet,或是ActionServle ...
- java设计模式-----23、命令模式
概念: Command模式也叫命令模式 ,是行为设计模式的一种.Command模式通过被称为Command的类封装了对目标对象的调用行为以及调用参数. 命令模式(Command Pattern)是一种 ...
- JavaScript高级编程———JSON
JavaScript高级编程———JSON < script > /*JSON的语法可以表达一下三种类型的值 简单值:使用与javas相同的语法,可以在JSON中表达字符串.数值.布尔值和 ...
- ThinkPHP5自定义分页样式
1.在thinkphp/library/think/paginator/driver目录下新建文件Page.php 注意命名空间和继承 <?php namespace think\paginat ...
- 阿里云服务器(ECS)从购买到配置NodeJS环境
本人入门级前端,对服务器不熟悉,这是自己摸索的过程,可能会有错误! 1.购买 阿里云服务器有个活动是新用户前六个月可以免费试用,但是每天早上发放一定的名额,但为了方便,我买了18RMB的捆绑套餐,也是 ...
- js-设计模式学习笔记-策略模式
策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换(相互替换:表现为它们具有相同的目标和意图). 策略模式的目的是讲算法的使用与算法的实现分离开来. 一个基于策略模式的程 ...