当前位置: 首页 > article >正文

快速入门量化交易

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"!

原作者:袁霄|慕课网讲师


近来“量化交易”这个词听得越来越频繁,多数人对量化交易的第一印象是“高大上的技术”、“可以躺着赚钱的工具”……可是,你是否真正思考过量化交易到底是什么,能帮助我们做些什么?笔者认为在开启量化交易系统的开发前,有必要先理解“量化交易”的理念,清楚“量化交易”能带给我们的是否是自己想要的。本文就从本质、发展、优势、过程等多个维度来剖析量化交易。


1. 量化交易能做什么

什么是量化交易?确切地说,量化交易属于人工智能的一个应用分支,它利用计算机的强大运算能力,用数学模型来模仿人的思维作出决策,通过数据建模、统计学分析、程序设计等工具,从股票、债券、期货的历史数据分析中得到大概率下获利的交易策略。这么说有些官方,读起来也有些绕口,其实简单地说就是如何管理输赢的概率,帮助我们作出准确的决策,就像玩德州(puke)那样,当你持有的牌胜算大时便跟进,否则盖牌,没胜算时选择不玩。玩牌时胜算的概率在我们的大脑中时刻不停地计算着,而在量化交易中利用的是计算机、数学建模、程序设计这些更高级的手段,目的是高效快速地获得胜算的概率,并据此作出决策。


2. 量化交易是怎样发展起来的

关于量化交易的发展,我们首先了解下国外的量化金融发展情况。其实在金融领域我们的目标一直是金融霸主美国,我们知道量化金融在美国的金融领域发展已经日趋成熟。这里我们不得不提到著名的交易大师理查德·丹尼斯和“量化交易之父”詹姆斯·西蒙斯这两位大佬。

理查德·丹尼斯是著名的“海龟交易试验”的发起者,也是《海龟交易法则》的创始人。为了弄清伟大的交易员是天生造就的还是后天培养的,他在1983 年招募了 13 个人,教授给他们期货交易的基本概念,以及他自己的交易方法和原则,学员们被称为“海龟”。在随后的 4 年中,海龟们取得了年均复利 80% 的收益,这就是著名的“海龟交易试验”。同学们可能会有疑问,为什么取这个名字?据说,丹尼斯有一次在新加坡时正聚精会神地观察着一个海龟农场,突然冲口说出了“我们要培养交易者,就像新加坡人养海龟一样”这句话,“海龟交易试验”正是取名于此。毋庸置疑,“海龟交易试验”是金融史上的著名实验,在实验中运用的《海龟交易法则》提供了一套完整的交易系统框架和精髓,非常适合应用于量化分析,以至于在最近几年的量化投资热浪中再一次成为热门模式。

詹姆斯·西蒙斯是量化交易的先行者,也是将量化交易带到这个时代的人。西蒙斯在 1988 年成立了文艺复兴科技公司,作为有史以来最成功的对冲基金,文艺复兴科技公司的旗舰基金——大奖章基金取得年平均 35% 左右的回报,收益远超巴菲特、索罗斯这些行业地位和他相近,但是正在使用传统交易的同行大佬们。这个数字有多牛,我们可以对比下,它比索罗斯同期的年均回报率要高出 10 个百分点,比同期标准普尔 500 指数的年均回报率要高出 20 多个百分点,巴菲特的同期水平已经高达 20%。

自 1988 年至今,量化交易在美国已经有 30 年的历史了,到目前来看程序化交易已经占到美国股票市场交易量的 85% 以上,可想而知量化交易在美国股票市场的发展到什么程度了。

我们都知道美国的金融市场成熟程度是远超中国的,美国的股市有近一百多年的历史,而中国股市成立至今还不到 30 年。回到国内来看,随着国家层面推动人工智能、大数据技术的发展,大量的量化基金产品和平台如雨后春笋一般兴起,量化交易在国内也掀起热潮。就像互联网技术改变着传统行业的模式一样,未来量化交易必定是国内金融市场的一个大的发展趋势。


3. 量化交易有什么好处

与传统的交易相比量化交易有哪些优势呢?传统的交易无论是技术面分析还是基本面分析都属于定性分析,定性分析通俗的说就是人的思维去做决策,这种高度抽象的模式在深度上会有绝对的优势。而量化交易是一种定量的分析,所谓定量分析就是刚才讲到的获得一个具体的获利概率,并依据概率选择交易的策略,因为利用了计算机的强大运算能力,所以在广度上占有绝对的优势。

我们可以把量化交易和传统的交易类比为西医和中医,传统的投资交易靠的是主观经验判断,无法给出具体的参数指标,量化交易像西医那样,靠的是仪器、设备、软件,把现象转换成参考数据为病人治疗提供依据。笔者的观点是把量化交易和传统的交易相结合,把人的思维模型抽象成为数学模型,作为交易策略运用到量化交易中,这样是最理想的情况,既不失分析深度,也能保证分析的广度,不能说是鱼和熊掌兼得,算是两者特点的互补吧。

量化交易另一个优势是可以给予我们足够的自信,帮助我们克服来自人性中的贪婪、恐惧、自负等弱点。举几个典型的交易者身上发生的例子来说明下。

比如一个交易者对市场分析后,决定第二天买入一支股票,但在开盘后却因为一个朋友告诉他小道消息而临时改变了决策,没有买入。

又比如一个交易者用一种策略执行了 5 次交易都以亏损告终,那么他在第 6 次交易信号到来时很可能会放弃这个策略。但量化交易可以确保交易策略的严格执行,因为交易者可以确信量化交易策略经过了回测和度量分析,是具有概率上的优势的,从而心态上并不会出现恐惧和犹豫的情况。

再比如说,很多人喜欢时刻盯盘,幻想在 K 线的最低点买入、最高点卖出,其实盘中的波动是随机的。通过量化交易系统可以事先编写策略,交易者实际上并不需要过多关注盘中的价格波动,以免影响心态变化。


4. 由表及里说说量化交易的本质

量化交易的本质可以用西蒙斯的这段话概括:

    “不管多么复杂的模型,没有一个能长期不变地一直赚钱,因为市场在变化,信息在变化,我们不是机器的奴隶,只有通过不断学习,持续不断地更新自己的模型和策略,寻找市场上的规律,让我们的交易系统跟上变化本身,才能在交易市场中立于不败之地。”

既然市场在变化,信息在变化,那么过去并不代表未来,用历史数据作检验是否有意义?另外,为什么交易策略在实际交易中的表现远不如历史模拟的结果?

对于第一个问题的回答可以举个高考相关的例子。高考前学校都会定期组织模拟考来评估学生的能力,虽然最终的高考题跟模拟考不一样,但学生在模拟考中发挥的水平基本和在高考中发挥的水平相差不会太大。因此用历史数据作检验是把过去的经验作为一种参考指南,通过对过去的解读发掘出蕴藏盈利机会的重复性模式。

对于第二个问题,历史测试结果和实际结果的差异主要是由这几个因素引起的:

  •     交易者效应:其他交易者注意到了这个策略方法并开始模仿它,导致这种方法效果下降
  •     随机效应:历史测试的结果可能是一种随机性的现象
  •     最优化矛盾:选择特定的参数降低了事后测试的价值
  •     过度拟合:与历史数据的吻合度太高,市场行为轻微的变化造成效果的恶化

总体来说“随时调整,合理应变”非常重要,但是除此之外我们还需要谨记以下四点,以在交易市场中立于不败之地。

  1.     掌握优势:找到一个期望值为正的交易策略,从长期看,它能创造正的回报
  2.     管理风险:控制风险、守住阵地,否则你可能等不到创造成果的那一天
  3.     坚定不移:唯有坚定不移地执行你的策略,你才能真正获得系统的成效
  4.     简单明了:从长久看,简单的系统比复杂的系统更有生命力

5. 量化交易的过程

关于量化交易的过程,如下图所示:


首先是把历史行情、基本面信息、新闻资讯等数据进行初步清洗和处理,而后输入到量化模型中,量化模型包括了上文讲到的通过数学建模、程序设计等工具所形成的交易策略,通过分析这些数据最终产生出交易的信号,比如买什么股、什么时候买、买多少、什么时候卖这些信息。当然实际上这个过程并没有流程图显示的那么简单,这里只是让大家有个整体的概念。


6. 写在结尾

我们不惜篇幅地从量化交易本质、发展、优势、过程等各个维度剖析了量化交易概念,目的是想让大家能够正确理解量化交易。但不能过于神话它,也不能因为不了解而排斥它,就像工业革命以机器取代人力那样,量化交易本质上是一种帮助我们高效快速地管理交易胜算的工具,是人工智能的一个应用分支。它并没有那么高深莫测,最关键的仍然是交易人的思想,也就是量化交易系统的策略模型,对于能够保持长期赚钱的主观交易大神,量化交易可以帮助他赚更多的钱,而一个主观交易不能赚钱的人,使用量化交易也并不能有所起色。因此我们在掌握工具的同时,也别忘记修炼自己的交易思想。


欢迎关注「慕课网」帐号,我们会一直坚持内容原创,提供IT圈优质内容,分享干货知识,大家一起共同成长吧!

本文原创发布于慕课网 ,转载请注明出处,谢谢合作
 


http://www.kler.cn/a/15118.html

相关文章:

  • 探究IOC容器刷新环节初始化前的预处理
  • 数据库-Derby
  • 不完全微分PID控制算法
  • chatgpt训练需要什么样的gpu硬件
  • 【青牛科技】视频监控器应用
  • java基础知识全集(一篇看到爽)(持续更新中)
  • 数据库管理-第六十九期 另一种累(20230422)
  • 通用el-table 修改样式
  • 【QT5:CAN卡通信的上位机-代码练习-收发数据+布局+引用外部库+基础样例(1)】
  • C++高并发多线程学习
  • 使用QToolButton和QStackedWidget的侧边栏(SideBar)的实现与实现原理解析
  • 力扣---LeetCode88. 合并两个有序数组
  • 面试官:一千万的数据,你是怎么查询的?
  • 科学计算NumPy之Ndarray数组对象的创建、切片、索引、修改等操作汇总
  • 辨析 工作绩效数据、工作绩效信息、工作绩效报告
  • 浏览器环境线程之间的关系
  • C#非常实用的技巧
  • TCP/IP学习总结
  • Python学习之sh(shell脚本)在Python中的使用
  • 手机短信验证码登录功能的开发实录(机器识别码、短信限流、错误提示、发送验证码倒计时60秒)
  • 你不想成长,生活总会逼着你成长,阿里P8架构师分享十年学习生涯
  • 逻辑回归评分系统(mimic数据集)
  • Java设计模式-工厂模式
  • Vue打包后部署缓存问题处理方式
  • HBase正确使用方法
  • 【Linux从入门到精通】Linux常用基础指令(下)