京东金融官方资讯QQ:3414182370 只要你有想说的就可以来吐槽,还有机会获得丰厚奖品哦!
1 集成开发环境(IDE)介绍
较早期程序设计的各个阶段都要用不同的软件来进行处理,开发者必须在几种软件间来回切换操作,开发过程非常不便利。而集成开发环境(IDE,Integrated Development Environment )得出现解决了这一问题,它是用于提供程序开发环境的一体化的开发软件服务套,可以集成代码编写、分析、编译、调试等功能, 节省了用户的时间和精力,建立了统一的工作标准,便于用户管理开发工作。
对于编写量化策略常用的语言Python和Java来说,目前存在着各种各样的IDE。常见的Python IDE有IDLE、Eric、Pycharm、 Ulipad、Eclipse+PyDev等,常见的Java IDE有Eclipse、NetBeans、IntelliJ IDEA、BlueJ等。但是对于策略开发者特别是初学者来说,基于一般的IDE来开发一个回测的交易系统框架通常需要几个月的时间来完成,这是非常巨大的工程。除非你对开发回测交易框架非常感兴趣或有一些其他特殊的需求,那么不妨尝试一下各类现成的在线量化平台。今天我们以京东量化平台(http://quant.jd.com)为例,简单介绍一下基于IDE的量化策略编写。
2 京东量化平台简介
京东量化平台为策略开发者提供了在线IDE编辑功能,在已经构建好的回测框架的基础上,用户可以在云端实时编辑自己的策略并完成的回测,从而在编写策略时相对于一般的IDE更加方便、快捷、有效。京东量化平台基于京东自身的数据优势,为用户提供了海量的精准数据,同时基于量化社区,为用户提供了强大的策略支持和活跃交流社群,这些优势是一般IDE所不具备的。而京东量化更加高速的回测环境和特色可靠的京东行业数据,也是你选择京东量化平台的理由。
3 基于IDE的量化策略编写——以京东量化平台为例
京东量化平台上手非常简单,首先进入主页(http://quant.jd.com),进行注册和登录。如果你之前有京东账号的话,就可以免去注册直接登录了。
随后点击下方红色按钮“新建策略”,在“我的策略”一栏,会发现有Python策略和Java策略供你选择,在这里我们以更加简单和直观的Python语言策略为例进行介绍。下面点击右侧红色的“新建策略”按钮,让我们开始京东量化平台的Python策略之旅吧。
点击新建策略之后,会出现“新建Python策略”提示,对于习惯亲自动手编写策略的朋友,在输入策略名称后保存,直接进入手动编写策略代码的界面(别慌,“使用代码生成器新建策略”的选项稍后会给大家介绍)。
这时可以看到代码编辑器里面已经有了策略的基本结构:京东量化平台python策略代码结构分三部分,初始化函数(init)、开盘前事件函数(before_trade)、行情事件函数(handle_data)。初始化信息函数在整个策略中只执行一次,一般在此函数中设置交易佣金、滑点、基准等一些常用参数。开盘前事件函数在每天开盘前执行,每天执行一次,一般用于开盘前的事件处理,如开盘前进行选股、更新股票池等。行情事件函数为行情数据的请求函数,如果是按天的数据,则每天执行一次,如果是按分钟的数据,则每分钟执行一次,行情事件函数里面一般写整个策略的执行逻辑。在具体的代码编写时,用户可以使用策略编写的法宝——Python API文档,该文档细致地列出了编写交易策略过程中会用到的语句,比如初始化设置、任务事件设置、获取丰富的数据、各类下单交易、获取持仓信息、日志打印、画图等等。在代码编写完成后,用户可以进行编译来调试代码,修改代码BUG。调试完成后,则可以运行回测来查看策略的回测效果。
Python API中还有策略范例供用户进行学习,在这里我们将道路突破策略copy到代码编辑器内,并运行回测,查看策略效果。收益概览展示了策略收益曲线、回测年化收益率、alpha、beta、最大回撤等重要信息供用户参考。如果想了解每个指标的具体信息,可以点击左侧“交易详情”、“每日持仓&收益”等栏目进行查看。
除了手动编写策略,京东量化平台还为大家提供了非常智能的“使用代码生成器新建策略”功能,让你体验对策略“手到擒来”的感觉。在“新建Python策略”提示中,勾选“使用代码生成你新建策略”可以让策略开发者通过窗口化的操作基于各类财务指标对股票进行筛选,并进行持仓最多股票数量、单股最大买入仓位、手续费等交易细节的设置。筛选和设置完成后点击提交,代码生成器便会为你自动生成一套完整的Python交易策略!用户可以直接对代码生成器进行回测并查看回测结果,也可以根据自己的需求在原始策略基础上进行修改。代码生成器免去了代码编写和调试过程,极大的提高了策略编写的效率。
阅读原文:http://club.jr.jd.com/quant/topic/1091094
关注京东量化学院!获取更多最新最全面的量化交易知识!