前言


使用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 pd
import pandas.io.data as web
import matplotlib.pyplot as plt
import datetime
import 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 进行简单的数据分析相关推荐

  1. 量化初步-《python与量化投资从基础到实战》——优矿策略

    python与量化投资从基础到实战--策略初步 量化数据获取 优矿介绍 使用方式 日行情数据 因子数据 数据处理 数据合并 数据透视 数据过滤 数据获取与整理 数据转化: 标准化 哑变量 通联数据回测 ...

  2. 【优矿学习】分析新用户引导的代码

    本文中的例子来自于优矿的新用户引导中提供的代码: 记录在优矿这个平台一下学习的回测和取数据用到的基本方法 首先第一个策略是新用户引导里面给的,大概干了这么一件事: 回测2017-01-01到2018- ...

  3. 优矿量化实验室———转自知乎

    出处:https://www.zhihu.com/question/20874888 https://www.zhihu.com/question/20874888/answer/87738147?u ...

  4. 【学习笔记】优矿量化交易入门(一)策略框架编写

    半自动化优矿 全自动化IB 面向对象 策略框架编写 start = '2017-01-01' # 回测起始时间 end = '2018-01-01' # 回测结束时间 universe = Dynam ...

  5. 【python】优矿多因子策略白皮书学习与思考

    背景 本文用来快速理清常见量化思路,其官方提供的多因子此策略白皮书很适合上手. 流程 一 . 获取因子数据 # 优矿里提供了400多个因子数据,将诸如TTM类似的标准化算法工程化,可利用DataAPI ...

  6. python写因子策略_单因子策略进阶版 本篇延续(第三期:单因子策略入门版),介绍如何使用优矿平台编写策略代码,以股息率作为择股条件,自动筛选出股息率前十名的股... - 雪球...

    来源:雪球App,作者: 爱喝豆汁的投资者,(https://xueqiu.com/2680567071/130470562) 本篇延续(第三期:单因子策略入门版),介绍如何使用优矿平台编写策略代码, ...

  7. 网络IO管理-简单一问一答、多线程方式

    思考 1. 那网络中进程之间如何通信,浏览器的进程怎么与web服务器通信的? 2. 什么时候用一请求一线程的方式? 3. 什么时候用select/poll? 4. 什么时候用epoll? 准备工作 下 ...

  8. 使用nettyio+socket.io搭建简单的网页聊天室

    使用nettyio+socket.io搭建简单的网页聊天室 1 目录结构 2 maven 依赖配置 <project xmlns="http://maven.apache.org/PO ...

  9. 关于Linux性能调优中磁盘IO调优的一些笔记

    写在前面 和小伙伴分享一些Linux 磁盘 IO优化的笔记,内容很浅,可以用作入门 博文内容结合<Linux性能优化>读书笔记整理 涉及内容包括 使用vmstat 统计系统内磁盘分区I/O ...

  10. 优傲机器人IO系统说明与使用

    UR机器人的一个设计理念是模块化,因此不管是控制箱IO还是工具端IO,都可以理解为独立的模块.工具端IO存在于工具端PCB电路中,这块工具端PCB的主要作用就是提供24V/12V电源,处理IO信号和加 ...

最新文章

  1. BERT拿下最佳长论文奖!NAACL 2019最佳论文奖公布
  2. 大数据笔记2019.5.9 Java中方法的使用
  3. 网络编程学习笔记(批量输入)
  4. 《设计领导力:顶尖设计领导者建设和发展成功设计团队》一2.4 雇比你聪明的人...
  5. 其他团队对本组建议汇总
  6. MySQL WHERE:条件查询
  7. 25个python相关的基础概念总结
  8. java后端面试笔记-自用
  9. java scrollpane放按钮_java – 如何在BoxLayout上放置scrollPane?
  10. mysql的索引(一)
  11. 如何写一份优秀的投资计划书
  12. mysql按周几查询时间戳转周几星期
  13. vs2017 linux unable to start debugging
  14. Java微信公众号开发(附源码!!!)
  15. 数据库电话号码查询显示中间四位用****代替的SQL语句
  16. 跑步戴哪款无线耳机好,适合跑步小白的无线耳机推荐
  17. 金山现任CEO张宏江将退休 西山居CEO继任
  18. kernel 3.10代码分析--KVM相关--虚拟机运行
  19. 银行业法律法规与综合能力-- 知识点总结
  20. 10.25 ib api 自定义魔改日记

热门文章

  1. oracle导出表904错误,月光软件站 - 编程文档 - 数据库 - EXP-00008: ORACLE error 904 encountered的解决方法...
  2. R语言方差分解分析(Variation partition analysis)及其显著性检验
  3. SQL分组排序再取前N条记录
  4. ubuntu20.04系统安装谷歌浏览器
  5. Win10电脑关机后立即自动重启怎么办
  6. python风变编程费用_风变编程的收费课程靠谱吗?
  7. c语言质因数分解算法蓝桥杯,【算法】 蓝桥杯 基础练习 分解质因数
  8. RabbitMq 406错误
  9. Unity可编程渲染管线系列(十)细节层次(交叉淡化几何体)
  10. 四天学会JavaScript(Day1~Day4)