python 股票系统设计

1,股票系统设计

股票数据抓取框架使用TuShare。
http://tushare.org/

数据分析清洗使用pandas,numpy。
http://pandas.pydata.org/

数据存储到磁盘上,不使用数据库。存储PyTabe,hdf5格式。
http://www.pytables.org/

web框架使用tornado
http://www.tornadoweb.org/en/stable/

机器学习,当然使用最流行TensorFlow啦。
https://www.tensorflow.org/

数据展示使用 echarts
http://echarts.baidu.com/

2,架构设计

全系使用python实现。因为都是python的类库,互相之间调用方便。
从数据抓取,数据处理,到数据展示数据运算都是python实现。

最终的数据都到前端展示出来。主要分为4个文件夹。

jobs 抓取数据并存储实现类。

libs 通用工具类。

web 前端展示框架。

tf 机器学习文件夹,推测数据。

项目使用hdf5 数据格式进行存储。如果要是单机跑数据。需要将服务部署到一起。
要是分布式部署需要使用 nfs 或者存储到,分布式的文件系统上。
将服务拆分。分开跑数据。

hdf5数据格式本身就是压缩的。所以会节省磁盘空间。
然后在安装年月日的目录进行拆分。初期估计也不会太多,完全可以单机跑起来。
所以数据可以存储为:/data/stock/yyyy/yyyMM/yyyyMMdd.hdf5

或者可以使用mysql+分区表存储数据。也可以实现存储股票数据。
并且速度也挺快的。

3,docker环境构建

最简单的办法就是使用docker 搭建这个复杂的。
这里面一点点搭建起来比较麻烦,直接用TensorFlow现成的,然后在这个基础镜像上面进行添加即可。

这样速度最快。而且本身折腾TensorFlow的安装也会出现一些问题。
比较麻烦。我再alpine上面试着安装TensorFlow总会遇到一些问题。

目测现在就一个缺点有点遗憾,就是环境是ubuntu 16的而且镜像比较大。
有1.3G,但是这个不算啥。毕竟要是用其他语言进行开发。
说不定要花更多的时间呢。

有个超级好的地方是TensorFlow 的镜像里面已经包括pandas,tornado了。
里面还有一个Jupyter 一个超级好用的python 页面调试工具。

构建dockerfile:

FROM docker.io/tensorflow/tensorflow:latest-py3

RUN echo -e  "deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse \n\
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse \n\
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse \n\
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse \n\
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse \n\
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse \n\
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse \n\
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse \n\
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse \n\
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse " > /etc/apt/sources.list

RUN echo  "[global]\n\
trusted-host=mirrors.aliyun.com\n\
index-url=http://mirrors.aliyun.com/pypi/simple" > /etc/pip.conf

#timezone
RUN apt-get update && apt-get install -y tzdata  && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone && \
    apt-get clean

#install other lib
RUN apt-get update && apt-get install -y python3-dev libmysqlclient-dev libhdf5-dev && \
    pip3 install mysqlclient  && \
    pip3 install sqlalchemy && \
    pip3 install requests && \
    apt-get install -y libxml2-dev && pip3 install lxml bs4 && \
    pip3 install tushare && \
    apt-get clean && apt-get remove -y python3-dev libmysqlclient-dev && \
    pip3 install unittest2 && \
    pip3 install --upgrade tables

其中一定要将镜像修改成阿里云的镜像。
会大大的加快安装速度。

4,总结

使用python进行股票系统开发,还是非常的方便的。
现在cpu,内存都是白菜价格。快速开发出一个系统用什么语言真的无所谓。
python开发出来的系统运行的也很稳定。运行的速度也非常的快。
除了代码没有括号,我还是非常的喜欢的。

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/75364909 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

时间: 2024-10-30 06:55:13

python 股票系统设计的相关文章

TuShare(1):Python股票抓取工具TuShare

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/50781561 未经博主允许不得转载. 博主地址是:http://blog.csdn.net/freewebsys 1,关于TuShare http://tushare.org/ TuShare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采集.清洗加工 到 数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据,为他们在数据获取方

Python爬虫实战:股票数据定向爬虫

功能简介 目标: 获取上交所和深交所所有股票的名称和交易信息. 输出: 保存到文件中. 技术路线: requests-bs4–re 语言:python3.5 说明 网站选择原则: 股票信息静态存在于html页面中,非js代码生成,没有Robbts协议限制. 选取方法: 打开网页,查看源代码,搜索网页的股票价格数据是否存在于源代码中. 如打开新浪股票网址:链接描述(http://finance.sina.com.cn/realstock/company/sz000877/nc.shtml),如下图

《机器学习系统设计:Python语言实现》一1.2 设计原理

1.2 设计原理 我们经常拿系统设计和其他事物的设计进行类比,例如建筑设计.在一定程度上,这种类比是正确的,它们都是依据规格说明,在结构体中放置设计好的组件.但当我们考虑到它们各自的运行环境时,这种类比就会瓦解.在建筑设计上,通常会假设,当景观正确形成后就不会再改变. 软件环境则有些不同.系统是交互和动态的.我们设计的任何系统,诸如电子.物理,或人类,都会嵌入在其他系统中.同样,在计算机网络中有不同的层(应用层.传输层.物理层,等等),具有不同的含义和功能集,所以在项目中,需要在不同的层完成所需

《机器学习系统设计:Python语言实现》一导读

前 言 机器学习是计算世界所见的最大趋势之一.机器学习系统具有意义深远且令人兴奋的能力,能够在各种应用领域为人们提供重要的洞察力,从具有开创性的挽救生命的医学研究到宇宙基础物理方面的发现,从为我们提供更健康.更清洁的食物到互联网分析和建立经济模型,等等.事实上,就某种意义而言,这项技术在我们的生活中已经无所不在.要想进入机器学习的领域,并且对其具有充分的认知,就必须能够理解和设计服务于某一项目需要的机器学习系统. 本书的主要内容 第1章从机器学习的基础知识开始,帮助你用机器学习的范式进行思考.你

机器人系统设计与制作:Python语言实现导读

前 言 本书包含12章,主要介绍如何从零开始构建自主移动的机器人,并使用Python进行编程.本书所提到的机器人是用于家庭.宾馆.餐厅的服务机器人,我们将按照顺序介绍如何一步一步构建它.书中从机器人的基本概念开始,然后过渡到机器人三维建模和仿真,在成功进行机器人仿真之后,将介绍构建机器人原型所需要的硬件组件. 机器人的软件部分主要基于Python编程语言和其他一些软件框架开发,这些软件框架包括机器人操作系统(ROS).OpenCV等.你将会从设计机器人到设计人机界面等多个方面来了解如何使用Pyt

机器人系统设计与制作:Python语言实现2.5 用Blender制作机器人的三维模型

2.5 用Blender制作机器人的三维模型 在这一节中,我们将设计机器人的3D模型.3D模型主要用来进行三维仿真,采用Blender工具软件进行建模.Blender的版本必须要在V2.6以上,目前我们只在V2.6以上版本中测试过. Blender软件主界面上的工作空间和用于3D建模的工具栏如图2-14的屏幕截图所示. 我们选择用Blender这个工具的主要原因是,它可以用Python脚本语言进行机器人的3D建模.Blender有一个内置的Python解释器和脚本编辑器,用于代码编写.这里,我们

游戏开发中统一支付系统设计与实现及python实例代码

笔者公司的游戏产品已经有几款了,每次上各种渠道都是要搭配不同的计费方式,并且每开发游戏都要重复一遍痛苦的接入sdk流程 游戏的支付需要出各种报表以及统计,每个游戏单独去做对人力的消耗巨大 基于以上几点,我这边设计了统一支付系统. 这个系列一共会分两篇文章,分别对应系统的v1版和v2版,我们这一篇先从v1起介绍. 在仔细分析了国内的大多数支付sdk之后,我们梳理出游戏的支付流程大体可以实现为两类: 第三方sdk服务器进行支付结果通知 第三方sdk客户端直接返回支付结果通知,没有服务器支付结果通知.

《机器学习系统设计:Python语言实现》一第1章 机器学习的思维

第1章 机器学习的思维机器学习系统具有意义深远且令人兴奋的能力,能够在各种应用领域为人们提供重要的洞察力:从具有开创性的挽救生命的医学研究到宇宙基础物理方面的发现,从为我们提供更健康.更清洁的食物到互联网分析和建立经济模型,等等.事实上,就某种意义而言,这项技术在我们的生活中已经无所不在.物联网的蔓延正产生着惊人的数据量,很显然,智能系统正以相当剧烈的方式改变着社会.Python及其库等开源工具,以及以Web为代表的越来越多的开源知识库,使学习和应用这门技术有了新的和令人兴奋的途径,也使学习过程

《机器学习系统设计:Python语言实现》一1.1 人机界面

1.1 人机界面 如果你有幸用过微软Office套件的早期版本,你大概还能记得Mr Clippy办公助手.这一功能出现在Office 97中,每当你在文档开头输入"亲爱的",它就会不请自来,从电脑屏幕的右下角蹦出来,询问"你好像在写信,需要帮助吗?"在Office的早期版本中,Mr Clippy是默认开启的,几乎被所有软件用户嘲笑过,这可以作为机器学习的第一次大败笔而载入史册.那么,为什么这个欢乐的Mr Clippy会如此遭人痛恨呢?在日常办公任务中使用自动化助手不