当我赚了$ 50万的机器学习和高频交易 - 第1部分



从解释:的这些天,哈布雷发表的主题如何IT专业人员,以保持并提高他们的钱,这已经引起了很多人的兴趣。我最近一直有意在金融主题,我遇到了谁,用他们的技术技能,一年可以赚五十万美元一个人一个有趣的故事。我想,他的经验可能是很多人感兴趣habrazhitelyam(尽管他已经在证券交易所的经验),所以我决定将文本翻译(这是非常庞大,所以这将是两部分)。 I>

在这篇文章中,我详细描述了我是如何获得大约50万美元的时段高频率交易2009年至2010年。由于我的工作完全独立并且没有使用我的计划,我可以自由地谈论这一切。在大多数情况下,我参加了交易中期货DAX指数和罗素2000

关键我的成功,在我看来,是不是利用复杂的金融公式,而是一般的算法方法的应用是连接在一起的一组简单的组件,包括机器学习算法的原则,优化和实现利润最大化。在阅读这篇文章,您不需要专用术语的任何知识 - 当我跑我的计划,我靠直觉。 (遗憾的是,美的历程安德鲁Ng'a (安德鲁·吴)的机器学习是没有提供给公众 - 的方式如果点击链接,你会爱上我的当前项目:CourseTalk,现场回顾了大规模开放网络课程/ MOOC)

首先,我只是想证明我的成功不只是一个愉快的巧合。我计划每天进行(“长”与“短”)交易的1000-4000,但有一次我一直都是只开了几个合同。这意味着,突如其来的成功机会相当快平均。这也意味着,我从来没有失去超过2000天$,从来没有见过,在月经期的损失。



(修订:这样的表现,扣除手续费) I>

这里是展示我的收入一天的变化的曲线图。请注意,这个图不是过去的7月,因为 - 只要停下增长的量 - 我失去了动力输入它们



的交易我在证券交易所经验 H4>
在你开始与我的自动交易程序的工作,我在“正常”模式下工作了两年的交易者。那是在2001年 - 处于成长期的电子交易中,在那里小投机商能够赚取更多的钱。我工作的方式,它在某些方面类似于一台电脑,和赌博。这是成功意味着要快,纪律严明,有良好的直觉能力,认识到市场的行为模式。我赚了$ 25万,这让我支付学费,甚至推迟。利润!

在未来的五年里,我试图提高几个初创企业,在并行提高他们的编程技巧。通过交易,我很难再回到2008年。然而,赌博在我看来,一个很好的机会,以改善当时的财务状况时,从销售的最后一个启动的资金开始走到了尽头 - 一个教训,可以给我一个机会,思考下一步

交易 H4>
API 2008年,我是一个普通的日子交易者在期货市场和使用的软件叫T4。我真的很想得到的“热键”一些定制组合发出命令,所以学习的T4有一个开放的API,我不屑于学习C#(编程语言的API),然后说干就干,创造了必要的“热键»。

弄潮的API,我已经决定要提高他们的胃口:我想给电脑换为我了。 API提供了流媒体市场数据,轻松地将命令发送到交易所 - 和所有我不得不这样做 - 创建一个逻辑,将连接两个事件

下面是工作窗T4的屏幕截图。尤其是良好的事实是,通过创建自己的计划,我能够观察到计算机的出价从相同的接口。确保这两个团队来来去去,在工作窗口(也有自己绑在我的真钱),这是可怕的,令人兴奋的在同一时间。



设计您自己的算法 H4>
一开始,我的目标是创建一个系统,对此,我能得到合理的保障 - 它使利润 - 真正的赌博开始前。为了实现这个信心,我需要创建一个框架,模拟交易即可以 - 尽可能准确地 - 来重新创建市场行为

[这通常使用 测试访问证券交易所,这是可能的,在国内的网站。此外,许多交易者使用了一个现成的框架,用于开发交易机器人(俄语交流有几个 这种 制作,主要是支付) - 约。 Perevi] I>

由于实际交易需要处理的市场动态,流得紧API,从数据文件中组织一个阅读市场更新所需模拟模式。为了收集这些数据,我发现我的程序的第一个版本仅仅连接到API和写入的市场更新与时间戳。为了测试和训练我的系统,我花了共4周来收集来自市场的最新信息。

即使有一个基本的框架,我仍然需要弄清楚如何创建一个操盘手的交易系统盈利。事实证明,我的算法作为其拆分为两个独立的组成部分,我将分别讨论:

在价格走势 盈利交易
组织预测

预测价格走势 H4>
也许,任何交易系统一个明显的组成部分 - 来预测价格会变化的能力。而我的系统也不例外。我已经定义了目前的价格,因为国内需求和国内供给之间的平均价格,并设定了一个目标来预测价格将在接下来的10秒改变。所以,我的算法需要距离时代全天预测价格的位置。

创建和优化指标 H4>
我创建了几个指标,通过它可以确认我的预测能力在短期内价格走势。每个指标给了一个值,该值是正或负。使用这样的指标,是最稳定的正增长,和负 - 在市场下降

我的系统可以让我快速地确定预测每一项指标的质量,所以我可以尝试大量的人,找出哪些工作关系最为密切。许多由含有变量公式给出的指标 - 知道这些式中,我可以使用不同的值找到变量的最优值,使得结果的成对比较取得

指标提供了最大的好处,是比较简单的,并根据从市场,在那里我交易,以及来自有类似交易的证券等市场信息的最新数据。

价格行为的准确预测 H4>
然而,有指标预测价格的上升或下降是不够的。我需要确切地知道了每个指标的每个值预测一个特定的价格变化。我想要一个公式,将支付的具体价格的指标值。

要做到这一点,我分发的50组,从指标值的传播不同的预测价格上涨。它被允许使一个唯一的预测的每个组,在此基础上的我可以建立在Excel的曲线图中的值。正如你所看到的,变化的指标值的预测价格上涨的可能性。



在该计划的基础上,我能够创建匹配曲线的公式。起初,我这样做“符合曲线下的”手,但很快就写了一个子程序,自动完成此过程。

顺便说一下,不是所有的曲线有类似的指标图。此外,组经对数分配给各组约等于源的值的数目。还应当指出的是,各项指标(和较低的价格的相应预测)的负值被采取在模块上并布置有正值(我的算法可与升高和降低率完全相同的)。

指标的布局,以提供价格 H4>
的行为的一个明确的预测 重要的是要注意,这里是在什么时候:所有的指标都没有完全独立的。我不能就这样甩了一堆的预测指标,并选择最终值。重要的是要强调的附加预测值,其中每个指示器补充的预测值。这是不是太困难的事,但它意味着,如果我手动在同一时间满足几个指标值的曲线,我不得不小心 - 在一个指标的变化可能会引起其他的变化

为了适应在同一时间给所有的指标曲线我设置的优化,这样在每次迭代曲线预测给我拉到一边只有30%。这个跳跃使其为少数迭代稳定的30%的预测曲线。

由于现在每个指标只增加了价格的预测精度的事实,我可以使用所有的指标一下子得到一个明确的预测为那里的市场将在接下来的10秒。

为什么不足够的预测价格 H4>
这似乎与这样的市场优势,我能致富。不仅市场价格,因为 - 但要记住,市场是由供需关系是非常重要的。成功的高频交易是属于那些谁提供最好的价格,但它是不容易的。

创建一个系统,允许签订利润丰厚的交易困难有以下几种:

在用的每一笔交易,我需要支付佣金和我的经纪人,和证券交易所。 扩展的存在(最佳买价和卖价之间的差额)意味着,如果我只是随机购买和出售,就已经失去了很多钱 目前市场上大部分都是由其他船只,将与我的结论的交易,只有当他们认为有统计学盈利占据 找到一个有吸引力的报价 - 不是结束处理。通过采购订单达到证券交易所的时候,该提案很可能会变得无关紧要。 作为一名小球员在市场上,我不能凭一己之力只在速度为代价的竞争。 UL>
未完待续... I>

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