搭建私人量化交易平台,就这么简单!

提到量化交易,大家就会想到 FPGA,,微波,高频,纳秒级别延迟,对冲基金这些大名词——并且认为这些高端技术是基金公司的专利,不是普通人能玩的转的事儿。所以,搭建私人量化平台,看起来似乎是不可能的任务。

今天,就让点融黑帮的技术专家,教你用一种简单易行的方法颠覆这个认知。

导语中提到的各种技术是高频交易(HFT)经常采用的,但量化交易不等同于高频交易。交易根据频率来划分的话,可分为:

高频: ticke纳秒级别的 1s级别

中低频:1s~1h级别

超低频:1d~1w 等长线投资

高频交易对延迟,性能和稳定性要求非常高,需要大量的硬件的成本和人工成本,一般只有基金公司才有能力进行高频交易。

硬件上的极高要求,导致个人无法参与高频交易, 但中低频交易对硬件要求就会低很多。个人与基金公司差距主要体现在算法上,普通程序也有能力捕获到这一频度的交易信号。

搭建平台的步骤

如果做过外汇交易的同学应该知道,著名MetaTrade4 (mt4) 交易客户端. Mt4客户端提供一整套交易策略开发框架平台。 支持MQL4语言(语法与C语言类似) ,而且提供了非常丰富的指标,扩展函数。可以很方便地开发交易策略和进行回归测试。在零售外汇领域很多个人交易者或者专业的交易者都使用MT4做自动化交易。MT4有相当活跃的社区,国外有很多论坛讨论和分享MT4 EA程序。但是令人遗憾的是  Mt4 客户端必须配合Meta Qutes服务器使用。所以Mt4 一般只限制在外汇行业使用。

如果想要分析A股,或者比特币,就需要自己搭建一套环境。一般搭建一个量化平台需要这些步骤:

开设证券账户 >开发环境搭建->数据准备 ->交易策略开发->回归测试->模拟交易-> 实盘交易

1开设证券账户

下面介绍几种比较适合个人交易证券品种:

国内A股:怎么开户大家应该都只,目前由于政策的原因,股票交易的第三方接口都关闭。不过历史数据比较容易获取。所以国内股票的量化主要集中在选股和趋势分析。自动交易等明年市场稳定后,应该会重新开放。

期货:商品期货开户门槛比低。股指期货要至少50万资本。期货这一块主要是CTP协议。网上都可以找到java,和python的封装。对开发者真友好。

债券:可转债, 开户资金有要求。

外汇:开户门槛比较低一般50美元起。但需要选择信誉比较好的券商。有一些比较知名的券商比如Oanda 会有提供HTTP api 接口。如家交易者资金有比较大,可以直接到LP 提供商如果,lmax,cfh开户。LP提供会提供FIX交易接口。FIX接口非常适合程序化交易。

美股,期货,期权:IB(interactive broker)账户有提供程序化交易接口,账户最低余额需要1万美元。其它美股券商,如史考特,或者国内的老虎证券,富途对资金没有要求,但都没提供API。

比特币:可以选选择coinbase, bitstamp. 这两个公司总部都是在美国,各方面监管比较严格,所以开户周期比较长。都提供有API.

2开发环境搭建

目前主流的两种平台是,python和R语言。这两个语言有提供回测框架,时间序列分析,统计分析的库。当然也可以使用Java,C++,不过但开发难度要大一些。

Python :目前应该是最普遍的个人量化技术。相关的开源框架相当丰富。比如Panda ,Scipy, numpy, Zipline (Backtest framework ) 。

R:高级算法比较方便,社区比较活跃。

Java ,C++:没有的时间序列操作框架,自己写比较麻烦。

MatLab:算法库比较成熟,但处理大量数据比较麻烦。

3数据准备

国内的股票,有一些服务商提供,比如通联数据,tushare。国外证券数据可以从 xignite.com获取。

还有一些信息,比如新闻,汇率。需要自己写爬虫去抓取。或者通过一些数据提供商去购买。

得这些数据后就可以导入到数据库去。关于数据库的选择,一般使用Mysql ,如果数据量比较大(>100G)可以使用mogodb。一般个人不会这么大数据量。

这些准备看起来很有难度和麻烦的样子。 的确,笔者曾经搭建一个python的初级量化平台,也要花费个3周时间。很多人,特别是非程序员,很有可能在还没开始写代码前就放弃了。不过别着急,我们还是B计划。

数据准备的第2种方式

搭建一个量化平台,需要做一些繁琐的准备工作: 搭建开发环境,准备历史数据。 很多同学心里想 “我只想好好写代码,不想准备这些脏活”。有一些互联网的创业者也看到这个问题。最近今年出现的一些创业公司提供cloud+social量化交易平台,比较出名有: quantopian.com 。Quantopian 操作非常便捷,给你一站式体验。

打开:https://www.quantopian.com/algorithms/

选择:Sample Mean Reversion Algorithm Build  代码注释里有什么这个算法。

执行 Build 然后 BackTest 结果就可以出来。

你可以在2,3分钟内,使用全部美股分钟级别报价数据 测试交易算法。并且给出非常好看的分析报表, 甚至不用注册。此外quantopian上的社区也比较活跃。经常有媒体把quantopian当做互联网创新的案例。

从去年开始国内也逐渐出现一些模仿者  如Ricequant,优矿。国内这些平台都提供了A股数据,对于国内交易者是个好笑。目前国内平台处于起步阶段,还不是很稳定。目前推广比赛比较多。

想试试手的交易者,可以先尝试这些Saas量化平台。不过这些量化平台在,交易品种,数据和算法上都有一定限制。

4交易算法开发

说了这么如何多如果搭建平台,总算开始写代码。说到交易算法,同学玩玩会想到那些高大上的,如机器学习,马尔可夫模型,大数据分析,深度学习,神经网络。这些名称天天被媒体炒作预测。 那么什么样算法比较适合个人交易?

对于普通交易者可以选用简单高效的算法。毕竟个人交易者精力有限。可以尝试从这几方面去探索。

1、将自己操作和想法程序化

三连阳 ,买低价股 或者你听说过什么神奇的操作手法都是用代码测试一遍。毕竟我们都是理科生(talk is cheap ,show me the code).    一般实现起来都比较简单都比较简单。也可以将自己的猜想和经验用代码实现成交易策略。然后使用历史数据进行回测。比如最近比较火的一个帖子。这为同学就只买小盘股。收益率令人吃惊。

2.传统的指标交易

像均线,MACD ,布林带等,蜡烛图理论,RSI, 波浪理论。 这些纯技术分析指标需要在特定的场景才能有作用。大家都听说过海龟趋势,可能都觉挺有道理的。但真实情况如何,可以A股或者外汇数据测试一下。就会发现长期收益率不是特别好。可以去思考那些情况使用那些指标。

3.多因子选股

每个股民都有自己的选股理论,比如有人会看市盈率,换手率,市盈率,行业情况,成交量。 这些筛选因素很简单,但要是从几千股票里去筛选,往往需要大量精力。程序就能特别好解决这些问题。

比较专业的交易者也可以尝试一下高级的算法。比如机器学习,大数据分析等。大数据在金融交易领域应用还是处于开始阶段。从目前信息来看,大数据基金收益的还算不错,比如百度和广发证券合作的 百发指数基金,腾讯和嘉实合作的大数据基金。

5回归测试&模拟交易

如果回测效果不错,收益率,最大回撤率,Sharp值,等指标,都在可接受的范围内容,你肯定就会兴奋急着要上真实交易,甚至开始计划成立私募基金 。

但在真的实盘交易前,还需要做一两个月模拟交易(paper trading) 。很多回测效果很好的策略不一定在模拟交易时候就表现的好。历史数据是固定,回测的时候可以通过不断调整参数,让各项指标趋于完美,有时候会导致算法过度拟合,因为市场总是千变万化,太过意死板的算法是无法适应市场变化。

模拟交易最终效果一般取决于你的程序是否灵活,是否良好的风险和资金管理算法。

总结

有耐心看到这里的人,想必大部分都是程序员。可能最终你写代码不会真的拿去去实盘交易,或者上线后甚至会亏损 。但在实践过程中,可能会花几个小时或者几天去优化和思考那几十行代码。这样的经历会提高你对代码的理解能力思考的深度,而且也是一件很有意思的事情。


本文作者:李国建(点融黑帮),现就职于点融网成都团队Data Team,喜欢研究各种机器学习,爬虫,自动化交易相关的技术。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容