它能让你的交易效率提升百倍,量化交易之于传统交易方法,如同大型收割机之于锄头镰刀,机枪大炮之于刀剑棍棒。python
也就是是说,传统交易方法是这样的 而量化交易是这样的:
程序员
量化交易是指借助现代统计学和数学的方法,利用计算机技术来进行交易的证券投资方式。便于理解的说,量化交易主要是作这样的事:编程
灵感就是指那些你想验证的可能会盈利的方法,好比银行股多是良好的投资品种、一旦跨过20日均线后股价会继续涨、流传许久的羊驼交易法等等。灵感获取的方式能够是阅读、听人说、本身悟等等。工具
这里咱们以一个简单的状况为例进行讲解。好比你的灵感是这样的:学习
若是股价显著低于近几日的平均价,则买入 若是股价显著高于近几日的平均价,则卖出
如今,你想知道这样操做究竟会不会赚钱?spa
通常灵感都很模糊,须要将其细化成明确的可执行的策略,目的是为了能获得肯定的结果,以及为后续程序化准备。好比,你经过阅读了解到索罗斯的反身性概念,想将它应用到股市,这个反身性就很模糊,就须要明确什么条件下买卖,买卖什么品种,买卖多少许等,从而造成一个明确的交易策略,让不一样人根据你的描述在相同情形下都能作出相同的操做。翻译
继续以以前那个关于平均价的灵感为例:code
若是股价显著低于近几日的平均价,则买入 若是股价显著高于近几日的平均价,则卖出
显然它是不够明确的。好比多低叫显著低于?多高叫显著高于?近几日到底是几日?买入卖出是买卖多少?咱们把它细化:blog
若是股价低于近20日平均价10%,则用所有可用资金买入 若是股价高于近20日平均价10%,则卖出所有所持的该股票
还有一点不明确的地方,买卖哪一个股票呢?咱们认为这个交易方法盈利与否应该跟交易哪一个股票关系不大,但st股票除外(知道st股票是一类有风险特别大的股票就好,详情请百度),因此股票的选择范围是除st股外的国内A股的全部股票。因此咱们进一步细化:get
每一个交易日监测是除st股外的国内A股的全部股票的股价 若是股价低于近20日平均价10%,则用所有可用资金买入该股票 若是股价高于近20日平均价10%,则卖出所有所持有的该股票
如今咱们基本已经把以前的灵感细化成明确的可执行的交易策略。固然,可能还有些地方不够明确,也可能有些细节还不肯定要改动,这些能够随时想到随时再改,没必要一次作到完美。
就是把明确后的策略经过编程转成程序,好让计算机能根据历史数据模拟执行该策略,以及能根据实际行情进行反应并模拟交易或真实交易。
简言之,就是把刚刚的策略翻译成计算机可识别的代码语言,即把这个:
每一个交易日监测是除st股外的国内A股的全部股票的股价 若是股价低于近20日平均价10%,则用所有可用资金买入该股票 若是股价高于近20日平均价10%,则卖出所有所持有的该股票
写成相似这样的代码(下面的代码并不彻底符合,只是展现下大概的样子):
def initialize(context): g.security = ['002043.XSHE','002582.XSHE'] def handle_data(context, data): for i in g.security: last_price = data[i].close average_price = data[i].mavg(20, 'close') cash = context.portfolio.cash if last_price > average_price: order_value(i, cash) elif last_price < average_price: order_target(i, 0)
这样一来,就把刚才细化好策略转成了代码程序,计算机就能运行了。这个过程你能够理解成用计算机能听懂的语言(代码),把你的策略告诉给计算机了。
如今计算机理解了你的策略,你如今能够借助计算机的力量来验证你的策略了。基本的检验策略方法有回测和模拟交易两种方法。
回测是让计算机能根据一段时间的历史数据模拟执行该策略,根据结果评价并改进策略。继续以前的那个均价的策略例子的话就是这样的:
设定初始的虚拟资产好比500000元、一个时期好比20060101到20160101,把这一时期的各类数据如估计股价行情等发给计算机,计算机会利用这些数据模仿真实的市场,执行你刚才告诉它的策略程序。最后最后计算机会给你一份报告,根据这个报告你就会知道,在20060101的500000元,按照你的策略交易到20160101,会怎样?通常包括盈亏状况,下单状况,持仓变化,以及一些统计指标等,从而你能据此评估交易策略的好坏。
若是结果很差,则须要分析缘由并改进。若是结果不错,则能够考虑用模拟交易进一步验证。
模拟交易是让计算机能根据实际行情模拟执行该策略一段时间,根据结果评价并改进策略。与回测不一样,回测是用历史数据模拟,模拟交易使用实际的实时行情来模拟执行策略的。举例就是这样:
可见,回测是用历史数据模拟执行策略,模拟交易是用将来的实际行情模拟执行策略。若是策略在回测与模拟交易的表现都很是好,你能够考虑进行彻底真实的真金白银的实盘交易。
进行实盘交易并不断维护修正
量化交易的价值有不少,只提下最突出的价值所在。
能够利用大量历史数据检验策略,效率提高百倍。当咱们想验证交易策略的时候,一个基本的想法是想知道它在历史上表现如何,这每每须要大量的历史数据与计算量,量化交易作一次回测可能几分钟就能够获得结果了,相比于传统人工作法效率的提高是成百倍的。
更科学更客观的衡量交易策略的效果。好比一个关于某技术指标的策略,人工的进行了10个交易日的验证,效果都不错,但这就能说明这指标不错吗?不,10次太少了,你须要更多的验证,好比1000个交易日,人工验证不可行,量化交易则又快又准。并且量化交易还能够利用数学与统计学自动给出客观的结果,好比年化收益率、最大回撤率、夏普比率等。
全市场实时捕捉交易机会。当你知道一个盈利条件,当股价一旦知足这条件,你就能够操做盈利。问题是,市场几千个股票,股价时时刻刻都在变更,你能盯住几个,你会错失多少个机会。但量化交易能够利用计算机全市场实时盯盘,能够不错过任何交易机会,加倍你的盈利能力。
更多的盈利机会。量化交易能够利用计算机对海量数据分析获得常人难以发现的盈利机会,并且有些机会只有量化交易才能利用。好比你发现一种交易方法,其特色是盈亏的额度相等,但盈利的几率是55%,亏损几率45%。首先这种小差距的几率规律,非量化交易不能发现,其次,要利用这个规律盈利须要大量次数的交易才能稳定盈利,这也非量化交易不可。
一般一个投资者作量化交易所须要作的准备,就如同让一个农民本身去造一个大型收割机,并且仍是从挖矿开始作起,极度困难,因此量化交易最初在金融与科技最为发达的美国由少数顶级精英发起的。
要有各类数据。要有能方便使用的各类投资相关的数据。这要考虑到各类数据的收集、存储、清洗、更新,以及数据取用时的便捷、速度、稳定。
还要有一套量化交易的系统,要有能编写策略、执行策略、评测策略的系统。这要考虑到系统对各类策略编写的支持、系统进行回测与模拟的高仿真、系统执行策略的高速、系统评测策略的科学可靠全方面。
可能有人会问,作投资以前难道要学当程序员吗?曾经是,但如今量化交易的门槛已大大下降。
聚宽是一家量化交易平台,为投资者提供作量化交易的工具与服务,帮助投资者更好地作量化交易。也就是说,在聚宽量化交易平台,“大型收割机”已经为你准备好了,不须要你本身造了,你只须要学会使用它。