认识 K 线,从零开始
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了认识 K 线,从零开始相关的知识,希望对你有一定的参考价值。
参考技术A 一切物体在没有受到力时,总保持静止状态或匀速直线运动状态。股票市场同样遵循此定律。因此找出这些影响股票走势的外力,对于行情的表现分析判断十分有意义。K 线某一段时期的走势会形成一较鲜明的特征形态,通过其特征形态,可以在一定程度上判断多空双方力量,分析短期价格走势。如果想在股市上有所作为就要反复研究每一根 K 线的技术含义。
K 线也称蜡烛线、日本线、阴阳线,以一条柱状线来表示一定时间的开盘价、收盘价、最高价、最低价,如图所示:
一般来说,我们可以从K线的形态判断出交易时间内的多、空情况。所谓看“多”,就是看“涨”的意思,所谓看“空”,就是看“跌”的意思。具体方法为三步:一看阴阳,二看实体大小,三看影线长短。目前国内大盘多数是以红色代表涨,绿色代表跌,和国外相反。下面我介绍一下常见的几种 K 线图。
上边两种图分别叫做实体红 K 图 和实体绿 K 图。实体红 K 图代表多头强劲,市场有强烈的做多欲望,此时可持股待涨。实体绿 K 图,代表市场完全进入恐惧状态,如果是从高位拉出这么一根黑K线,则一定要卖出,这往往意味着行情接下来往下走。
这种带有上影线和下影线的红 K 线,代表着多方略胜一筹,从K线实体的收盘价距离最高价这一段是该股的阻力区,次日在这一价格区间一定要留意,如果你是短线客,在次日未能突破这一区域,加上量能萎缩,则应出局。
这种带有长上下影的黑K线说明此时暂不宜进场,等拉回整理完毕出现买点时再介入,或是日后出现带量突破该 K 线的最高点时可进场。
这种带上影线的红 K 线说明,多头在攻击时在收盘价以上的地方收阻,次日若能放量则攻下并覆盖今之的上影,若不能放量,则向上的方向不够确定,应当整理几日再选择方向。
这种带下影线的红 K 线,称为光头阳。这种K线若出现在支撑位,可以重仓出击,90%情况下,代表调整结束,方向向上。如果出现的高价区,这里所说的高价区是高得离谱的价位,则不要盲目追进,有可能是庄家拉高骗技术派进场接货。
炸弹线的参考价值很高,它传递一种市场已经转势的信号,在高位突然拉出炸弹线的话,正如这种图形给人的直观印象一下,方向坚定地往下,在很多时候,股价跌破支撑位,往往是以炸弹形式跌破,这时更应迅速离场,跟着别人跳水是没有错的,这种情况不能拖延,这是非常危险的信号,往往次日就跳空低开一路向下,再也没有接你下山的机会了。
这种绿 K 线告诉你,虽然开盘后就受到猛烈的打压,但是在收盘至最低价这一区间有多头的反抗。收盘价至开盘价是空头的基地,收盘价至最低价是多头的阵营。这种图形往往在整理态势中出现,或者在巨量大长阳的第二天出现。
出现在高档:股价拉回机会较大,暂时观望。
出现在低档:多属清洗浮额的阶段,日后若遇突 破高点则可逢低介入,若突破后又逢跌破底 点则应出脱持股。
出现在低档:安全性高,股价应是短期底部或是 接近底部。
出现在高档:又逢爆大量且无法收高,变盘反转 的机会较大。
十字星线无论出现在高点还是低点,都意味着市场将转势,即往相反的方向运行。
跳空涨停,往往是特大利好消息首次公布,直接被大买单封涨停。这个时候一般散户是买不到筹码的,往往次日连续涨停。跳空跌停则说明该股处于利空之中,大家纷纷不计价格的抛售手中的股票,市场看淡。
无数的 K 线组成了一幅连续的K线分析图,每根 K 线都有其自身的含义。但是K线图和K线图形态是不同的概念。前者泛指单根K线的形状和意义,而后者则是指由两根及两根以上的K线组合所形成的某种形态,而该形态通过K线之间的对比,预示着某种价格的运动轨迹,因而上升到了技术分析的层面。
以最简单的两根K线来说,在分析它们的时候,要考虑两根K线的阴阳、高低、上下影线,然后把单根K线的意义与前一根K线的意义相比较,基本上就可以知晓过去价格发生的由来,及后一日后价格大致的运动空间。
K线是初级股民学习技术分析首先要攻下的一道难题,但是学会与学精,差之千里。本篇只简单的教您如果看懂K线,至于能不能运用好,还要看您的悟性,K线其实就是一张股市战争图,K线的背后反应的是投资者的心理变化。
K 线形态是历史重演重要的角色之一。掌握经典的特征形态能帮你看清市场阶段性状态,以及预测后市一定时期的表现。规律性形态必须既有上升也有下跌。
从零开始人工智能AI-k-nn-矩阵
参考资料:
https://baike.baidu.com/item/%E7%9F%A9%E9%98%B5/18069?fr=aladdin
http://blog.csdn.net/c406495762/article/details/75172850
基础概念:
#0取行数,1取得列数
import numpy as np
dataSetSize = dataSet.shape[0]
diffMat = np.tile(inX, (dataSetSize, 1)) - dataSet
tile第二个参数为元组,元组第一个参数代表复制的个数,纵(list的个数), 第二个参数为横向(单个list中的元素复制的份数)
例如:
>>> a=[0,1,2] >>> b=tile(a,9) >>> b array([0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]) >>> >>> b=tile(a,(9,2)) >>> b array([[0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2]]) >>> b=tile(a,(9,1)) >>> b array([[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]) >>> b=tile(a,(9,12)) >>> b array([[0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]])
矩阵减法
>>> a array([[101, 20], [101, 20], [101, 20], [101, 20]]) >>> b array([[ 1, 101], [ 5, 89], [108, 5], [115, 8]]) >>> a-b array([[100, -81], [ 96, -69], [ -7, 15], [-14, 12]])
#二维特征相减后平方
sqDiffMat = diffMat**2
>>> c array([[100, -81], [ 96, -69], [ -7, 15], [-14, 12]]) >>> c**2 array([[10000, 6561], [ 9216, 4761], [ 49, 225], [ 196, 144]])
#sum()所有元素相加,sum(0)列相加,sum(1)行相加
sqDistances = sqDiffMat.sum(axis=1)
>>> d=c**2 >>> d.sum(axis=1) array([16561, 13977, 274, 340]) >>> d.sum(axis=0) array([19461, 11691])
#开方,计算出距离
distances = sqDistances**0.5
>>> f=e**0.5
>>> f
array([ 128.68954892, 118.22436297, 16.55294536, 18.43908891])
sortedDistIndices = distances.argsort()
#定一个记录类别次数的字典 ,按大小排序,打印index
>>> f array([ 128.68954892, 118.22436297, 16.55294536, 18.43908891]) >>> g=f.argsort() >>> g array([2, 3, 1, 0])
取出前k个元素的类别
>>> for i in range(3): ... print(i) ... labels[sortedDistIndices[i]] ... 0 ‘动作片‘ 1 ‘动作片‘ 2 ‘爱情片‘
>>> for i in range(3): ... voteIlabel = labels[sortedDistIndices[i]] ... classCount.get(voteIlabel,0) ... 0 0 0 >>> for i in range(3): ... voteIlabel = labels[sortedDistIndices[i]] ... classCount.get(voteIlabel,0) + 1 ... 1 1 1
#key=operator.itemgetter(1)根据字典的值进行排序 #key=operator.itemgetter(0)根据字典的键进行排序 #reverse降序排序字典 sortedClassCount = sorted(classCount.items(),key=operator.itemgetter(1),reverse=True) print(‘#######‘,sortedClassCount)
classCount~~~~~~ {} classCount~~~~~~ {‘动作片‘: 2, ‘爱情片‘: 1} ####### [(‘动作片‘, 2), (‘爱情片‘, 1)] 动作片
第一段代码总算跑通了,虽然到现在为止还不理解什么事人工智能,哈哈,
以上是关于认识 K 线,从零开始的主要内容,如果未能解决你的问题,请参考以下文章