【Ricequant交易平台】教学贴-1- Ricequant和策略交易IDE介绍-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 考研考博>>

考研

>>

【Ricequant交易平台】教学贴-1- Ricequant和策略交易IDE介绍

【Ricequant交易平台】教学贴-1- Ricequant和策略交易IDE介绍

发布:dana.quant | 分类:考研

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

教学1-Ricequant和策略交易IDE介绍很多人在听到金融和编程之后第一个反应是高频交易(HFT),但是我们也可以利用编程来辅助投资甚至是长线投资。很多人认为金融方面的编程是用来做高频交易或者算法交易因为计算机可以 ...
扫码加入财会交流群


教学1 - Ricequant和策略交易IDE介绍

很多人在听到金融和编程之后第一个反应是高频交易(HFT),但是我们也可以利用编程来辅助投资甚至是长线投资。很多人认为金融方面的编程是用来做高频交易或者算法交易因为计算机可以比人执行交易和建仓速度要快得多。

这点没错但是计算机同样可以协助人们去做投资判断并且大大缩短需要做研究的时间。甚至长线投资者也需要花费大量的功夫去创建一系列的“算法” - 他们去研究公司,看各种的财务指标诸如pe_ratio(市盈率: 估值比率,指公司当时股价与每股盈利的比率,股价一般以最新收盘价), earnings_per_share(每股收益EPS:基本每股收益是指企业应当按照属于普通股股东的当期净利润,除以发行在外普通股的加权平均数从而计算出的每股收益。), debt_to_equity_ratio(产权比率:产权比率是负债总额与所有者权益总额的比率。 产权比率越高,说明企业偿还长期债务的能力越弱;产权比率越低,说明企业偿还长期债务的能力越强。), 并且这个研究的指标列表可以继续增加... 如果投资者需要研究这些公司的基础财务数据,那么A股会有2800+的公司需要查看,美股更有10000+的公司需要查看。全部研究完这些数据需要花费大量的时间,而当你花费了大量的时间研究完之后发现新的财务数据又来了!

欢迎随时对Ricequant做的教学提出建议,我们将会持续改进这一批的教学,希望能让大家循序渐进,掌握使用Ricequant进行量化和算法交易、计量金融的方法。

另外一个原因使用计算机来辅助金融是因为它可以帮助我们剔除掉一些我们固有的主观偏差,有时我们总觉得我们发现了一些模式,但是事实是并不是如此,我们只是太过自信了。在金融中,当你自认为自己发现了某个模式但事实上并不是 - 这是非常有害的,这也是我们都听说过90%的交易员都在市场上输过钱:)

我并不认为在金融中加入计算机的应用只是为了传说中的高频交易,其实更多的是方便我们去做研究和回测。

回测可以用来分析当我们回看历史的时候,对历史数据运行策略进行交易并且查看我们如何做的,这当然是对历史回测的一个最简单的解释。

当然很多交易员会尝试对历史数据“过度拟合”策略。这样做是因为回测结果并不如他们想象中的“那么好”,于是他们不停地逐渐修改数字并且重复这个过程,直到得到他们想要的结果。这样的过度拟合终将会毁掉您的投资。

对于回测有很多其他的因素也很关键,让我们不仅仅只测试策略的盈亏,也能对我们写的策略做风险分析 - 对比我们所获得的收益。

金融编程不一定能帮你赚到钱,但是它几乎肯定可以帮你节省损失如果你使用得当。这也将会是我们一系列的教学会讲述的。我们将会使用Python作为主要的编程语言。

Python是一个非常棒的编程语言因为它非常易于理解。通常来说,一个非程序员也会比较容易理解Python的代码。Python也拥有非常强大的第三方开源计算库以及背后的非常棒的社区来支持,所以Python是一门非常棒的可以和金融相结合的语言。

https://dn-ricequant.qbox.me/forum/upload-51c4f01c-90fd-44f1-8333-296944270e6b.png

那么我们开始动手吧!第一件事情是如何回测我们的策略呢?开发一个回测的交易系统框架是一件非常大的工程,并且你很难确定你是否“做”对了,除非你对开发回测交易框架非常感兴趣,否则我们Ricequant当然会推荐使用我们的云端服务平台。

Ricequant建立在强大的交易引擎和易于使用的SDK之上。我们基于以前开发核心DMA交易系统经验,制作了强大的Java交易引擎,并在这个基础上搭建了Python和Java的SDK。Ricequant是一套回测、实盘模拟工具,以后可以做实盘的交易引擎。Ricequant可以支持滑点、交易费、分红、拆分以及各种风险计算数值。

我们的一系列的教学也是基于Ricequant的Web UI上制作,因为他非常便利和对用户友好,也显示了大量的收益和风险计算数值等,并且经过了大量的测试。

让我们打开Ricequant的网站在首页点击“登录”->“加入我们”来创建账户吧:

https://dn-ricequant.qbox.me/forum/upload-b748d57b-be68-46c2-94bf-3fd3cbbc6bf3.png

请随便到处点击看一下这个量化云端工具以及社区平台,接着让我们来点击网站上方的“我的策略”按钮。

当你进入以后,你会发现Ricequant除了支持我们教学中使用的Python语言之外,还十分强大的支持了编译型语言Java!如果你之后还有兴趣学习Java这么语言以及获得它的极高的运算速度加成之前,我们先集中精力在Python这边吧,可以点击大大的Python按钮,那么就会进入到了Python的编程世界了。你发现现在已经有一个默认的“第一个Python量化策略”摆在你的策略列表中了。

https://dn-ricequant.qbox.me/forum/upload-7524154a-fa06-4980-8bba-fcad7c1efac3.png

除了第一个已经摆在你的策略列表中的策略以外,你也可以在Python API文档中找到范例算法然后“克隆”过来:

https://dn-ricequant.qbox.me/forum/upload-8e92f36d-bd23-477d-b198-add6ddac6a65.png

点击右上角的"Clone"按钮来将你想使用的算法克隆到自己的算法列表,然后就可以运行回测了!在将来的Ricequant论坛社区中也会加入Clone别人分享出来的算法策略的功能,这样子你也可以把别人分享的算法策略克隆到自己的策略列表中然后自己去修改和运行了。

当你克隆完算法之后,你发现自己已经进入了在线策略编辑器了,而克隆的策略代码也在编辑器中了,如下面所示:

https://dn-ricequant.qbox.me/forum/upload-b774cc73-d474-4dec-bf76-b6c4f1105ce1.png

  • Python代码编辑器 - 这里是你用Python代码编写你的算法策略逻辑的地方。
  • 编译运行的策略结果 - 当你编译运行策略之后,图形结果会在这里显示。
  • 日志/运行时错误 - 所有的想要通过logger.info/debug/error/warnings打印出来的信息都会在这里显示出来。这里会常用来显示出你想要debug的信息或者想看到更多的信息。
  • 编译策略 - 快速验证和测试你编写的策略。你将会等待几秒钟看到编译运行的策略结果。
  • 运行回测 - 将会对你的策略运行完整的测试。完整的测试结果将会有更多的信息,结果也会被保存起来,策略代码也会被保存,所以当你看完结果想要继续修改你的代码的时候你可以后退回到编辑器中继续修改测试。

下面是一个最简单的策略代码:

# 可以自己import我们平台支持的第三方python模块,比如pandas、numpy等。# 在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。def init(context): context.s1 = "000001.XSHE" # 是否已发送了order context.fired = False# 你选择的证券的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新def handle_bar(context, bar_dict): # 开始编写你的主要的算法逻辑 # bar_dict[order_book_id] 可以拿到某个证券的bar信息 # context.portfolio 可以拿到现在的投资组合状态信息 # 使用order_shares(id_or_ins, amount)方法进行落单 # TODO: 开始编写你的算法吧! if not context.fired: # order_percent并且传入1代表买入该股票并且使其占有投资组合的100% order_percent(context.s1, 1) context.fired = True

在init函数中的代码只会被在策略启动的时候运行一次,接着我们来看handle_bar函数,handle_bar函数会被每个切片数据触发运行一次。Ricequant暂时只有日回测,即handle_bar会每天回测的时候触发一次。不过马上会加入分钟级别回测,即handle_bar会每分钟被分钟级别的切片数据触发一次。

在handle_bar函数中的代码逻辑很简单,即如果我们判断还没发送过订单的话,我们将买入占有我们投资组合资金量100%的“000001.XSHE”即平安银行的股票,如果已经买入过的话就不会再考虑。

这是一个非常入门的简单的介绍,在之后的教学中我们会继续深入逐行讲解来帮助你加深理解是怎么运行的。

那么现在,点击“运行回测吧”。需要等待几秒到10秒的时间来等待运行结束,然后让我们一起来看结果。现在我们可以看到策略的历史表现和基准策略的对比。默认的基准策略是CSI300指数,它是沪深股市300个权重股的综合指数,将沪深的300家公司的股票打包并计算成的一个指数,是A股市场非常流行的用于跟踪市场情况的指数。

现在在结果页面的顶部我们不仅仅可以看到策略收益表现,也可以看到各种风险指标。当我们点击左侧的导航条的时候我们将会看到海量的和我们的算法策略相关的数据。

请随便点击一下看看这个结果页面都有哪些数据,如果你觉得一些数据很困惑不知道是什么意思,请不要灰心,随着我们逐步深入的教学,你将会逐步变得非常了解这些金融指标的意义。如果你觉得还是没法理解Python的代码,可以先寻找一些简单的Python教学来上手。

如果你有疑问或者问题,请不要犹豫在我们的社区发贴求助亦或是分享经验吧!也欢迎继续跟着我们的后续教学一路深入学习了解量化交易/研究。

QQ群:429907369 (群名:Ricequant量化策略社区)


官网:https://www.ricequant.com


博客:https://www.ricequant.com/community


企业官方微博:Ricequant


微信公众号:Ricequant

https://pic.bbs.jg.com.cn/forum/201509/28/1234563vi80lo22qtoedte.png


「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-3927270-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。