17 mydeman

尚未进行身份认证

我要认证

积极,认真,负责,热情,善于沟通

等级
TA的排名 2k+

Python量化入门(1)- 开发环境的准备

Python应该已经占据了量化交易系统开发的半壁江山,大部分打着量化名义的课程都变成了Python教程,而忽略了能带来持续盈利的交易思想。Python作为开发交易系统的必知必会工具之一,重要性是毋庸置疑的,这一系列文章将会介绍在开发量化交易系统中用到的Python的基础知识,并结合实例加深理解。安装Python作为一门主流的开发语言,Python支持Windows、Linux和MacOS。...

2018-06-28 16:24:48

谈谈曲奇(Cookie)的作用

最近在使用南航的APP时,都会跳出一个提示: 说是要采集Cookie,并且承诺会保密存储。也许很多非技术的用户并不理解什么是Cookie,可是看到这种义正言辞的提示,也应该能知道Cookie看起来是一个很重要的东西,并且可能会和用户身份有关系。那Cookie到底是什么东西?又有什么作用呢?无状态的HTTP/HTTPS协议HTTP协议当前是几乎是所有应用甚至服务内部通信的标准协议,...

2018-06-21 23:36:43

量化交易系统任务框架的演化之路(5)用Kafka实现分布式计算任务框架

在之前的几篇文章中,都是基于单服务器系统讲解了任务框架的逐步演化,包含了效率、依赖关系、可管理性等几个方面的内容。可是随着量化系统的中因子、信号、数据预处理、日志监控等需求的不断增多,并且大家都知道量化交易系统,是对响应时间有要求的,尤其是对分钟级别甚至tick级别信号的检测等,那么这个时候,单机系统已经无法适应实际需求了,为了提高效率就要考虑通过分布式来提高效率。 在进行下一步之前,我们应该明...

2018-06-14 13:24:35

量化交易系统任务框架的演化之路(4)用Push方式解决任务之间的依赖

在上一篇文章《量化交易系统任务框架的演化之路(3)基于多状态的任务依赖解决》中提供了一种利用数据库作为状态数据交换媒介的解决方案,通过这种方法,实现了依赖和被依赖的任务之间解耦,但是问题也十分明显,就是轮询被依赖任务的状态的做法会带来无谓的计算资源的浪费,一旦任务过多,无论是对数据库还是对任务系统本身都会造成一定压力。我们称把这种方法称为Pull,也就是拉取的思路;那么与之对应的就是推送(Push...

2018-06-07 17:11:01

量化交易系统任务框架的演化之路(3)基于多状态的任务依赖解决

在量化交易系统任务框架的演化之路(2)状态管理中为任务引入了一个状态,解决了任务的重入问题,那么还有一个悬而未决的问题:如何解决任务之间的依赖关系?那么今天就来看看如何基于多状态解决任务直接的依赖关系。 假定有两个每天执行一次的任务A和B,任务B要在任务A的执行完毕后才能启动。在设计时,应该考虑到:对于任务A来讲,任务B应该是透明,也就是说任务A不应该知道任务B的存在,这样即使任务B失效了...

2018-05-28 22:50:13

量化交易系统任务框架的演化之路(2)状态管理

在上一篇文章(量化交易系统任务框架的演化之路(1)定时任务)的结尾提了三个问题,今天就来第一版的解决方案。 之前的实现方案中,所有任务都是无状态、无管理的,人工干预就比较麻烦。其实解决这个问题的方法很简单,那就是增加一个“状态”,看一下这个流程图:Created with Raphaël 2.1.2开始启动running == trueset running = true执行任务执行完毕se...

2018-05-25 13:47:41

量化交易系统任务框架的演化之路(1)定时任务

一个完善的量化交易系统不但包含了最基本的选股、择时、回测等基本的任务,而且还包含了众多了独立的任务模块,这些任务模块被设计成可插拔的独立任务。本系列文章将会分别讲解几种不同的实现这些任务模块的技术。定时任务定时执行是一种普遍采用的技术,容易理解也方便实现,很多开发框架都为快速的设定定时任务提供支持。那么接下来我们就具体来看看实现定时任务的技术手段。技术实现系统任务在...

2018-05-17 17:11:54

实例说明MongoDB存储的行情数据如何选择合适的Shard Key

概述当利用MongoDB的shard cluster技术做数据库扩展时,一个至关重要的点是要选择一个合适的shard key(片键),它是用来决定将数据在分片服务器上分配的策略。一个适用的shard key应该满足以下几个条件:数据均分 所谓数据均分,就是要保证需要扩展的那部分数据能够尽可能平均分配到数据分片上,以达到空间上的扩展目的。负载均分 负载均分是把应用访问的分片数据的负载...

2018-05-10 23:25:58

使用MongoDB存储Docker日志(续)

在上一篇文章《使用MongoDB存储Docker日志》中完成了Docker + Fluentd + MongoDB的基本配置。但是在实际的使用过程中,却发现Docker生成的日志并不会立即写入到MongoDB中,有大概1分钟左右的延迟。查阅Fluentd的文档得知,有一个flush参数可以控制日志的写入频率,默认的是60s。更改flush_interval参数就可以提高写入频率,具体更改如下:

2018-01-19 22:54:45

使用MongoDB存储Docker日志

日志是系统很重要的一个组成部分,通过日志可以及时发现系统中存在的问题,也可以为修复问题提供线索。Docker提供了多种插件方式管理日志,本文就对使用MongoDB存储Docker日志的过程做个记录。数据流Created with Raphaël 2.1.2开始Docker容器FluentDMongoDB结束Docker产生的日期 发送到 FluentD,然后FluentD在转存

2018-01-17 23:03:04

Docker绑定Remote API端口

Docker官方提供了Go、Python两种不同的SDK和HTTP形式的API,不熟悉Go语言,尝试了一下Python的SDK。Docker官方的Python SDK是针对2.x版本的,就直接在CentOS的Python2.7.5上进行了测试,可是却出现了错误:# pythonPython 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.

2018-01-12 14:51:45

解决Jenkins创建Docker Image后无法推送到私有Registry的问题

最近刚开始使用Docker,把常用的命令摸了一遍后,就想把镜像的build过程放到Jenkins上。具体过程就不说了,十分简单,只需要几条命令就可以了。可以在向私有registry推送时却报出了异常:docker push registry.mydocker.com/demo/small:latestThe push refers to repository [registry.my

2018-01-12 13:08:25

CentOS7 SELinux阻止MongoDB启动的问题

在CentOS7上安装了MongoDB,更改了默认的日志和数据文件路径后,SELinux阻止mongod启动。

2017-11-09 20:05:29

Python中的文本替换

文本替换是常用字符串的常用操作,利用正则表达式可以进行比较复杂的替换。

2017-10-16 13:44:48

CentOS 7更新时出现Multilib version problems

解决CentOS7系统更新时出现的Mutilib version problems。

2017-10-07 08:14:20

一个可用的股票回测系统需要考虑的问题(持续更新中…)

搭建一个真实可靠的回测可以对实盘操作具有一定的参考和指导意义,但是在系统的搭建过程中,有些坑可能会被反复踩到,这里把之前遇到的问题和大家分享

2017-09-25 23:35:52

Elasticsearch上手 - 遇到的问题

记录在使用Elasticsearch时遇到一些问题。

2017-02-26 11:26:37

空间换时间,轻松提高性能100倍

空间换时间的最常用场景就是缓存,为了提高性能可以设置不同类型的缓存

2017-02-24 13:04:24

一次查询性能提高40倍的经历

随着系统的持续增大,性能的优化随处可见。这里就通过一个实例,看下优化的过程。数据库为MongoDB,数据量为800万左右,

2017-02-08 23:44:57

Elasticsearch——利用Parent-Child关系解决大数据场景下的实时查询

在大数据的应用场景,经常会遇到数据字段无法确定的问题,还要在这些数据上进行多重筛选。Elasticsearch作为一个良好的解决方案,不仅可以完美满足查询需求,也可以满足大数据量下的实时性要求

2017-02-07 23:58:33

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!