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
1700509700
1700509701
1700509703
数据科学家养成手册 14.2 要精确还是要简洁
1700509704
1700509705
统计作为一种升降维的手段,已经成为非常重要的认知工具。
1700509706
1700509707
表示内能大小的“温度”是最平民化的统计指标。我们都知道,物体的温度表示的是物体内部分子或原子的无规则热运动动能。对大量无规则运动的原子或分子进行观测,或者对每个原子或分子的运动速度进行描述,都是不太现实的。最终,还是在宏观层面使用了“温度”这样一种方式来描述,才解决了问题。虽然“温度”和“内能”确实不能直接画等号,也确实存在内能增加而温度不增加或者温度增加而内能不增加的情况,但是温度这一指标的确完成了一种从微观大量数据到单个宏观描述数据的映射过程。
1700509708
1700509709
我们在量化研究一个对象时可能会面临这样一种困扰:不知道怎么研究才更合适。像刚才说的,使用温度来描述冷热程度,而最终描述的是宏观原子或分子的平均动能大小,这种方式适合研究对象是宏观的情况。当研究微观层面的对象时,就只能针对更小的单位去描述了,后果就是描述的对象数量会增加。
[
上一页 ]
[ :1.70050966e+09 ]
[
下一页 ]