量化交易系统
文章平均质量分 66
python+mysql+redis+mqtt+K线回测系统+分时数据实时监控系统+多进程并发处理等
zhuxian2009
音视频,流媒体。量化交易系统,大道至简。
展开
-
潮汐量化系统
最近想好了名字,量化交易系统正式改为“潮汐量化系统”。潮汐,海洋的一种自然现象,投资就如潮汐,有其规律和趋势,应该去遵循和敬畏。原创 2019-10-24 15:08:39 · 929 阅读 · 0 评论 -
量化交易系统——突破前期股价的算法(一)
目录概述一、水平突破1.1 前期高点选择1.2 总结二、趋势线突破概述大A股中,想盈利只能做多。做多的策略中,只有突破压力位,才能打开上涨空间。压力位包括很多种:前期高点、下跌趋势线、X线、整数位、黄金分割线等。本文主要梳理前期高点的突破情况。一、水平突破1.1 前期高点选择图1中,以当前交易日(今天)为起点,往历史交易日方向,取N天。1...原创 2019-09-25 00:28:53 · 1520 阅读 · 2 评论 -
量化交易系统——回测模块实现之状态模式
上一篇文章《量化交易系统——回测模块实现之策略模式》中,使用策略模式,实现回测模块中切换不同策略的设计方案。现在,实际的策略中,涉及到不同的状态:选股状态,买入(持股)状态,卖出(统计)状态;往复杂的说,还有加仓状态,减仓状态等。不同的状态,需要处理不同的动作,如果一个策略类中,用if/else来处理这么多状态,将会非常头大。于是,选择使用状态模式,虽说有些冗余,但是非常清晰。...原创 2019-09-23 00:11:34 · 387 阅读 · 0 评论 -
量化交易系统——回测模块实现之策略模式
需求回测模块上层业务是相同的。我们需要保证上层逻辑不变,切换不同的策略,进行策略回测。在一个回测模块中,一次执行一种策略。解决方案在面向对象中,其实就用多态。不同的子类,继承于同一个基类(父类)。业务中调用父类的函数,达到不改变业务逻辑的前提下,切换不同的策略。设计模式中,将它取名为“策略模式”。策略模式流程图...原创 2019-09-20 23:48:48 · 634 阅读 · 0 评论 -
python matlotlib绘图,以时间为横坐标
实现一个时间为横坐标,整数为纵坐标的例子:import matplotlib.pyplot as plt#导入中文字体,避免显示乱码import pylab as mplimport numpy as np #数据源 list_date = ['20190813', '20190814', '20190815', '20190816', '20190819'] ...原创 2019-08-20 23:36:38 · 12647 阅读 · 4 评论 -
flask推送matplotlib绘图到html
1.matplotlib绘图import matplotlib.pyplot as pltimport numpy as npimport base64from io import BytesIO #############################################绘图测试 X = np.linspace(-np.pi, np.pi, 256...原创 2019-08-19 04:58:39 · 4580 阅读 · 4 评论 -
python计算涨停价格
计算涨停价格,只需要一个输入参数:昨日收盘价pre_close涨停价格计算原理limit_price =pre_close +pre_close * 0.1对涨停价格limit_price做四舍五入。四舍五入计算不要用round,因为round不是四舍五入! #计算涨停价格 def calc_limit_price(self, pre_close)...原创 2019-08-07 22:37:31 · 2928 阅读 · 0 评论 -
云服务器用Gunicorn部署flask
GunicornGunicorn‘Green Unicorn’ 是一个 UNIX 下的 WSGI HTTP 服务器,它是一个 移植自 Ruby 的 Unicorn 项目的 pre-fork worker 模型。它既支持eventlet, 也支持greenlet。在 Gunicorn 上运行 Flask 应用非常简单:gunicorn myproject:appGun...原创 2019-08-04 17:54:35 · 494 阅读 · 0 评论 -
html简单的折叠菜单
大道至简。html+css+一个简单的JavaScript函数,实现的折叠菜单。功能:1.鼠标放置在菜单选项,具有变化;2.实现一级菜单,二级菜单;3.一级菜单收起来时,前面是“+”,展开时,前面是“-”;效果图:直接贴贴贴代码:zhedie_menu.html<html><head><meta http-equiv="C...原创 2019-08-01 10:04:27 · 11010 阅读 · 0 评论 -
量化交易系统之双重底(W底)算法(二)
在上一篇文章中《量化交易系统之双重底(W底)算法(一)》,遗留了一个问题,即回测速度不满意。通过追踪打印,真正的耗时之王,居然是读mysql数据。在表t_kdata中(表结构见《 量化交易系统之python+mysql(二)》),一共保存了137万多条数据。mysql> select count(*) from t_kdata;+----------+| count(*) ...原创 2019-07-28 23:33:56 · 2321 阅读 · 1 评论 -
量化交易系统之双重底(W底)算法(一)
双重底是经典的形态选股策略,市场认可度比较高。要准确的实现双重底,还是需要一定的计算量,根据算法的灵活度越大,计算量越大。算法描述算法自定义词汇说明:1. 以实际交易日期为X横坐标,某只股票的价格为Y纵坐标;2. 一个交易日,就会出现一条K线。以当前需要回测的日期为终点,往历史时间选择一个大区间N天;3. 将大区间一分为二,简化处理,两个小区间完全相等,分别包含N/...原创 2019-07-28 12:12:08 · 6855 阅读 · 4 评论 -
量化交易系统用例图(二)
系统以及跑起来,再画用例图,就更清晰了。大致说一下,如果要新增一个策略要怎么弄。1.新增一个任务调度;2.从mysql读历史日K数据;3.从mysql读实时分时数据;4.将数据加工厂策略需要的形式,喂给策略执行;5.将结果写入mysql;6.写一个html页面展示(模仿即可)。7.请求页面时,从flask读mysql,发送给html展示。...原创 2019-08-31 22:25:02 · 435 阅读 · 2 评论 -
量化交易系统用例图(一)
量化交易系统用例图原创 2019-07-27 22:21:45 · 582 阅读 · 0 评论 -
python计算macd指标
移动平滑异同平均线(Moving Average Convergence Divergence,简称MACD指标)策略,被称为“指标之王”,经常使用它,当日要常备在数据库了。macd计算方法,不求多完美,能对标常用的炒股软件就好了。需要的结果又macd值(红绿柱),diff(快线),dea(慢线)主要用到talib库talib.MACD方法。代码实现:diff, dea, my...原创 2019-07-24 15:50:09 · 11717 阅读 · 0 评论 -
量化交易系统之python+mysql(三)
经过前面三篇文章的铺垫,实现了:1.股票数据来源:tushare之“前复权”2.从tushare获取股票数据以后,如何写入mysql:python dataframe类型转换后存入mysql3.如何从mysql读取股票数据,还原成dataframe,进行后续数据处理:python mysql查询结果tuple类型,转换成dataframe类型那么,这篇文章,就是终结篇,处理来自my...原创 2019-07-23 11:43:36 · 1259 阅读 · 0 评论 -
python mysql查询结果tuple类型,转换成dataframe类型
使用pymysql,从mysql查询数据,返回结果是tuple类型 def query_kdata(self,code): if self.connect is None: return None # 得到一个可以执行SQL语句的光标对象 cursor = self.connect.cursor() ...原创 2019-07-23 10:06:43 · 6005 阅读 · 0 评论 -
python dataframe类型转换后存入mysql
上文中《tushare之前复权》提到,从tushare得到复权日K线数据,而返回值是dataframe类型的。现在需要将dataframe类型转换成数组,逐个存入数据库。dataframe类型,使用values方法,返回数组类型;然后,for循环逐行遍历数组,一行就对于mysql的一条记录,关键部分代码如下:import tushare as ts ...原创 2019-07-23 09:24:01 · 1249 阅读 · 0 评论 -
tushare之“前复权”
复权问题描述通过上一篇文章《量化交易系统之python+mysql(二)》的内容,已经可以将需要的实时A股数据写入到mysql,与股票分析软件做对比,“开盘价”,“收盘价”等,却发现,有的数据相同,有的数据完全不一样,同样是通过tushare接口(daily)获取的,怎么会这种差异?pro = ts.pro_api()df = pro.daily(ts_code='000001.SZ...原创 2019-07-23 09:09:44 · 4406 阅读 · 3 评论 -
量化交易系统之python+mysql(二)
在上一篇文章中《量化交易系统之python+mysql(一)》,实现了插入一条数据的效果。现在,开始分析真实数据了,以及在开发过程中,进行优化。问题描述在mysql方面,遇到如下问题:1.一支股票,所具有的历史数据,从上市开始到今天,称为纵向数据;现在,A股中有3500+只股票,称为横向数据;也就是说,一张表需要存储纵向数据个数*横向数据个数(3500+),可能需要分表。不过我这里...原创 2019-07-21 19:54:06 · 1416 阅读 · 2 评论 -
量化交易系统之python+mysql(一)
前言之前用python+hdf5+其他实现了一个简单功能的量化交易系统。在使用过程中,遇到了性能问题,以及扩展问题。所以,想改用mysql+redis架构。工欲善其事,必先利其器:windows系统,mysql-8.0.16-winx64,Navicat Premium 12,pyCharm community正文1.python操作mysql,用到pymysql,所以,需要在...原创 2019-07-21 00:00:20 · 4839 阅读 · 4 评论