主页 > X悠生活 >独立开发尝试:如何用股票交易机器人每月赚3500美元?

独立开发尝试:如何用股票交易机器人每月赚3500美元?

独立开发尝试:如何用股票交易机器人每月赚3500美元?
背景和专案介绍

我叫 Sebastian Dobrincu,是一名软体工程师,目前的职业是一名自由工作者。我还是一名热情的产品製造者,热爱开发业余的、疯狂的商业专案。我的专业背景可以用机器学习、行动开发、设计等来概括。

一开始我做 Stock Trading Bot只是作为个人的研究专案。目的是想试试看现代的机器学习方案能不能以极高的频率对当今的股票市场进行预测以及自动化买卖。

结果显示,它在 5 个月内每个月大概就为我赚了 3500 美元,而维护成本只有不到 90 美元 / 月。目前我自己是主要用户。我打算继续开发这个机器人,目标是尽可能扩充它的规模。

你是怎幺想到要开发股票机器人的?

冒出这个想法实际上相当偶然。有一次我準备飞去旧金山之前决定先下载一些 podcast 来听看看。我觉得要试一些新东西,于是就从金融分类里面选了最热门的一些内容。在高空中,我点击了播放让自己放鬆下来。

这次谈到的是流动性的话题,流动性被分为了 3 个方向:价格、规模以及时间。当流动性充裕时,投资者就可以成功地以目前的价格在短时间内做出更大的定单交易。当他们开始争论高频交易能否透过提供流动性来改善市场时,我打开了手机的笔记 app,开始奋笔疾书一些重点想法。

在这个专案之前,我对金融的了解是相当有限的。我对基础交易的了解很透彻,但除此以外就不甚明白。我希望改变这一点,但我也记得有人说过 99% 的金融书都是废话。

在经过广泛研究之后,我选定了 Larry Harris 的《Trading and Exchanges》以及 John Hull 的《股权、期货以及其他衍生品》这两本读物。第一本也许是我读过的最好的金融类书籍。它回答了进行过交易的好奇宝宝可能会提出的所有问题。另一方面,John Hull 的书对数学金融介绍得很透彻,让我从应用角度了解了这门学科。如果你刚刚开始了解交易的话,我高度推荐这两本书。

我相信,我们已经达到了 AI 领域的巅峰。我们现在既有强大的机器也有足够的数据可以用于 AI 处理。想到这一点,我内心的那位工程师对于利用当代的先进技术来参与市场感到兴奋不已。此外,我对于做一些迷人的专案也非常上瘾,这个也不例外。

你开发这个机器人用了多长的时间,採用了哪些技术?

我最初的目标是做一个仅聚焦于比特币的高频交易机器人。其巨大优势在于在这里没有跟大型交易机构打交道会遇到的障碍。

那是因为在股票交易时,每一毫秒都有可能导致交易出错——比如你的机器人会成为另一个更快的机器人诱导式报价的受害者。但是在加密货币中,这些短时间的增量未必就那幺重要。

儘管我认为目前是比特币市场的黄金时代,但我很快放弃了这个想法,因为没办法找到 FIX 上够稳定的的 API。这里面的技术细节我就不想说太多了,因为你会烦的,总之这个交易 API 基本上是基于 REST 的,对于我的目标来说表现还不够快。

此外出于专利保密的原因我不会公开讨论过多技术的实行细节。儘管我收到了很多专案的开源请求,而且我认为公开这个模型或者预测方法的深度细节,不会损害这解决方案对于其他现有机器人的优势。然而,对于任何想要了解更多细节的人来说,我更愿意在私下跟你们展开讨论。

长话短说,我最终还是选择了股票市场,但并不是进入真正的高频交易市场。我的机器人会守住一个点位,市场从数秒到数分钟不等,所以它更像是一个自动化的交易商而不是高频交易商。背后的原因是,作为个体操盘手你是很难跟大型交易商竞争的,因为你缺乏非常强大的硬体、先进的受训练软体等有利条件,伺服器放置的位置也没有对方好。离股市越近,你收到资讯就越快。那些大型交易商往往要花好几百万美元就为了让自己的伺服器离交易所近几英里。

交易的话我推荐 Kite,主要是因为他们稳定的 Connect API 以及低频宽。他们的限制是每秒钟 3 个请求,对于我的新策略来说这个已经足够了。拿到可靠的历史金融数据并不便宜,鑒于有那幺多人跑到提供商那里去下载数据,所以他们限制提供资讯也没有什幺好指责的。Intrinio 是一个很好的即时股票报价提供商,而且价格也非常便宜。然而,能拿到更深入的数据永远都会获得更好的结果。

第一个原型我大概用了不到一个月的时间。我一般是利用晚上的时间,然后在白天作为自由职业者的工作间歇再写写。这个时候机器人还不是很聪明。后来我又多花了 2 週的时间来提供数据给它,直到错误率低到令我满意的程度,然后又用了 2 週的时间来进行测试,最后才投入生产。所以目前这个版本的技术实作前后总共用了 4 个月的时间,一路上都在不断改进。

你的未来目标是什幺,你打算如何实现这些目标?

自从我公开发表了这款机器人之后,我已经收到了交易公司的 10 多份报价。目前这套系统让我取得了相对于其他交易商的优势。如果我把它卖掉的话,我也就失去了对其他交易商的优势了。儘管我不排除将来出售它的可能性,但目前我的打算是专心改进产品并对其进行扩充。

近期我的打算之一是提高交易金额,让机器人经手更大的交易量。我脑子里已经有很多的改进想法,尤其是在调整位置的时间跨度方面,此外还有让它更轻量、促进更大交易量的解决方案。

你面临的最大问题是什幺?如果你必须从头开始的话你会怎幺做?

我在应用高频交易到比特币上面浪费了太多的时间。一开始这个想法似乎是很棒的,但我很快在试图扩大请求数方面遭遇到很多的技术问题。然而,我现在还不敢肯定说实现加密货币真正的高频交易是不是就没有可能了,所以未来我可能还会回过头来研究一下。

在由于技术限制而抛弃高频交易的想法之后,我盯上了自动化交易的一种更加分析性的方法。那些改变大部分都不能应用到比特币市场上,因为这是高度不可预测的,很难绕着它建立模型。也就是在那个时候我决定去做股票市场。

知道什幺时候该忽略什幺很重要。比方说,我看到很多的独立骇客盲从于一些只对「有 VC 资金支持的公司」有效的建议。

我刚开始犯的另一个大错误是太过于依赖模型。我没有尝试用不同的办法去分析手头的数据,而是主要靠模型来识别有利润的模式,没有投入时间到其他更为直接的解决方案上面。模型只是现实世界的简单抽象化概念,而我的常识救了我不止一次。

迄今为止,我目前的策略在 95% 的时间都是有效的。当然,从任何意义上来说这都还不是一个可靠的指标,而且还有很多因素会影响到它。这个机器人还没有经过足够的测试来确认结果并非侥倖。大型投资管理公司户不惜任何代价来实现这些指标,我敢肯定在将来的交易当中我大概保持不了这样的成功率。迄今为止所取得的成功很大程度上也是受到了有利的行情条件、选择的股票,以及机器人只是间歇性运行等因素的影响。

此外,当剩下 5% 的失败发生时,情况会变得非常糟糕。我是用非常痛苦的方式来学会这个的。不久之前市场变得相当疯狂,如果我说自己没有料到自己交易的股票出现重大崩盘的话那就是在撒谎。结果真的发生了这样的情况。

儘管我的停损让我避开重大损失,但如果不是因为我在恰当的时间点介入的话,机器人可能会让我过去几个月的利润付之东流。那次事件让我开始认真思考,我决定让它停止运作几天,直到我把漏洞给修复好。

这对我来说也是一次很好的学习经历,我认为如果不经历过这些起伏的话,我永远也做不出让它走到今天的演算法。我不后悔在比特币上浪费的时间,因为它让我对加密货币交易如何运作有了更深入的了解,而这些东西也许在将来有朝一日就会派上用场。

你的最大优势是什幺?有没有一些特别有用的东西?

我的最大优势也许是自己是一位乐观过头的年轻梦想家。从某种程度来说,这让我 够相信自己的想法,愿意投入别人不愿投入的精力去实现它 。正是这个激励着我坚持要找到市场的那些「后门」。尽管许多人认为个体操盘手没有多少机会扳倒武装坚强的大公司,但我证明了只要执行得好,市场还是有操作空间的。

另一个极其有用的资源是网路上公开的研究论文。实际上,我从 2006 年发表的论文上面得到了极大的帮助。我经常发现这些论文儘管包含着超级有用的分析,但大部分都被为人所忽视。

身为工作狂对取得这一成功也有相当大的贡献。我可以每天工作 10 到 12 小时,一点问题都没有。在时间方面,我形成了一种非常有生产力且一致的生活方式,设法排除了大部分的干扰。这让我有时间投入打磨和研究专案的不同策略上面。

你对胸怀抱负的独立骇客有什幺建议?

我见过几个人,他们在那个论坛上就这幺呆呆地等着完美想法出现,或者花费了几年的时间去完成产品。Reid Hoffman的结论最到位:如果你没有对 v1 版感到难堪的话,你的产品发表已经太迟了。

要发表东西!如果你全力以赴开发了某个东西但却放弃推出的话,没人会在意它的。我们生活在一个非常资本主义的社会,大家会根据真正的结果来判断你。没人会在意你的行动计划以及你为什幺不发表出去的理由。

正如 Sam Altman所说那样,推出一个不够伟大的产品,没人会原谅你。然而,什幺都没有一定比这还要糟糕。不要第一版就想做到完美。先到市场上试试水温,收集大量反馈然后不断更新你的想法。

儘管这并不是一个面向客户的产品,但是业余专案的力量市值得大力推广的。业余专案让你可以试验疯狂的想法又不会被指责为疯子。而且即便大家根据这个专案来论断你,你也可以抛出这句话来当挡箭牌:「是的,这不过是个业余专案罢了。」

还有,你一定要追求脑子里面最疯狂的想法。大多数成功的公司都是这幺创办出来的。你大概不会想浪费自己最宝贵的资源,去开发出另外一个 Snapchat 的山寨品来吧。每一个问题都有解决方案。你只是需要有足够的创意去找到它而已。

相关推荐