销售思路与销售策略_量化投资策略

销售思路与销售策略_量化投资策略真格量化入门课程——①量化策略思路入门

大家好,又见面了,我是你们的朋友全栈君。

<br>

真格量化入门课程——①量化策略思路入门

<br>
一、什么是量化交易策略

量化交易策略,是采用数量化手段构建而成并进行决策的交易策略。是将人的投资思想规则化、变量化、模型化,形成一整套完整、可量化的操作思路,并且这个思路可以用历史数据进行分析验证。程序化交易并非量化策略必备,但是程序化交易可以让策略执行中更少受人的要素影响。

量化交易员

在这样的界定下,量化交易策略既可以借助程序化的方式完成下单,也可以通过人工来执行。但交易频率较高的量化交易策略更倾向于采用程序化全自动下单的方式来完成。

有了上面的定义,我们可以举个简单例子来认识量化交易策略。如果有一个投资者的交易策略是“移动平均线看起来很好时买入,看起来不好时卖出”,这里就明显不是一个量化交易策略,因为这里的“看起来很好”和“看起来不好”不是一个明确规则化变量化的手段。

如果把上面的策略变成“5日价格均线从下向上穿过10日价格均线时买开1手铜,5日价格均线从上向下穿过10日均线时卖平1手铜”,这里的规则就大大接近明确而可量化的了。

二、当我们谈量化交易策略时,我们在谈什么

在第一部分里,我们知道了什么是量化交易,那么一个更完整精细的量化交易策略,不止上面的例子那么简单。

一个完整的策略构成,应该是包括交易信号、交易执行、资金管理三个方面。

量化策略

依然以上面的例子来类比——

2.1 交易信号

交易信号是一个策略的核心思想,人们常说的策略idea其实主要就是指这个部分。它又可以包含下面2部分内容:

2.1.1 交易什么?

“均线上穿策略”案例中没有涉及到选交易品种的步骤,所以品种很简单,就是铜期货。

但这还不够。我们的例子是一个期货策略,期货是必须具体到合约的,而我们最常使用的是每个品种的主力合约。

于是我们清楚了,我们需要交易的是“铜期货主力合约”。

ps:更复杂的情况是,有时我们需要选品种,比如要开仓所有向上突破的品种,这也可以归入本部分讨论的内容。

2.1.2 什么时候交易?

这方面上面的案例写的还不错——“5日价格均线从下向上穿过10日价格均线时买开”、“5日价格均线从上向下穿过10日均线时卖平”,这都是非常明确的。

复杂一些的是加入止盈止损,当有持仓的情况下,盈利多少自动平仓,亏损多少自动平仓,乃至回落多少自动平仓。

更复杂的情况还有——“中证商品指数突破10日均线时才操作”、“美国非农指数公布前的一个交易日不操作”等等,也可以属于这个部分要包含的内容。

ps:股票策略常用的因子模型,会采用固定日期再平衡的模式,期货/期权市场比较少用,因此我们会单开文章讲述这种情况。

2.2 交易执行

交易执行往往被人们忽略,但我们作为“真格量化”这个策略实盘平台的设计者,可以负责任的说,这个部分才是专业quant和民间小散的最大区分所在,我们看到很多非常好的策略idea因为对这个部分的忽视,导致最终不赚钱的结果。这部分又包括:

2.2.1 用什么价格交易?

对于期货/期权类策略,尤其是偏日内的策略,什么价格买,什么价格卖,是个至关重要的问题。

比如挂单价、最新价容易不成交,对手价、对手价加1加2提高了成交概率同时也提高了交易成本,涨跌停价/市价下单则是不惜血本,极端情况会导致成本完全无法控制,所以专业的玩家会充分运用FOK、FAK等指令进行下单。

“均线上穿策略”案例中的策略描述完全没涉及到具体价格的选择,所以是不精准的。

2.2.2 交易成本是多少?

越是频繁的交易,越要关注自己的交易成本。包括佣金、保证金以及回测中的滑点设置,上文的例子还不是日内策略,我们这里可以不用考虑。

2.2.3 下单不成交怎么办?

随着我们越来越深入专业量化机构的研究领域,我们会发现对实盘和回测差别的处理方法导致了专业机构和业余量化爱好者投资表现的显著区别。通常的回测引擎都是见价成交,如果在策略代码中忽略这个部分,您很可能做出一条漂亮的回测曲线但在实盘交易中完全无法赚钱。

那么,实盘中一个委托单发出后,接着会发生什么呢?我们看看最常见的对话通讯模式:
通讯模式

真格量化的回测引擎并非见价成交的设计,而且我们API的最大特点就是基于事件驱动而设计。实际交易中会有非常多的事件场景,例如账户登录、开盘、委托、成交、查询、收盘等。交易所会发出各种通知和回报信息。

充分利用这些回报信息,可以写出最专业的投资策略。比如上文所述的委托不成交的问题,我们提供了丰富的api来应对,包括拆单、撤单、追单、智能单等等,我们强烈建议投资者重视这些功能,把交易过程精细化,追上机构的脚步。

在上文“均线上穿策略”的简单例子中,很遗憾,我们并没有看到下单不成交的应对方案,这在实盘中就会遇到很多问题。

2.3 资金管理

资金管理听起来高大上,但其实落地最重要的就是仓位。如果说交易信号、交易过程两部分决定了策略是赚钱还是亏钱,那么资金管理决定了最终是大赚大亏,还是小赚小亏。

2.3.1 下单数量

回到“均线上穿”的例子,我们终于看到了这部分的描述——“1手”,手数这个交易单位在期货/期权类比较常用,但固定手数的做法并不精细,更精细的模式是根据自己的账户的实际资金情况,动态变动交易的数量。

我们发现,在这里我们出现了“账户”的概念,构建策略尤其是实盘策略,账户中的可用资金、风险度、权益等各种信息是必须要关心的要素。策略实盘运行瞬息万变,我们需要最快速度得到这些信息并根据当下的情况作出最恰当的应对。在真格量化,我们云端实时计算这些信息,相比从柜台请求的速度快3000倍以上。

2.3.2 动态加减仓

期货市场采用的是逐日盯市的模式,即每天的盈亏都是清算完毕的,那么当策略运行良好,可以投入更多的资金,反之则需要减少投入的资金。

跟上面下单数量的区别是,动态调整交易手数往往是根据当时的可用资金的情况,而动态加减仓则是根据整个策略/账户的盈亏情况来设定。

OK,做好了这3个部分,我们也就建立了做量化策略的最基础的思路,再复杂的策略,都可以由这3部分组合、变化得来。

三、当我们有了策略,我们还需要什么

如第二部分,当我们已经有了自己的策略,交易信号、交易执行、资金管理三个部分都有了。

接下来需要做什么呢?当然是做回测。

开始回测

正如我们第一部分提到的量化策略的定义,一个量化交易策略到底好不好,需要通过历史数据来验证。

去评估策略,我们需要关注这些因素:

3.1 样本大小

既然量化策略是可以用历史数据进行分析验证的,那么数据的样本集合有多大直接决定了这个回测是不是靠谱的,一般来说,样本小于200个,说服力是不够的。所以千万不要因为看到前几次交易赚到了钱就欢呼雀跃哦~

3.2 回测时间范围

一个好的策略,应该能经受住各种市场状况的考验,如果回测周期太短,没有经过单边、振荡等各种场景的检验,也是比较危险的。当然,如果是用tick数据回测,回测历史的要求就没必要很久。

3.3 回测和实盘的区别

一个实盘赚钱的策略往往回测也不错,但反之就未必成立了。回测中用的虚拟资金是无法像真实资金一样去影响市场的。一定要注意的是,下面这些问题都可能导致您的回测表现是“×××水月”,空欢喜一场。比如:

A.用了未来数据。这是新手最常犯的错误。写一个“当天最低点买入最高点卖出”的期货策略,只需要几分钟就可以得到一条无比漂亮的曲线,但这是没有用的,实盘中绝对无法预知当天的价格最高、最低点。真格量化作为主打实盘交易的量化平台可不推荐你这样做。

B.实盘无法/很难成交。这个问题也经常发生。比如涨跌停的时候交易、用完全没有对手盘的巨量下单、挂买一卖一价交易等等。这样的代码逻辑用于实盘的时候就会差别巨大。当然,真格量化的逻辑已经做到非常精细,并不是简单的见价成交,帮投资者去掉了很多掉坑里的可能。

C.过度拟合。有的时候,专业的quant也会犯这个错误,甚至如何避免过度拟合是量化分析师们一直追求的目标。过度拟合往往表现在单纯追求最佳回测参数和完全抛弃金融逻辑方面。殊不知,参数的敏感性本来就是一个策略是否真正靠谱的重要衡量标准;而完全抛弃金融逻辑的后果,可能就是实盘交易的第一天,就是该策略失效,这个小概率、黑天鹅事件发生的日子。

好了,我们知道了在写一个量化策略之前,要做哪些思路上的整理,那么接下来的一篇,我们就看看如何在真格平台上做到这一切,敬请期待!

转载于:https://blog.51cto.com/14258357/2371691

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/106902.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Pytest(1)安装与入门「建议收藏」

    Pytest(1)安装与入门「建议收藏」pytest介绍pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它

  • 北京可以备案什么域名

    北京可以备案什么域名

  • petShop_技术架构

    petShop_技术架构.项目概述与架构分析微软刚推出了基于ASP.NET2.0下的PetShop4,该版本有了一个全新的用户界面。是研究ASP.NET2.0的好范例啊,大家都知道,一直以来,在.NET和Java之间争论不休,到底使用哪个平台开发的企业级应用性能最好、结构最优、生产力最高。为了用事实说话,通过对项目各方面的性能评估进而在比较.NET和Java的高下。用户做比较的这个项目就是Pe…

  • telnet命令详解_Telnet命令

    telnet命令详解_Telnet命令前面的Telnet的命令使用方法部分是我在网上搬过来的,后面的内容是我在自己初学实践时所遇到的一些问题及解决方法。Telnet使用介绍  1、点击开始 → 运行 → 输入CMD,回车。  2、在出来的DOS界面里,输入telnet测试端口命令:telnetIP端口或者telnet域名端口,回车。  如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;端口打开的…

  • 原型模式的应用场景_原型化开发方法

    原型模式的应用场景_原型化开发方法ProtoType 原型模式动机模型定义实例结构要点总结笔记动机在软件系统中,经常面临着”某些结构复杂的对象“的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口如何应对这种变化?如何向”客户程序“(使用这些对象的程序)”隔离出“这些易变对象,从而使得”依赖这些易变对象的客户程序“不随着需求变化而变化?模型定义使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新对象。实例和工厂模型用的同一个实例工厂模式//工厂class SplitterF

  • 五分钟成为记忆王(路飞为什么能成为五皇)

    一、记忆的面纱1、记忆的含义(1)就在我嘴边上  有多少次你这样说过,就在我嘴边上,又有过多少次在你需要什么时候,任凭你如何拼命地想,就是想不起来。  当然,这问题不是你一个人才有,几乎所有的人都受到过记忆力差的困扰。这也是人类的一个最常见的不幸。(2)改变你的记忆力  自身内部,就蕴藏着一种由于记忆力差而产生的烦恼的能力。如果你真想利用这一能力的话,这能力就能使你的记忆力在几天内提高

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号