zoukankan      html  css  js  c++  java
  • 量化小科普【什么是量化?常用的股票量化指标、如何搭建量化交易系统】

    前言:

    今天起准备开启全新的一门课程的学习之旅,如标题所示,python量化交易相关的领域,理财+编程相关的知识。其实吧,关于理财相关的学习去年底就已经萌发了,一直是没有付出行动而已,所以在8月的开头打算付出行动。

    关于股票和基金,对于程序猿们而言基本上人人都或多或少的接触过,也不一定是程序猿吧,对于想挣“睡后”收入的应该它们俩是大多数人认为最直接有效的,因为只要选上一个股票或基金,合适的机会买卖既可,不费力不费时,嗯,同时伟大的“韭菜们”也都纷纷出现了,我也很自豪的能成为其中一员,当然既然是韮菜中的一员,被割是不可能避免的,但是呢,丝毫不影响我想要学习投资的脚步,对于这门python理财课我觉得通过它一是可以学学投资相关的一些金融知识,二是又可以来领略一下怎么利用python来达到一种量化交易的目的,关于python这门语言在学习线性代数时就已经初步领略过了:

    这次再次来感受一下它在投资领域上面的一个魅力,期待理财+技术两个领域的知识为自己所吸收利用,当然对于A股的投资不可能靠学一门课程就能让你百分百挣到“睡后”收入,但是在你懂得了一些理财的思想之后,对你未来的理财道路上肯定是有利无害的,所以,加油~~

    什么是量化?

    量化:

    “在语言和逻辑层面,用量词指定一个谓词的有效性的广度的构造”, 是不是这句话太抽象了,这里分别来理解标红的词,先来回忆一下啥是谓词:

    再来理解“量词”,它是指定谓词的有效性的广度的构造,很明显它是用来表达这个谓词的一个广度问题的,举几个“量词”的例子:一些【他跑得快一些】、很多、所有,这些形容词都是表示量化的概念,稍加了解一下。

    量化交易:

    而通常的量化指的就是量化交易,它指的是针对可交易的投资商品【如股票、基金、债券等】,根据它们真实的历史数据,理性地运用逻辑分析和归纳统计判断市场的趋势【未来的涨跌幅,买卖点之类的】,这么一个过程就是量化,而标红的“逻辑分析和归纳统计”就是所谓的量化交易策略,可以简单理解成“炒股公式”,不同的人其公式肯定也是不一样的对吧,下面就来看一下都有哪些量化策略。

    有哪些量化策略:

    赚钱“因子”:

    对于量化策略能赚钱的因子其实是分为两大类:

    这个对于炒股的人来说应该非常熟了,基本面分析也就是倾向于“价值”投资,而技术面分析则就是偏技术派,是完全不同的两个风格,为了更进一步对这俩类有一个清晰的对比,给出如下几个指标:

    • 股票收盘价
    • K线(日/周/月/年)
    • 均线(5/10/20/60日)
    • 居然消费指数
    • 人均国内生产总值(GDP)
    • 净资产收益率(ROE) 

    将它们进行归类,也比较容易,如下:

    这么一对比就可以很容易的发现:技术面分析它更关注基本商品“价格”相关的数值和合成的指示,而基本面分析更关注企业的本身和宏观经济大的市场环境的变化【比如大盘不好,外围环境不好,你想通过炒股挣钱是不是很难?比如今年年初股市的暴跌, 就是因为市场的外在环境变化了,对于基本面分析比较敏感的人肯定此时会抛售股票来保证资金安全】

    赚钱:

    接下来则以量化分析目的的角度出发,来看一下量化交易还有哪些不同的策略呢? 对于分析的目的其实很明确----为了赚钱,那么怎么赚钱呢?其实道理也很简单,就是:低买高卖,嗯,那么核心的问题来了:股价什么时候便宜?什么时候贵?凭感觉么?很显然是不靠谱的,所以此时就可以借助了如下的一些指标。

    指标:

    接下来了解一下常用的买卖指标有:

    1、通过均线,来判断股价合适的买入时机;

    2、通过分析企业的盈利能力,它的性价比,来进行选股,来判断它是不是值得投资的公司;

    3、通过分析不同行业或个股的周期性,俗称的“分析热点”,来进行股票的买卖;

    而不同的策略其对应的数值也是不一样的,比如对于选股策略来说,它的数值可以是净利润、公司现金流等,而板块轮动可以利用行业指数的涨跌幅进行判断等,对于这些量化策略相关的东东在未来会逐一学习到的。 

    常用的股票量化指标:

    概述:

    对于股票的量化指标其实也比较容易了解到,因为可以在主流的一个金融平台进行了解,这里列举一下查找的渠道:

    • 财经网站:新浪、雅虎、东方财富等;
    • 证券公司:中信、中金、国信、天风、招商、光大等;
    • 炒股平台:同花顺、通达信、大智慧等; 

    这里以比较有名的“东方财富”为例进行一些指标的学习,注意:这里只是一个整体的了解,每个指标的含义也不可能一下就能掌握,了解它们的目的是先建立一些金融的基本概念,为之后的学习打下基础,先来打开东方财富网站:https://www.eastmoney.com/

    然后点击“个股”:

    其中引入眼帘的就是各种指标的展示:

    此时可以查看一个股票的详情,这里以“五粮液000858”为例:

    下面则从技术面和基本面来对它进行一个整体了解。

    技术面:

    k线图:

    关于k线图是啥就不多说了,这里点击“全屏”就可以更好的查看k线形态了:

    先来对一个K线中的“蜡烛图”有一个简单的了解:

     

    以这个阴线为例:

    也就是收盘价要低于开盘价,当然这一天就是跌喽,另外还有上下两个引用,也是一个k线的组成部分:

    所以每一根k线就有如下信息:

     

    其中涨跌幅就是跟昨天的价格对比所算出来的一个百分值,关于蜡烛图这块的知识点也非常之多,有兴趣的可以自行找相关的教程去学学,一大堆形态。

    BOLL指标

    接下来为了了解指标对于股标择时及选股的作用,这里先来看一下主图指标的BOLL指标:

    那么先来了解一下这个指标的大概意思:

    先来对这三根线的计算方式有一个基本了解:

    • 中轨线=N日的移动平均线,也就是N日内的收盘价之和÷N,这里的N一般是指20天。
    • 上轨线=中轨线+两倍的标准差
      标准差是啥意思呢?可以理解为一个股票近多少天的波动幅度,波动幅度越大,标准差就越大,它的计算公式为:
    • 下轨线=中轨线-两倍的标准差

     而上下轨之间的一个空间,则代表的是股票的常规活动空间,也就是:

    那用BOLL来做择时时如何用呢?基础的用法就是“当股价跌破下轨时可以选择买入,而当股价涨到突破上轨时选择卖出”,下面以k线图进行理解:

     

    虽说不是卖在最高点,但是其利润也比较好了,也有15个点了(15%),当然,要是炒股有这么容易人人都可以成为富翁了,所以必须要知道任何学习的炒股技法只是一个辅助,别上瘾就成,尤其是在中国大A股的国情下一切情况皆有可能,大家都懂的,所以,这里是为了纯学习,不用太过较真。

    通过这个例子,是不是可以用BOLL线来找到股票的买卖点了,这其实也就是它的作用,不过!!!下面再来看一个情况:

    MACD:

    那有没有另一种附加指标能让我们在BOLL突破上轨时还能多拿一段时间呢?有,MACD,先来看一下它是啥?

    回到咱们这支上来:

    但是呢,你如果只看快移动平均线突破了慢移动平均线就继续持有,那么,你会发现这么一个情况:

    是的,所以说不要迷恋公式,具体买卖还得结合自己的一个预期收益来决定,这里只是说明,在用了BOLL指标之后,再结合 MACD指示可以让你持得更久一点,针对这个场景也能看出有多个决策:

    1、在BOLL指标中,当K线突破了上轨之后,此时再结合MACD看一下是否快移动平均线已经突破了慢移动平均线,如果已经突破,可以再持几天观察观察,如果没突破立马卖掉。

    2、在BOLL指标中,按照自己指定的预期收益率来卖出,比如15%是自己的一个预期卖出点,那么BOLL指标中即使K线也没有突破上轨,但已经达到了个人的预期的收益了,那么坚决卖出,之后的涨跌就与自己无关了,这也是一种决策。

    所以,其实决策的有效性及复杂性完全取决于市场的复杂程度和自己的选择对吧,自己预期小一些少赚一点为了资金安全好么指标的成功率也会较高,而也可以通过的不断添加判断条件让自己的收益率真增大, 但是一定要记得,市场是在不断变化的,而量化交易也是不断在发展中,一个策略不可能“永远”有效,需要不断的观察和优化。

    在之后会学习到如何用python来使用均线来找到买卖点,也会学到如何利用成交量来进行选股,所以,一点点来循序渐进。

    基本面:

    如之前所说,除了技术面之外,还有分析个股基本面来进行择时选股的,所以接下来从宏观的角度来看一下基本面的分析一般是分析啥?

    F10档案--财务分析:

    在个股详情页面顶部有么一个区域:

    为啥叫F10档案呢?如果熟悉使用一些证券交易电脑端软件应该都比较熟,按F10键就能调出所有该股票公司的档案,所以这里也是叫F10档案了,然后我们分析公司主要是看公司的盈利情况对吧,所以选它:

    打开之后,可以看到有季度的,也有年度的:

     

    这是因为每个上市公司每季度每年都“必须”对外公布企业的财务、业务发展等情况,目的是为了让投资者了解自己的投资标的,其中第一季度发布的叫一季报,第二季度发布的叫半年报【包含第一季度的数据,也就是总共6个月的数据】,第三季度发布的叫三季报【只有第三季度的数据】,第四季度发布的叫年度报【包含一整年的数据】,而所有的上市公司在四月前都会发布完自己的年报,所以说通常也是投资者作为分司自己标的最好的一个参考信息,因为数据最全。

    年报:

    那怎么看公司的几个季度财报的信息呢?一是可以上财富网上看:

    其中要注意:每个都是一季度的信息,比如20-06-30,只包含第二季度的信息,不包含之前第一季度的,这一点跟下面要说的“按报告期”是不一样的。

    也可以按年度来看:

    另外还可以按报告期来查看,它跟“按单季度”不一样的是不是每次都是一季度的,还是拿20-06-30说明,在这里就会包含之前一季度的信息了:

    不过这里记录的肯定不是很详细,最详细的就是看一下公司的年报了,那怎么找到股票公司对应的年报呢?其实就是上证券交易所的官网上就能找到,像咱们现在看到的五粮液不是深圳A股的么,可以上深圳证券交易所官网去搜一下:http://www.szse.cn/,但是更好的方式是可以上巨潮资讯http://www.cninfo.com.cn/new/index网去搜索,因为它包含了深沪两家证券公司的信息,比较方便,如下:

    打开,瞅一眼多少页。。

    所以可见要真的能读懂公司的财报还是相当相当难的,需要自己花大量的时间,当然啦,这个待未来有时间再专研,目前就是泛泛的过一下,看一下整体的目录:

    其中可以看到各种数据报表,比如合并资产负债表:

    当然目前对于这些数字也是天书一般,不过这里只要明白所有的源数据都是来源于年报里面就ok了,这个是非常重要的,因为错误的数据就会导致错误的策略结果。

    如何用财务数据来选股呢?

    接下来就来看一下如何用财务数据来选择标的,再分析之前,首先想一下要让来选择一家公司作为自己的投资标的?

    1、挣钱的公司;

    2、股价稍便宜一点;

    所以按着这个思路,下面首先来找挣钱的公司。

    利润表:

    而挣不挣钱直接的表现就是看公司的利润数据,所以可以看一下利润表:

    还可以看一下现金流量表:

    其中有一行数据:

    它表示实际账户里面的钱有多少,它是很重要的,因为有可能客户会赊账,比如本来卖了100万的货,然后客户只给了20万,还有80万没有到,那么利润确实是不错,但是账户里面没多少钱呀,所以这个指标也挺重要的。

    另外还有一个数据也挺重要:

    它指的是公司主营业务的收入,像五粮液是主营酒业的,指的就是卖酒的总收入,不包括公司的其它的比如像地产投资之类的其它收入。

    净资产收益率:

    这个数据也挺重要的,可以上这来看到:

    市盈率: 

    在这块能看到这公司的市盈率信息:

    百度一下它:

    也就是用它可以衡量该股票值不值得投资,其中Price指的是股价,Earnings指的是企业的利润(价值),它们之间的比值就是市盈率了,也就是每股的股价除以每股的净利润,其中Earnings指的是:

    或者用总市值除以近一年的净利润的总和,也就是它:

    其实这块在网页上也有解释:

    这里需要对这个概念有个大概的认识,市盈率指的是市场的价格和公司实际盈利的一个比值,换言之,对于市场的价格可以看总市值:

    如果市值很高代表市场也比较看好该股,那么该股的股价就越高,对应的市盈率就越高,这也是为啥很多好的科技公司的市盈率都很高的原因,因为市场很看好,所以愿意买这支股票,但是呢每个公司的利润都是在增长的,根据市盈率的计算公式=Price指的是股价/Earnings指的是企业的利润(价值),其中股价也在涨,企业的利润也在涨,说明分子和分母都在长,其算出来的市盈率应该也是一个差不多的值,说明这家企业是一个非常挣钱的而且估值也一切正常,对于投资者来说当前股价不是低估的,也就是价位不是很低,买入的话还是有风险的,但是某一天当你发现公司的总市值很高【说明公司是很挣钱的】,但是呢它的市盈率还挺低的【说明当前股价是比较低的,不是一个正常的股价】,说是该公司的股价是处于低估状态,此时就比较适合买入了,其实这也就是巴菲特所说的价值投资的思想

    所以通过市盈率这个估值指标能够知道你所选择的公司挣不挣钱,然后公司目前股价是否处于一个低估状态。

    如何搭建量化交易系统:

    量化交易系统的组成:

    上面花了一定的篇幅来对于金融知识进行了大概的了解,那对于一个量化的交易系统它由哪些部分组成呢?

    这里先从电脑的组成说起,对于一台电脑它的组成部分是这样的:

    那将主体由电脑换成量化交易系统,此时它的构成可以打开一个炒股软件来进行一个形象的分析:

    也就是将图表的数据用可视化的图将其输出出来。接下来还得能知道行情,也就是投资品类:

     

    其实就是指股票的价格成交信息是怎么样的。

    接下来还需要有个股信息:

    此时则需要根据个股的一些技术指标、财务数据来分析决定买入和卖出对吧,此时就可以有交易策略组件来完成:

    最后就是需要交易的部分了,也就是买卖,这里叫柜台:

    它是委托、执行交易、计算持仓、计算资金做最终结算核对的部分,也是最最不能出错的部分,所以对于一个量化交易系统需要有如下几部分:

     

    使用python实现量化交易:

    目前咱们已经知道了一个量化交易系统的构成了,那么使用python如何来实现呢?下面看一下具体的一个功能大纲:

    Data:

    指数:

    其实就是指上证50,沪深300。

    • 持仓个数:指指数所包含的股票;
    • 行情:指每日的价格、成交数据;
    • 资金流:如北向资金【从香港股票中流入大陆股市的资金】的交易额是多少。

    个股:

    • 基本信息:比如公司是做什么业务的,属于啥板块。
    • 行情:每日价格,每周价格之类的。
    • 资金流

    Strategy:

    择时策略:就是来算股票的买卖点的。

    选股策略: 用来选股用的一些手段。

    Trade:

    知道什么时候买入,什么时候卖出之后,则需要进行买卖交易委托了,然后还得需要能计算持仓的情况,收益情况,都得靠Trade这个模块了。

    Chart:

    这个就不用说了,就是图表的模块。

    总结:

    这是利用技术来学会投资理财的首篇,当然涉及到很多的一些金融的知识,纯理论,还没涉及到编程,不过我已经迫不及待的想回到编程的世界了,难道还真的能通过编程进行炒股不成,随着之后的不断深入再来慢慢体会,另外这里面的一些金融知识可能也比较片面,毕竟金融行业还是一个水很深的领域,哪能随便学了点概念就可以对炒股指点江山了,这里泛学的目的是为了之后的编程打基础,总得有个基本概念吧,不然到时用到时完全不了解那不等于是听天书一样,总之这篇对我意义比较大,终于跨出了理财学习的第一步。

  • 相关阅读:
    XSLT的Replace函数
    Predicate<T> 委托
    《人生的智慧》第二章 人的自身
    Kmeans文本聚类:获取weka计算的聚类中心,完成文本聚类
    VCKbase转载:C++调用ADO
    Kmeans文本聚类系列之如何调用Preprocess类
    Kmeans文本聚类系列之全部代码
    近期计划
    Kmeans 聚类之建立文档向量模型(VSM)
    LibSVM文本分类之结果统计
  • 原文地址:https://www.cnblogs.com/webor2006/p/15089817.html
Copyright © 2011-2022 走看看