要做系统的自动量化交易必满足以下3个最基本的条件:
1.有一套自己的量化策略
2.能把自己的量化策略编写成程序
3.有一套量化交易框架
前面两个条件不是很难,大部分人学一点也能弄一点,最后一条就是门槛,大型机构可以使用大型
券商提供的量化交易软件,但是也需要自己编写策略,这些量化交易软件一般用python语言。
个人没有太多好的选择,一般需要50W门槛资金存入券商账户,然后去熟悉券商的交易框架,他们的框架必须要把代码存到他们的服务器,调试 日志都非常的不方便!
我有15年的软件开发经验,从最早的C++桌面开发到后来的JAVA后台开发、移动和网页开发,都做了好多年,因此十分熟悉系统开发流程和各个操作系统环境。本人也使用过python一段时间,非常讨厌python的语言,虽然Math功能很强大,但是语法真是太烂了!
因此个人开发了一套基于JAVA的量化交易框架,JAVA语言是非常优秀的后台语言,生态非常的丰富,包括各种应用框架、日志、缓存等组件,语法也简单易懂,一般人学起来非常容易上手!
先放上软件运行效果图:
系统的部署结构如下图:
整个系统支持windows64位系统绿色部署,系统保罗jar包、dll、配置文件目录、加自动生成的日志目录和一个start启动脚本。不用安装任何其他环境,双击start就可以直接运行,程序的相关设置可以在策略服务器进行查看和修改,并直接生效!
目录结构介绍如下:
BAK 备份目录,当系统被不小心损坏时候可以还原相关数据
CONF 是配置文件目录,包括系统的一些基础配置和持仓信息
LOGS 是日志目录,记录系统运行状况
JDK 是运行环境,忽略
ORDER 是自动下单软件目录
STRATEGY 是自定义策略目录
这里比较重要的是STRATEGY目录,里面存放自己编写的策略jar包,系统在初始化的时候会自动jar包。
2.自定义策略框架
框架的作用如下:
1.获取行情数据,并通知策略
2.提供下单相关API,包括下单、持仓等
这节课先讲自定义策略的基本框架结构,先上图:
这是一个最基础的策略编写方法,自己大概需要编写不到10行的函数,就可以实现打板买入,第二天跌破均线卖出!
图上有很清楚的注释.
首先申明,不同的股票使用同一个策略不会互相干扰,大家都是在不同的内存空间运行,数据不会冲突!
tick 是一个分笔回调函数,就是股票的每笔成交都
会通 知到这个函数,同理minutes是分钟回调函数!
今天先到这里,下个礼拜讲策略的打包和导入!喜欢的点赞分享加留言!