PythonStock(9):使用优矿uqer.io 进行简单的数据分析
来源:互联网 发布:唯爱美白仪骗局知乎 编辑:程序博客网 时间:2024/05/18 01:10
前言
使用Python开发一个股票项目。
项目地址:
https://github.com/pythonstock/stock
相关资料:
http://blog.csdn.net/freewebsys/article/category/7076584
主要使用开发语言是python。
使用的lib库是pandas,tushare,TensorFlow,tornado等。
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/78291346
未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys
1,研究股票数据
参考下python处理股票市场数据:
英文版:
An Introduction to Stock Market Data Analysis with Python (Part 1)
https://ntguardian.wordpress.com/2016/09/19/introduction-stock-market-data-python-1/
An Introduction to Stock Market Data Analysis with Python (Part 2)
https://ntguardian.wordpress.com/2016/09/26/introduction-stock-market-data-python-2/
中文版:
Python股市数据分析教程——学会它,或可以实现半“智能”炒股 (Part 1)
https://yq.aliyun.com/articles/66878
Python股市数据分析教程——学会它,或可以实现半“智能”炒股 (Part 2)
https://yq.aliyun.com/articles/66817
发现这个代码是基于 yahoo 财经的很就以前的代码根本不能运行。
所以跑起来没有啥意义。
于是研究使用 优矿 api 进行下简单的数据分析。
2,代码实现:
import pandas as pdimport pandas.io.data as webimport matplotlib.pyplot as pltimport datetimeimport numpy as npstart = datetime.datetime(2016, 1, 1)end = datetime.date.today() - datetime.timedelta(days=1) # yesterday .# IOError Traceback (most recent call last)# apple = web.DataReader("AAPL", "yahoo", start, end)# 以【平安银行】为例:out_data = DataAPI.MktEqudGet(secID=u"000001.XSHE", beginDate=start, endDate=end, pandas="1")print(start, end)# openPrice float 今开盘# highestPrice float 最高价# lowestPrice float 最低价# closePrice float 今收盘# turnoverVol float 成交量# turnoverValue float 成交金额# dealAmount int 成交笔数# turnoverRate float 日换手率# 重新设置 index 和数据。out_data = pd.DataFrame({ "openPrice": out_data["openPrice"].values, "highestPrice": out_data["highestPrice"].values, "lowestPrice": out_data["lowestPrice"].values, "closePrice": out_data["closePrice"].values, "turnoverVol": out_data["turnoverVol"].values, "turnoverValue": out_data["turnoverValue"].values, "dealAmount": out_data["dealAmount"].values, "turnoverRate": out_data["turnoverRate"].values}, index=out_data["tradeDate"].values)print("####### len:", len(out_data))figsiz_all = (18, 4)# .subplots(1, 3, figsize=(9, 3), sharey=True) plt.figure()out_data["closePrice"].plot(grid=True, figsize=figsiz_all, title="closePrice")####################### 计算今日收盘价回归 #######################plt.figure() # 在新创建一个图表。out_data["return"] = np.log(out_data["closePrice"] / out_data["closePrice"].shift(1))# print(out_data.head())out_data["return"].plot(grid=True, figsize=figsiz_all, title="closePrice return")####################### 计算今日收盘价波动 #######################out_data["25d"] = pd.rolling_mean(out_data["closePrice"], window=25)out_data["50d"] = pd.rolling_mean(out_data["closePrice"], window=50)print(out_data.head(n=2))plt.figure() # 在新创建一个图表。out_data[["closePrice", "25d", "50d"]].plot(grid=True, figsize=figsiz_all, title="25d 50d")
其中使用api DataAPI.MktEqudGet 获得的是平安银行(000001.XSHE)的股票数据。
相关的参数说明:
https://uqer.io/data/browse/0/?page=1
输入开始时间,结束时间。返回的是一个python pandas 的 dataFrame 对象。
使用
out_data["return"] = np.log(out_data["closePrice"] / out_data["closePrice"].shift(1))
用【今日收盘价格】/ 【昨天收盘价格】得出的一个回归值。
使用
out_data["25d"] = pd.rolling_mean(out_data["closePrice"], window=25)out_data["50d"] = pd.rolling_mean(out_data["closePrice"], window=50)
计算移动平均线25日的和50日的。
计算结果展示:
3,总结
pandas 处理股票数据,还是非常的方便的。
可以对数据进行计算。同时使用plt 将图形可视化。
同时在 uqer.io 上面进行测试方便了很多。
但是由于 uqer.io 上面不能进行数据的存储(需要pro版本),只能计算。
但是也有好处,可以模拟进行实施交易。测试自己的算法思路呢。
接下来研究 tushare 报表展示。uqer.io 上面用的lib库还不是很全面。
有很多自己的api,各有利弊吧。
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/78291346
未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys
- PythonStock(9):使用优矿uqer.io 进行简单的数据分析
- 在优矿(uqer.io)上打开量化投资的黑箱-技术分析篇
- PythonStock(12):使用python,pandas进行股票分析
- PythonStock(10):使用notebook + tushare + pandas 简单的股票分析,蜡烛图
- PythonStock(8):使用优矿web学习python入门
- PythonStock(3):使用python tornado web进行开发
- PythonStock(4):使用python + dataTable 进行开发
- PythonStock(15):使用bokeh 展示股票报表数据
- PythonStock(2):tushare宏观数据使用pandas入库,增加唯一索引
- PythonStock(7):使用 dataTable+Editor+python+Tornado 实现数据通用CRUD
- PythonStock(14):使用pandas 批量处理股票数据,批量计算股票指标
- 【Python机器学习】梯度下降法(三) 优矿(uqer.io)
- PythonStock(11):使用pandas计算股票波峰波谷猜想
- 【IO】使用Properties进行数据读写
- 使用python进行数据分析
- 使用 Pig 进行数据分析
- 使用Python进行数据分析
- 使用nginx进行ab站点的过程简单分析
- Censos_fdfs
- 【数论】[AHOI2005]约数研究
- pulltorefresh【listview GridView ScrollView】
- 管理者(笔记)——工作、职务、技能与组织
- ionic在文本标头添加按钮样式
- PythonStock(9):使用优矿uqer.io 进行简单的数据分析
- 网页设计中常用的19个Web安全字体
- IO流中将字节流转成字符流的方法
- 【第1084期】写在2017的前端数据层不完全指北
- [ Java学习 ] “goto语句“ 和 “continue + 标号” 的不同待遇
- BZOJ3696 化合物
- 点击切换效果
- android studio设置生成的release版本apk的名称
- miniui form表单置灰