Note

如何建立自己的量化交易程序?

· Views 2,218



如何建立自己的量化交易程序?


量化交易对交易者来说总是比较神秘又高级,因为它包含了来自计算机科学、统计学、数学、心理学、经济学、商业、运筹学和历史等不同领域的知识。

一个震荡加剧或者波动率很大的市场,对投资者的心理有着极大的煎熬,而量化投资的优势在这样的时刻就被完完全全地体现出来。量化交易的一个很大特点就是在交易过程中排除人的情绪,在大起大落的市场中保持冷静。

1



认知量化交易策略



如何建立自己的量化交易程序?




量化交易结合了编程和交易。编程是将想法变为现实最快方式。交易是最直接的赚钱方式(与创建零售店、招聘、等待资金流入再投资等相比)。结合编程和交易,您就有了将头脑中的想法转化现金最直接途径,但千万要谨记最小化风险。

当您阅读有关量化交易的内容时,有很多词听起来很复杂,例如统计套利交易。它看起来很复杂,但实际上是另一种形式的配对交易。配对交易通常被认为是买卖两个相互关联的股票/商品/货币/期货。交易策略是量化者认为将在交易市场的近期或长期内奏效的计算方式。

有多种交易方法,如全自动或半自动。编写交易策略不需要了解编程或高等数学,但需要了解统计方法的简单概念。另一方面,拥有数学高级学位或类似学位也不能保证您可以编写“有利可图”的交易策略。这更多地取决于过去的交易经验。

好的交易策略被认为是一种具有良好回报、更好的盈利率、较小的回撤并使用尽可能低的杠杆率的策略。

自营量化业务需要多少时间:

时间实际上取决于您使用的交易策略类型。一些交易策略或机器学习模型需要在开市前几分钟进行训练,有些模型需要在收盘后进行训练。有时,交易者提出交易策略后,这些训练模型需要至少每周进行一次,或每月执行一次。

创建交易策略有多难:

创建交易策略与进行微积分和导数一样困难,或者又与从一组给定数据中找到均值或中位数一样容易。在创建交易策略时,您可能会思考各种因素,但现在越来越多地着眼于量化技术。不要着眼于您想要达到的精确度、完美或最准确的结果,而是寻找有价值的信息或量化您需要了解的有关交易模型的那些有价值的方面。

量化金融中编程的重要性:




如何建立自己的量化交易程序?


制定交易策略其实也是一种心态。交易者可以通过查看行情并编写每日计划来制定各种交易策略,但所有这一切背后的真正原因是您想要创建一个自动执行程序,将交易策略转换为程序/代码/算法是我们应该最重要的任务之一

美元中性投资组合:

多头头寸的市值等于空头头寸的市值。

市场中性投资组合:

构建多头和空头头寸以对冲市场风险。在市场上无论上涨还是下跌均能获得稳定收益的投资策略,这个主要依据统计套利的量化分析。

投资组合相对于市场指数的贝塔值接近于零,其中贝塔值衡量投资组合的预期回报与市场指数的预期回报之间的比率。

夏普比率(最重要的事情):

夏普比率定义了您回报的一致性。您的夏普比率应大于1,策略回报可能低于或高于基准回报。Sharp-Ratio也被认为是信息比率,计算Sharp-Ratio的公式如下:

夏普比率(Sharpe-Ratio)=超额回报的平均值/超额回报的标准偏差



超额回报=投资组合回报-基准回报

根据经验,任何夏普比率小于1的策略都不适合作为独立策略。对于几乎每个月都实现盈利的策略,其(年化)夏普



比率通常大于2。对于几乎每天都盈利的策略,其夏普比率通常大于3。

您必须知道的一件重要事情是,基准因您所使用的市场/交易而异。

衡量量化的关键指标——回撤大小:



如何建立自己的量化交易程序?


衡量量化投资的一个关键指标是其回撤的大小,控制回撤的最重要方法是控制仓位。那么,量化投资中仓位如何控制呢?通过风险模型,我们可以制定策略的目标波动率,而目标波动率决定了仓位的大小。

您的回撤长度定义了恢复市场需要多长时间,深度定义您可以承担多少,但这些结果是基于您的真实回溯测试。在真实的交易策略中回撤可能远远少于或大于基准结果。

交易成本将如何影响策略?

交易成本是您购买/出售任何交易品种的成本。您绝不能忘记的一件事是将策略和算法交易背后的风险降至最低。每次策略买卖时,都会产生交易成本。交易越频繁,交易成本对策略盈利能力的影响就越大。这些交易成本不仅仅来自于经纪商,还有流动性成本——当您以市场价格买卖证券时,您支付的是买卖差价。

但是,如果您使用限价单买卖证券,您可以避免流动性成本,但会产生机会成本。这是因为您的限价单可能不会被执行,因此您可能会错失交易的潜在利润。

当交易品种的流动性不是很强时,买卖价差会占总交易成本的很大一部分。

数据窥探偏见?(模型过度拟合)



如何建立自己的量化交易程序?


如果您构建一个包含100个参数的交易策略,您可以优化这些参数,使历史表现看起来很棒。但该策略的未来表现也很可能与其历史表现完全不同,并且会变得非常糟糕。实际上,即使只有一两个参数(例如进入和退出阈值),这种所谓的数据窥探偏差也很难避免。

2




开始量化策略,要问自己的重要问题

1.您有多少时间来研究您的交易程序?

2.您有多少资本?

3.您的目标是赚取稳定的月收入还是争取大量的长期资本收益?

3



在使用交易策略之前,您必须问自己的重要问题



1.它的表现是否优于基准?

2.它的夏普比率是否足够高?

3.它是否有足够小的回撤和足够短的回撤持续时间?

4.回测是否存在幸存者偏差?

5.与早年相比,该战略近年来是否失去动力?

6.该策略是否有自己的“利基”来保护它免受大型机构基金经理的激烈竞争?

关于回溯测试需要了解事情:

回溯测试是根据当时可用的历史信息创建历史交易,然后找出这些交易的后续表现的过程。鉴于交易是使用计算机算法进行的,这个过程似乎很容易,但有很多时候可能会出错。

回溯测试样本大小的重要性(您需要多少历史数据?):

防止数据窥探偏差的最基本的保护措施是确保您有足够数量的回测数据,相对于您想要优化的自由参数的数量。

根据经验,我们假设优化参数所需的数据点数等于模型具有的自由参数数的252倍。因此,例如,假设您有一个包含三个参数的每日交易模型。那么您应该有至少三年的每日价格回测数据。

但是,如果您有一个每分钟更新头寸的参数交易模型,那么您应该至少有252/390年或大约七个月的一分钟回溯测试数据。

训练集数据和测试集数据:

这是一个非常简单的概念。您必须将数据分成两部分,一部分是供模型学习的训练集,另一部分是测试集。

什么是利润上限?

利润上限是限制您希望策略退出的数量。没有利润上限和止损的贪婪策略可能会破坏您所有的资产。

无参数模型:

这就像自我模型,它自己完成所有事情,这意味着您需要确保您的模型安全可靠,并且所有参数(如利润上限)都是由自己计算的。



如何建立自己的量化交易程序?


无参数交易模型的优势在于它最大限度地减少了模型过度拟合多个输入参数的危险(所谓的“数据窥探偏差”)。所以回测性能应该更接近实际的前向性能。(请注意,参数优化并不一定意味着选择一组提供最佳回测性能的最佳参数。通常,最好根据不同参数集的某种平均值做出交易决策。)

对回溯测试的简单理解

回测是关于对策略的表现进行现实的历史模拟。希望该策略的未来表现与其过去的表现相似。

回溯测试需要注意的事项:

绩效衡量:年化夏普比率和最大回撤。

偏差:将无法获得的未来信息用于过去的交易决策。

数据窥探偏差:使用过多的参数来拟合历史数据,并使用足够大的样本、样本外测试和敏感性分析来避免它。交易成本:交易成本对性能的影响。

策略细化:对策略进行微小变化以优化性能的常用方法。

算法交易中速度的重要性:



如何建立自己的量化交易程序?




当您谈论HFT和速度时,会包含各种内容。您的交易算法的哪一部分需要更多时间来执行,这相当重要。将此视为软件开发中的90/10规则。优化占用90%时间的写代码占10%。如果您的交易策略是用Python编写的,这意味着它在各个部分可能会很慢,因此最好为此目的使用C或C++,但另一方面,您也可以使用Cython,它在开发情况下都非常快在执行代码的情况下。另一方面,您的互联网连接也应该很快,这样您就可以非常快速地获取数据并根据该数据做出决策。


4




心理学和交易风险管理

我们如何使用编程实现风险管理?

计算凯利标准相对简单,它依赖于两个基本组成部分:您的交易策略的赢率概率和赢亏比。

凯利百分比的公式如下所示:

凯利%= W — [(1 — W) / R]

凯利 % = 凯利百分比

W = 获胜百分比概率(获胜交易总数/交易总数)

R = 盈亏比(盈利交易获得的总金额/失败交易损失的总金额)

获胜百分比概率是交易获得正回报的概率。盈亏比等于您的总交易利润除以您的总交易亏损。

这些将帮助您得出一个称为凯利百分比的数字。这为您提供了关于您的交易账户在任何给定交易中应该承担的最大风险的指南。



心理学也是量化交易者必须了解的最重要的概念之一。交易是真钱,真钱可能会在很多方面让您发狂。再次指出这一点,即算法交易就是将风险降至最低,而不是立即变得真正富有。



学会合适使用杠杆也是风险控制的重要一步,在Exness交易时,交易者可以选择适合自己的杠杆水平。



如何建立自己的量化交易程序?


保证金和杠杆的情况会针对您帐户中的净值水平、假期、周末和经济新闻做出动态反应,因此了解它们的工作原理非常重要。



如下图所示,只需将以下黄色圆点拖动到您账户当前的净值水平,即可查看确切的保证金要求和最大可用杠杆。

如何建立自己的量化交易程序?




如何建立自己的量化交易程序?


为使您的风险敞口最小化,保证金要求和杠杆可能会在重大财经新闻发布和节假日前以及周末期间发生改变。



新闻——如在重磅财经新闻发布前15分钟至发布后5分钟期间内开仓交易受影响品种,计算保证金要时最大可用杠杆为1:200。



周末——如在格林尼治标准时间星期五19:00(汇市收盘前三小时)至格林尼治标准时间星期日23:00(汇市开盘后两小时后)期间新建仓位,计算保障金要求时最大可用杠杆为1:200。



节假日——和周末类似,部分节假日期间的保证金要求也可能会升高。但我们会把相关更新先发布在“Exness新闻”板块,再调整您的杠杆。



常见Q&A:




如何建立自己的量化交易程序?


为什么保证金要求在新闻发布期间可能会上调?



重大新闻可能会导致市场剧烈波动,引发价格缺口。众所周知,在市场高波动性期间使用高杠杆是风险很高的做法,因为突发的市场变动可能会导致资金亏损。



因此我们在新闻发布期间把最大杠杆限制在1:200的水平,如在此期间新开立的头寸包含受新闻发布影响的品种,其保证金要求将面临上调。



如果在较短时间内同时有多个新闻发布,我的杠杆和保证金要求会受到什么影响?



如果各新闻事件均涉及保证金要求上调,且各新闻事件间隔低于15分钟,那么针对受新闻事件影响的相关品种,我们或会把多个单独的新闻发布时间段合并成一个单一的较长时间段。届时我们会通过交易平台给您发送电子邮件,提供相关的保证金调整详情。



Exness集团的业绩财务报告由全球四大审计公司之一德勤提供



更多信息请登录:

www.exness.guide

免责声明:

本资料仅作信息传播之用,不可被解释为包含投资建议或投资推荐,或任何金融品种交易的要约或邀请。信息提供者与Exness均未将您的个人投资目标或财务状况纳入考量,且不对所提供信息的准确性、及时性或完整性作任何保证或承担任何责任,亦不对因所提供的任何信息、预测或其他数据而产生的任何损失提供任何保证或承担任何责任。资料中所提及的意见纯属作者个人观点,不一定代表Exness之立场。过往业绩不能作为未来业绩的担保和预测依据。



风险提示:

投资存在高风险,因此可能不适合所有投资者。投资价值可能增加也可能减少,投资者可能损失其所有投资资金。在任何情况下,本公司对任何个人或实体的、由与投资相关的交易造成的、或因其产生的、或与其关联的全部或部分损失或损害,概不承担任何责任。


Disclaimer: The content above represents only the views of the author or guest. It does not represent any views or positions of FOLLOWME and does not mean that FOLLOWME agrees with its statement or description, nor does it constitute any investment advice. For all actions taken by visitors based on information provided by the FOLLOWME community, the community does not assume any form of liability unless otherwise expressly promised in writing.

FOLLOWME Trading Community Website: https://www.followme.com

If you like, reward to support.
avatar

Hot

深有体会
看不懂。有没有简单易学的自己编写EA的教程?
学到了

-THE END-