我如何获得50万美元的机器学习和高频交易 - 第2部分

从解释:继续翻译文章(第1部分),捕获了我的注意和陌生人habrazhitelyam灵魂,约一个人谁使用他们的技术技能,能够一年赚超过五十万美元。 I>





创建一个全面的模拟交易 H4>
所以,我有一个框架,让我来测试和优化指标。但是,我不得不做更多的东西 - 我需要一个框架,让我来测试的,完全优化整个操盘交易系统;其中一个我可以发送命令和仓位。在这种情况下,我将能够优化整体的收益和损失,以及 - 在一定程度上 - 平均收益和损失在一个交易时段

要创建这样一个框架将是困难的 - 在某种意义上甚至不可能准确地模拟,但我所做的一切我所能。这里是我不得不面对一些问题:

在当命令被发送到市场中的模拟器我要模拟的时间差。我的系统“看见”事实上的建议并不意味着她可以马上买下来。系统将发送一个命令,等待大约20毫秒,并且仅当该要约是仍然有效的,这将被视为交易结束。这是不完全准确,因为实际的滞后时间并不总是相同的,并没有登记。 当我把要约购买或出售股份,我需要考虑到交易执行的流程(提供API),并用它来追踪当我的命令将被执行。要正确地做到这一点,我需要跟踪我的团队在队列中的位置(由系统先入先出生成的)的。再次,我不能这样做完全是,但模拟尽可能接近现实系统。 LI> UL>为了提高仿真执行的订单,我把使用API​​在实际交易​​收集的日志,并记录他们相比,行业的仿真为在同一时间段期间记录。我可以把你的模拟器的状态非常贴近现实,并为那些准确模拟失败的时刻,我想,以确保交付符合统计数据(上,我发现很重要的指标)。<溴/ >

确保有利可图的行业 H4>
随着订单的仿真模型的位置,我可以将命令发送到模拟模式的交流和跟踪队伍得失。但由于我的系统会明白的地方和什么时候买和卖?

预测价格的行为是出发点的制度,但故事还没有结束。接下来,我开发了一个评分系统为每个5级价格的买入和卖出。在这些输入电平高一个级别的内部需求价格(对购买订单)和下面的内投标价格(为卖单)一级。

如果在任何价格水平的帐户是高于预定阈值,则意味着在这个水平在我的系统中应积极提供买/卖。如果分数低于阈值,那么任何有效订单应该取消。这些条件往往是一种情况,我的系统会突然表现出对市场的要约收购,之后立即删除他(其实我是想尽量减少此类事件发生的可能性,因为任何活着的人在屏幕上有类似的情况会非常显得讨厌)。

根据计算出下列因素占不同的价格水平:

价格行为的预测(我们前面讨论过) 治疗价格水平(内部级别意味着更容易跳价) 合同,我的订单在排队的号码(越小越好) 合同数我的队列中(为了以后越高越好) LI> UL>从本质上说,这些因素决定了“安全”地带购买/出售。就其本身而言,价格行为的预测是不够的方式来评估局势,因为它没有考虑到一个事实,即,通过将要约收购,我不自动关闭的位置 - 因为它只是发生的人的时候真的把我卖了证券。在现实中,张女士有人有东西在一个特定的价格卖给我改变的概率图片交易。

在该步骤中使用的所有变量进行优化。它在我的优化价格变动的指标变量相同的方式进行,只是在这种情况下,我在优化损益的下边界变量。

什么忽略我的程序 H4>
当贸易导致人们往往显著影响情绪和偏见可能导致次优的解决方案。当然,我不希望有这些偏见在我的代码中的任何反映。所以,我的系统忽略了一些因素:

在入口位置的价格 - 在贸易公司的办公室经常讲,在这人进入多空交易,就好像它应该不会影响在未来这样的决定的价格。尽管这些数据是一些重要的策略,以减少他们的风险承受没有关系市场发展的进一步发展。所以,我的程序是完全忽略了这一信息。这就像忽略沉没成本 结论长/短贸易 - 作为一个规则,一个商人,一个人将有一个特别的标准来确定卖出多头头寸,并在那里 - 进入做空交易。然而,从我的算法的观点出发,有这两个概念之间没有差别。如果我的算法预期价格下跌,销售是一个合乎逻辑的步骤,无论哪个角色被处理:“扁» LI> 的策略”,“长”,“短”或翻番“ - 这是一种常见的策略根据该交易商购买更多的股份的情况下,拍卖原本不打算对他们有利。这样一来,你的平均采购价格降低,这意味着当(如果)股票价格的变化过程中,你“不鼓励”他们没有时间成本。我认为这只是一个可怕的策略,除非你是沃伦·巴菲特。你欺骗自己,以为你们都好,因为大部分的交易中会燃烧。问题是,如果你不是幸运,损失将是惊人的。这种方法的另一个后果是,它决定你是否获得了市场优势,或者你只是很幸运变得非常困难。我的计划的一个重要的质量正是我能够跟踪和确认在我的计划真的有这样的优势局面。 LI> UL>

风险管理 H4>
由于我的算法做出的决定一样,无论哪个阶段,事件的发展,他做了一个交易,该位置是当前长或短,真的开了暂时处于不利的位置,并得出结论不成功的交易大量的钱(虽然有良好的交易至少大量)。但是,不要认为我什么都没有做风险管理。

予刚性设定的位置的最大尺寸,在每单位时间2合同,在活跃的交易的最大间隙尺寸可以偶尔提高。我也被投入限制在亏损的最高限额为天,以防止市场在自己的程序中的任何意外变化,以及错误。这些限制已经在规定的代码,但我另外做安全通过你的经纪人发出指示。通过采取这些预防措施,我后来没有遇到任何显著的问题。

使用算法日 h4>
由于我的工作方案开始,就历时半年之前,我把它的地步,它已经成为赚取利润,而我能够的情况下对其进行测试。不过,说实话,大部分时间我在学习编程语言。由于我的工作改进方案,我记录在每个未来四个月的增量利润。

每个星期我会在前期4周收集的数据的基础上,重新教育我的程序。然而,我发现,它扰乱找到最新的市场行为趋势,以及我的算法得到足够的信息来制定的行为有意义的模式的确定性之间的平衡。当学习已经成为越来越需要更多的时间,我打破了它,以便它可以用一个服务的Amazon EC2实现8台虚拟机。然后将得到的结果进行组合我的本地机器。

最高点我交易是在2009年10月,当我赚了将近10万美元。随后,我又花了4个月,努力提高我的程序尽管利润逐月下降。不幸的是,到今天为止,我觉得我尝试了所有他们最好的想法,因为我用的一切都不是特别帮我。

面对失败,以提高程序和缺乏成长感的无奈,我开始思考一个新的方向。我写了6种不同的贸易公司,专门从事高投标的一封信,问他们是否想不想买我的计划,并聘请我为他工作。没有人回答。然后,我开始有了想法,新的初创企业,在这我要工作,所以我最终放弃了这项业务。

注意 B>:我发表这篇文章Hacker News上,在那里他获得了不少人气。我只想说我没有尽力保护那些谁正在试图做类似的事情你自己。您将需要一个团队非常聪明的同事有很多技巧只是设法让任何人在市场竞争中。甚至当我在写我的程序,独来独往很少取得成功(但我听说过这样的)。

返回页首[在原岗位 I> - 约。解释]是注释,其中有这样的表达式为“统计数据的操纵”,而我叫关于他的这些量子[量子/定量的“投资者 - 零售商”之一 - 俄语翻译实践中使用的翻译两个版本 I> - 约。翻译]说,他们的“需要拍摄。”这是一个非常不幸的评论,只是远离现实。同时,还有更多有趣的 的评论我的文章。

注2 B>:我发表<一个href="http://jspauld.com/post/36573244979/follow-up-faq-on-my-trading-algo-success-story">список 经常问到的,我已经从贸易商收到的问题,请阅读这篇文章。

资料来源:<一href="http://habrahabr.ru/company/itinvest/blog/211642/">habrahabr.ru/company/itinvest/blog/211642/