和大叔走大数据应用之路

利用Python编写量化交易项目理性投资股票(一)

2019-06-12  本文已影响264人  __method__

学习目标

量化交易以计算机强大运算能力为基础,运用数据建模、统计学分析、程序设计等工具从历史数据中得到大概率下获利的交易策略。未来量化交易必定是金融市场的一大发展趋势,Python+作为金融行业的标准编程语言广泛应用在量化交易领域,它与量化交易堪称完美组合。初学者进阶量化交易应当是个循序渐进的过程,基于此,笔者将量化交易学习分为基础阶段、中级阶段和高级阶段:&oq=量化交易以计算机强大运算能力为基础,运用数据建模、统计学分析、程序设计等工具从历史数据中得到大概率下获利的交易策略。未来量化交易必定是金融市场的一大发展趋势,Python+作为金融行业的标准编程语言广泛应用在量化交易领域,它与量化交易堪称完美组合。初学者进阶量化交易应当是个循序渐进的过程,基于此,笔者将量化交易学习分为基础阶段、中级阶段和高级阶段。

内容

1、深入理解量化交易的本质、发展、优势、意义和过程。
2、掌握基础工具的使用方法,如 Python、Pandas、NumPy、Matplotlib、TA-Lib、Tushare、Statsmodels 和应用数学等。
3、掌握常用的金融交易技术指标实现方法,如 K 线、均线、成交量、KDJ 等。通过学习,我们能够绘制出股票行情软件中的分析界面以捕捉个股动向,效果展示如下图所示:

4、掌握常用的量化交易策略的实现方法,如择时、选股、风险控制、度量等。通过学习,我们可以制定量化交易策略以及度量策略效果,应用交易策略来辅助股票交易,效果展示如下图所示:



5、掌握量化交易系统人机交互的实现方法,以制作自己的量化交易工具为背景将本专栏知识点贯穿汇总,呈现整体的交易工具雏形,效果展示如下图所示:


学习目的

学习量化交易这门课程有什么作用呢?首先 Python 只是一门技术,最终还是要将这门技术应用到一个行业中的,而量化交易这个行业目前正处于快速发展阶段,对人才的需求非常大,特别是对具备一定量化交易背景的人才,本专栏整体的学习可以让大家对量化交易这个领域有一个深入的了解,对于准备跨入量化交易领域的同学有所帮助。另外本次会涉及大数据分析、数学建模一些思想,以及一些 Python 第三方库的讲解和编程教学,这些技术是可以在相关的领域去应用的,对于准备从事大数据分析和人工智能领域的同学同样有所启迪。对于和我一样喜欢股票投资、期货投资这类交易的金融爱好者来说,将量化交易辅助主观交易,通过设计一些股票或者期货的交易策略,能够在金融市场上有所收获,为自己拓宽投资理财的渠道和方法。

学习大纲

本专栏大纲以量化交易的整体流程结合由浅入深的学习过程进行设计和制定。
量化交易的整体流程如下图所示:



首先是把历史行情、基本面信息、新闻资讯等数据进行初步清洗和处理,而后输入到量化模型中,量化模型包括了数学建模、编程设计等工具所形成的交易策略,通过分析这些数据最终产生出交易的信号,比如买什么股、什么时候买、买多少、什么时候卖等信息。当然实际上这个过程并没有流程图显示的那么简单,这里只是让大家有个整体的概念。
分解量化模型可以看到模型是通过各种策略来实现的,常见的策略有均线策略、Alpha策略、布林带策略、海龟策略、动量策略等等,也包括自主开发的策略,不过要良心的声明下凡是公开的、用的人多的策略,基本也就不赚钱了,当然并不影响我们学习这些策略从中借鉴其中的精髓,站在巨人的肩膀上看问题。策略层再往下分解则是我们熟悉的 Python、Pandas、Matplotlib、NumPy、统计学、数学模型这些基础工具。我们会讲解Pandas、NumPy、TA-Lib 等专用库实现股票交易策略的设计,也会讲解使用 Matplotlib 库实现股票交易的可视化图形,同时在交易策略设计中会讲解数学模型、统计学相关的知识。
数据是量化策略的基础,关于数据的获取,我们会讲解使用 Tushare、Pandas 数据抓取模块来获取金融数据,也会使用 Pandas、NumPy 库对原始数据进行规整化的处理。



关于 TA-Lib、Tushare 之类的工具库本身的优势即是提供简单的 API 供使用者调用,我们的讲解也是围绕着实际应用场景,在交易策略设计中进行详细介绍。

课程环境

Anconda+JupyterNoteBook+py3.7.1

深入剖析量化交易

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

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

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

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

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

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

量化交易的主要流程:

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

本次小结

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

上一篇下一篇

猜你喜欢

热点阅读