自己做量化交易软件(10)通通量化AI框架的数据获取与格式
我与2018年07月08日开始学习python编程和设计通通量化AI框架,到昨天晚上2018年10月30日,基本框架已经完成.能够显示K线图形,能够使用仿通达信公式,能够用python编写策略,并显示出来.而且增加了股票投资类的AI知识库.

(通通量化框架主画面)

(通通量化框架回测界面)

(通通量化框架信息输出和交互,集成有股票投资类的知识库.)

在这几个月的学习中,我得到了广大朋友,群友的大量帮助,也得到了度娘的帮助,大量代码都是复制粘贴修改所完成.难免让大家看我的程序似成相识.
我自己在这个几个月对python语言的理解也逐步蜕变升级.更多进步都是我不断试错代码,才取得的进步.无论怎么说,我还是坚持完全开源的思想,把我的通通量化AI框架全部代码,无保留奉献给有兴趣的朋友.
1.我们通通量化框架与其说是用于金融投资,例如股票,期货,虚拟币,彩票分析等等.更重要的是,通过我的努力学习,把互联网上碎片的python编写程序的知识,进行了汇总和合成.如果你理解了我的通通量化框架的总体设计思想.你完全可以给自己的裸奔算法,加上华丽的外衣(漂亮的客户端界面).
2.我的傻瓜型通通量化AI金融投资框架,针对于不懂电脑人来安装使用.这就是我对使用python编程的朋友第2个贡献.我们提供的64位python是绿色版本,只要解包安装,执行py36.bat. 要知道开始使用python对于我这个电脑玩家来说,安装python耗费了我不少时间.绿色py36压缩后1G左右,解包后3.2G,基本上你所需要的所有包已经集成好了,网上复制来的代码,能够直接在这个环境下运行.我已经集成了聚宽数据JQData数据包,Tushare数据接口包,OpenDataTools数据包.这些平台的股票数据获取,你可以随便使用.(聚宽数据需要网站申请免费使用帐户)
3.傻瓜型通通量化AI金融投资框架是全开放型的,用户可以看到全部代码,可以按照自己喜欢的样子,方式,习惯去修改.如果不想修改,也可以增加新的VIEW窗口画面,程序改变窗口状态和画面.这看起来一点不傻瓜,不是python高手,无法使用.但是,你能引用,复制,装载高手设计的新框架来使用.至于这些框架是如果编写设计的,你看不懂不要紧,能使用就可以了,你说"傻瓜不傻瓜".高手完全可以在程序运行过程中,增加自己喜欢的回测画面模板.
闲话说多了,跑题了.
通通量化早期设计是用的聚宽数据,因此内部核心数据格式是聚宽df格式,下面我们看看聚宽数据格式.

import pandas as pd
import numpy  as np
import datetime as dt
import time
import jqdatasdk as jqx=jq.auth('聚宽账户','密码')  #这里用户输入自己的账户和密码
security='000001.XSHE'
ds=time.strftime('%Y-%m-%d',time.localtime(time.time()))
de=time.strftime('%Y-%m-%d',time.localtime(time.time()))
df1=jq.get_price(security, start_date=None, end_date=de, frequency='daily', fields=None, skip_paused=False, fq='pre', count=None)
print(df1.head(5))
print(df1.dtypes)
print(df1.index)

上面代码运行结果如下图:

我们能够看到,索引是DatetimeIndex格式.通通量化在K线图显示是用了聚宽格式数据,是我们通通量化的核心数据格式.但是通通量化保存数据的格式又是Tushare数据格式.使用期间要经常相互转化,后期我们评估后,再统一格式.
下面我们看看Tushare数据格式.

import tushare as ts
import pandas as pddf1=ts.get_k_data('000001',ktype='D',start='2018-01-01',end='2018-10-15',index=False,autype='qfq')
print(df1.head(5))
print(df1.dtypes)
print(df1.index)

上面代码运行的结果如下图:

我们能够看到,索引是Int64Index格式.无论什么格式数据,我们重点关注date,open,close,high,low,volume等列,这是股票核心数据.程序处理就以这几个数据为主.
下面我们再看看OpenDataTools数据格式:
from opendatatools import stock

df1, msg = stock.get_daily('600000.SH',start_date='1991-01-01',end_date='2018-08-17')
print(df1.head(5))
print(df1.dtypes)
print(df1.index)

上面代码运行的结果如下图:

OpenDataTools数据格式的索引与Tushare数据格式一致,所以使用基本一样.但是OpenDataTools数据又多了很多内容,对我们程序没有影响,用户可以在自己策略中引用这些数据了,例如换手率change等等信息.
上面三种数据格式的股票代码不一样,大家使用中要注意.
本地数据格式,数据处理我放到HP_data.py文件中了.常用函数格式用法同Tushare数据函数格式.

import datetime as dt
from datetime import datetime
import pandas as pd
import HP_global as g
import HP_set
import HP_data as hp
import tushare as tsdf1=hp.get_k_data('000001',ktype='D',start='2018-01-01',end='2018-10-15',index=False,autype='qfq')
print('通通本地数据')
print(df1.head(5))
print(df1.dtypes)
print(df1.index)df2=ts.get_k_data('000001',ktype='D',start='2018-01-01',end='2018-10-15',index=False,autype='qfq')
print('Tushare数据')
print(df2.head(5))
print(df2.dtypes)
print(df2.index)

上面代码运行的结果如下图:

我们可以看到本地数据格式和Tushare数据格式除了code不同外,其他都一致.
朋友们明白了吗?把hp换为ts,就能直接在网上获取数据.
下面我给出HP_data.py中的数据转换函数,仅供参考,

#聚宽数据格式转为Tushare数据格式
def jqtots(df1):a=[x.strftime("%Y-%m-%d") for x in df1.index]df1.insert(0,'date',a)df1=df1.reset_index(level=None, drop=True ,col_level=0, col_fill='')  return df1#Tushare数据格式转为聚宽数据格式
def tstojq(df1):a=[dt.datetime.strptime(x,'%Y-%m-%d') for x in df1['date']]df1.insert(0,'date2',a)df1=df1.reset_index(level=None, drop=True ,col_level=0, col_fill='')  df1.index=df1['date2']del df1['date2']del df1['date']return df1

朋友们明白了数据格式,就可以写自己的量化分析策略了.

为什么我有空写文章啦,今天没带移动硬盘,没法完善通通量化框架了.

自己做量化交易软件(10)通通量化AI框架的数据获取与格式相关推荐

  1. 自己做量化交易软件(12)通通量化AI框架的使用1-与通通AI对话聊天

    自己做量化交易软件(12)通通量化AI框架的使用1-与通通AI对话聊天 到今天为止,通通AI量化框架基本完成了.下来要做的工作是进行完善,另外打算做macbook版本软件,我对macbook不熟悉,有 ...

  2. 自己做量化交易软件(15)通通量化AI框架的选股器设计1

    自己做量化交易软件(15)通通量化AI框架的选股器设计 前面我们学会了单只股票的分析,回测功能.下面我们开始设计选股器和量化分析的功能. 在设计选股器之前,我们先要学习一些python基本操作技巧. ...

  3. 自己做量化交易软件(11)通通量化AI框架的核心--框架结构

    自己做量化交易软件(11)通通量化AI框架的核心–框架结构 既然我说了要开源通通量化AI框架,就算大家得到了代码,也不清楚怎么去改进和修改.因此我在最后完善框架的空闲,逐步介绍框架的核心设计思想,大家 ...

  4. 自己做量化交易软件(9通通量化框架的雏形建立

    自己做量化交易软件(9通通量化框架的雏形建立 前面我们做了各种学习尝试,现在开始逐步搭建一个通通量化框架.我做了一部分工作,但是很多朋友有python知识,也想自己能快速搭建程序.因此我放出了全部的开 ...

  5. 自己做量化交易软件(3)通通量化分析框架构成1

    自己做量化交易软件(3)通通量化分析框架构成1 通通股票量化分析框架采用模块化设计,每个模块存放在不同的py文件中. 通通股票量化分析框架下载: https://download.csdn.net/d ...

  6. 自己做量化交易软件(1)通通量化分析环境安装使用

    自己做量化交易软件(1) 通通量化分析环境安装使用 (独狼荷蒲 QQ:2775205) 一.安装python Anaconda包含有超过720个关于科学,数据,工程和数据分析的Python和R包,如果 ...

  7. 自己做量化交易软件(6)通通量化历史交易回测设计1

    前面我们介绍的通通量化软件的一些程序设计. 自己做量化交易软件(1)通通量化分析环境安装使用 https://blog.csdn.net/hepu8/article/details/81866694 ...

  8. 自己做量化交易软件(4)通通量化分析框架构成2

    自己做量化交易软件(4)通通量化分析框架构成2 通通股票量化分析框架采用模块化设计,每个模块存放在不同的py文件中. 我们接着上一篇介绍. 五.基础窗口画面框架 HP_view.py HP_view. ...

  9. 自己做量化交易软件(5)通通量化中创作的布林指标BOLL线

    自己做量化交易软件(5)通通量化中创作的布林指标BOLL线 我们读者下载了通通量化演示框架的源代码.在这个代码中没有发现BOLL指标线的算法和绘图函数,我在这篇文章中,假设用户自己创作了新指标BOLL ...

最新文章

  1. 如何实现报表设计中的高精度报表套打?
  2. pythonista3使用教程-pythonista3中文教程
  3. 缓存-分布式锁-Redisson-lock锁测试
  4. SAP Netweaver和Hybris的数据库层
  5. Only digits (0-9) can be put inside [] in the path string: formData.XXX
  6. ScheduledThreadPoolExecutor
  7. mysql判断范围0到10 11到20_SQL 如何查询日期在一定范围内的数据
  8. 一步一步重写 CodeIgniter 框架 (2) —— 实现简单的路由功能
  9. 301 302区别_302状态码代表什么,302状态码解决方法
  10. 苹果CMS插件安装使用下载苹果CMS插件集合
  11. 波长间隔与频率间隔换算
  12. 深度学习基础学习-残差
  13. python时间函数纳秒_python – 获取纳秒级精度的文件修改时间
  14. org.hibernate.QueryException: Unmatched braces for alias path 解决方案
  15. Linux删除带‘\\’的文件夹
  16. 【蓝桥杯】PREV-55 小计算器
  17. android 网易新闻 详情页面实现,Android实现网易新闻客户端首页效果
  18. Java程序员烂大街了?
  19. dedecms自定义表单解决联动类型
  20. JESD204接口调试总结——Xilinx JESD204B IP AXI寄存器简介

热门文章

  1. 海康萤石云 H5移动端和PC端云播放本地监控摄像头
  2. 我的求带之路(已成功
  3. 别傻干了,刚离职的同事分享了他常用的19个私活平台!
  4. cocos2d关于延时的实现
  5. 985硕士美女程序媛:10次面试的真实经历!阿里/携程/美团/58/华为....
  6. 斜线/、反斜线\、双斜线//、双反斜线\\
  7. 华为交换机常用查看命令
  8. 翟佳:优秀的开源项目应该被更多人看见,我很荣幸可以参与其中
  9. Dev C++ 英文模式改成中文模式
  10. C# C++ 互操作:C++向C#输出不定长数组或指针的实现