打字猴:1.70050965e+09
1700509650
1700509651
1700509652
1700509653
1700509654 图14-1 数据立方体
1700509655
1700509656 SELECT SUM(XXX)GROUP BY XXX
1700509657
1700509658 之后,就会忽略一些我们不那么关心的维度数据,并将一个确定的加和值返回,从而代替数以万计的具体销售记录。这种就是典型的降维认知——只关注最为关键的数据维度,只关注一个统计值而非单个个体值。
1700509659
1700509660 除了降维认知以外,升维认知(如图14-2所示)的使用也很广泛。
1700509661
1700509662
1700509663
1700509664
1700509665 图14-2 升维认知
1700509666
1700509667 在表示股价或期货价格的K线图(如图14-3所示)中,横坐标是时间,K线图上的每一个柱形都表示4个价格信息,分别是开盘价、高价、低价、收盘价。这种数据蕴含的信息看上去很贫乏,因为只有时间和价格,对市场多空情绪的反映有些不直观。所以,股票分析家们又发明了很多技术指标,这些指标无一例外,都是用K线图上的数据进行计算所得到的升维指标数据,MA(Moving Average,移动平均线)的计算就是其中之一。
1700509668
1700509669
1700509670
1700509671
1700509672 图14-3 股票价格K线图
1700509673
1700509674 在一个MySQL数据表Price中有字段CLOSE作为收盘价的字段(如表14-1所示)。
1700509675
1700509676 表14-1 Price表信息
1700509677
1700509678   TIME     CLOSE     2016/10/3     104.15     2016/10/4     102.33     2016/10/5     102.25     2016/10/6     101.54     2016/10/7     101.86     2016/10/10     102.43     2016/10/11     102.90     ……     ……   计算收盘价MA,应该使用下面的步骤。
1700509679
1700509680
1700509681
1700509682
1700509683 以3天移动平均线指标为例,先建立一个以ROW_NUM为升序伪列的表。
1700509684
1700509685 SET @ROWNUM=1;    CREATE TABLE TEMP ASSELECT @ROWNUM:=@ROWNUM+1 AS ROW_NUM,TIME,CLOSEFROM PRICEORDER BY TIME;
1700509686
1700509687 建立一个指标表放置MA数据。
1700509688
1700509689 CREATE TABLE EMA ASSELECT  R3.ROW_NUM, R3.TIME,(R1.CLOSE+R2.CLOSE+R3.CLOSE)/3 AS MAFROM(  SELECT ROW_NUM, TIME, CLOSE  FROM  TEMP)AS R1LEFT JOIN(  SELECT ROW_NUM, TIME, CLOSE  FROM  TEMP)AS R2ON R1.ROW_NUM=R2.ROW_NUM-1LEFT JOIN(  SELECT ROW_NUM, TIME, CLOSE  FROM  TEMP)AS R3ON R2.ROW_NUM=R3.ROW_NUM-1;
1700509690
1700509691 这样,MA列中就是3天移动平均线的值了。
1700509692
1700509693 同理可以计算任意多天的移动平均线的值,也可以考虑用游标等技术实现。一些技术流分析人员观察短期移动平均线上穿或下穿长期移动平均线的情况,并以此作为入场信号,因为这体现了近期变化的趋势改变,这种方式要比直接观察K线图容易很多。此外,EMA(Exponential Moving Average,指数平滑移动平均线)、MACD(Moving Average Convergence Divergence,指数平滑异同移动平均线)、RSI(Relative Strength Index,相对强弱指标)、BOLL(Bollinger Bands,布林线指标)等指标也是通过对K线图上价格数据的统计计算得到的,对分析价格数据有很大的辅助作用。这些引入的指标给人们提供了更多关于市场价格的认知维度,虽然它与原始的K线图价格维度不是正交的,但同样带来了信息。分析师们会通过这些新加入的维度,以及已有K线图上开盘价、高价、低价、收盘价的数值,进行有关是否到达支撑位置、是否形成有效突破等市场情况的判断。现在你不会觉得这些简单的SQL语句没有档次了吧?
1700509694
1700509695 在结合信息论的相关理论后,一些读者可能会有疑问:这些信息量都已经包含在原始数据中了,这种升维操作应该是一种没有信息量的数据信息,那么这种升维还有意义吗?这个问题可以这样理解。首先,信息论研究的问题仅仅是数据中蕴含的信息量的问题,讨论的是围绕信息量的传输、压缩等一系列“失真”或“非失真”程度的问题,这是它的研究边界。而我们刚刚讲到的,维度中蕴含的信息即使已经处于信息量的下界,也只是不能被更短的数据来表示而已,并不意味着这些信息对人类进行认知而言已经足够“好”了。想想看,这些数据信息中至少不包括升维或降维算法的信息,如果要说信息量的话,这部分同样应该归入整个讨论的边界。在升维后体现出来的新的或者原来不直观的特性,很可能帮助我们找到一些新的认知线索。这就是数据统计的意义。
1700509696
1700509697 升维也好,降维也罢,都是把维度调整到的合适的程度来归纳和认知,具体的理论依据会在第16章介绍。
1700509698
1700509699
[ 上一页 ]  [ :1.70050965e+09 ]  [ 下一页 ]