有谁知道怎么在富途上加成交量移动成交量的加权平均价价(vwap线)指标 或者谁会添加这个指标

首先要做的就是学习如何获取数據、保存数据、读取数据

数据的获取是不是要用到爬虫啊,可是我不会怎么办

其实告诉大家一个简单的方法就是使用Python的tushare包,虽然从这個包中获取的数据可能并不完全满足我们的需要但是对于做一些简单的分析已经足够了。

打开Anaconda Prompt然后输入conda list看一看这个包有没有***,如果没有***我们可以在这个界面输入pip install tushare直接***这个包。

我们以获取“000001”(平安银行)为例:

因为我们后续内容还要用到NumPy包所以首先导叺Tushar包和NumPy。

有点遗憾的是通过这种方法只能获取最近3年的数据,如果要是做简单的分析是足够了接下来把数据保存为“csv”格式

比如我们偠读取这只股票的收盘价和成交量。

(1)首先是stock_data.csv这个是文件名,因为我使用的是notebo当我 们保存数据时,就直接保存到了home中我可以直接調取,如果使用 ipython需要输入文件的地址这一点要注意。

(2)第二个参数我们设置分隔delimiter=‘’,(采用什么符号来分割列)默认情况下是空格来分割一般我们常用英文逗号作为分隔符。

(3)第三个参数代表使用的列注意列的索引是从0开始的哦,第四个参 数unpack=True表示我们允许分拆保存不同的列比如我们单独把收盘价 赋值给c,成交量赋值给v如果是False则不可以。

(4)最后一个参数是skiprows=1代表跳过头行如果不设置的话,会出现错 误说不能将第一行的字符串转为浮点数。

2、计算股票成交量成交量的加权平均价价格

VWAP(成交量成交量的加权平均价价格)是┅个非常重要的经济学量它代表着金融资产的“平均价格”,某个价格的成交量越高该价格所占的权重也就越大,VWAP常用语算法交易

佷简单吧,我们也可以计算某一个区间的VWAP区别只是c和v要选取到某个时间区间。

第一个参数:a就是要根据权重计算的那一列或者一行数據。

第二个参数:axis代表轴也就是方向,默认是按照纵向如果axis= 1则会按照横向计算。举个例子

我们是按照横向来计算成交量的加权平均价徝如果去掉axis参数,则会报错因为纵向有3个数据,而权重只有两个所以会显示无法匹配。

第三个参数weights代表权重第四个参数returned,默认的凊况下是False此时只显示算出来的成交量的加权平均价值,如果设置returned=True则会返回一个元组这个元组第一部分是求出的平均值,第二部分是权偅的和看下面例子

一般returned参数并不常用。针对axis在numpy中的应用后面内容中我会专门作出介绍~~

3、计算收盘价的算数平均值

在经济学中。TWAP(时间荿交量的加权平均价价格)是另外一种“平均”价格的指标前面我们已经计算VWAP。时间成交量的加权平均价价格只是一个变种基本的思想就是最近的价格重要性大一些,所以我们应该对近期的价格给以较高的权重最简单的方法就是用arange函数创建一个从0 开始一次增涨的自然數序列,个数也就是收盘价的个数虽然这并不是最合适的做法,我们只是为了说明计算时间成交量的加权平均价价格这个问题

5、收盘價最大值、最小值和中位数

注意:在计算中位数的时候,如果数据个数是奇数的那么返回的就是中间值,如果是偶数则会返回中间两個值的平均数。

ptp函数可以计算数组的取值范围它也有一个参数axis,默认是axis=0是按照纵向计算,如果axis=1则按照横向计算。

我们通常很关注股票的收益率这个收益率包括简单收益率和对数收益率。简单收益率是指相邻两个价格之间的变化率而对数收益率是所有价格取对数后兩两之间的差值。

(1) 计算简单收益率

我们可以使用diff函数计算相邻数组元素的差值,构成一个数组然后用这个数组除以前一天的价格。这里千万要注意因为diff计算出来的是后一日减去前一日的差值,因此返回的数组中元素个数会比收盘价少一个。在选择除数的时候峩们也要注意,不能将收盘价的最后一个元素作为除数

我们也可以利用之前学过的map函数计算收益率大于0 的天数。

我们同样可以计算这只股票收益率的标准差看看投资风险的大小。

因为对数收益率是相邻价格对数的差值

我们发现对数收益率大于0 的天数和简单收益率大于0嘚天数一致。

在投资学中波动率是对价格变动的一种度量,就是历史波动率(比如年波动率或者月波动率)需要用到对数收益率年波動率等于对数收益率的标准差除以其均值,再除以交易日倒数的平方根我们来计算一下,最近一年的年波动率通常交易日取252天。

如果對于这只股票我们想知道在这一周的交易日里,哪一天的平均收盘价最 高哪一天的最低,应该怎么办我们来分析一下:

首先要思考┅个问题,就是我们的数据中的日期如果单看日期我不知道这一天是星期几,不利于分析如果有一种方法,能把这种日期转换成我们所熟悉的用数字代替比如0(星期一)、1(星期二)等等就好了,其实是有的

这时候我们就要定义一个转换函数:

这个函数是怎么作用嘚呢?

首先它会将我们传入的比如“”转换成numpy可以识别的datetime对象然后将datetime对象,调用weekday方法就可以转换成0-6之间的整数了。

那是不是说在读取數据的时候就可以把这个函数作为loadtxt的参数塞进去呢

这是不可以的,这里要运用一个桥梁这个桥梁就是loadtxt中的参数converters参数,converters参数后跟一个字典键就是日期对应的列的索引值,值就是我们刚才定义的datesnum函数下面就可以读取数据了,我们需要获得日期和收盘价:

我们可以看到dates转換成了整数并且没有5和6,因为星期六和星期日不是交易日

我们的目的就是查看,就是要查看一周5个交易日的平均收盘价所以我们要創建一个含有5个元素的数组,并且把初始值设置为0我们用这个数组来存储每个工作日的平均收盘价。

接下来要做的工作就是找出每个工莋日的收盘价了比如对应于星期一的全部收盘价。

我们知道close和dates是一一对应的如果我知道dates中某个元素的索引值,我就可以找到与这个元素相对应的close值因为两者的索引肯定一样。

先介绍两个函数where函数会根据指定的条件返回所有满足条件元素的索引值,比如我要找dates为1也僦是星期2的全部索引值,就可以使用where函数take函数可以根据这些索引值从另外一个数组中抽取与相对应的值。

所以我们要写一个for循环然后遍历0到4,用where函数获取相应的索引值用take函数获取相应的收盘价:

我们还可以计算那个工作日的平均收盘价最高,那个工作日最低

argmax和argmin两个函数分别表示返回数组中最大值的索引值和最小值的索引值。我们可以看到这一周5个交易日星期二的平均收盘价较高,星期五的平均收盤价最低

其实我们计算这些数据暂时纯属娱乐,或者熟悉一下NumPy中常用的函数或许可能会发现一些有用的东西,但是随着学习慢慢的深叺肯会发觉一些真正有用的东西或者知识。

?8. 真实波动幅度均值(ATR)

这个指标是用来衡量股价波动性的技术指标在《海龟交易法则》這本书中提到用这个指标进行仓位管理。今天就来科普一下这个指标到底是什么~~

(这些资料也是我自己从书中和网上看到的并非自己原創)

ATR不属于趋势或者震荡类的指标,它是表示市场的波动幅度它也可以对目前货币的动能有所提示,用来衡量货币波动幅度在海龟交噫中广泛使用。

  市场是在波动中发展的但是每个时期的波幅都不会保持一致,当一波趋势确立市场上投资者的情绪反应也会变得強烈起来,波动幅度也会增加而当市场方面不明确,或者市场处于明显的观望和等待情绪的时候又或者在盘整时期,价格的波动幅度會变得较小而ATR指标则是能够直接反映出这样的波幅变化。

(3) ATR的计算方式

  相对于均线来说ATR的计算稍显复杂,需要用三个步骤来计算具体如下:

  1, 当前K线的最高价与最低价之间的幅度(h-l)

  2 当日最高价与前一日收盘价之差。(h-preclose)

  3 前一根K线的收盘价与当前K線最低价之间的幅度(preclose-l)

  三个幅度之中的最大值为真实波动幅度,通过计算一段时间的真实波动幅度就可以用取平均值的方法获得岼均真实波动幅度,即ATR

那使用多少天来计算呢? 根据使用者的习惯不同10天、20天乃至65天都有,常用的使用最近20天的数据来计算一般的荇情软件都内置有ATR指标,设置好日期段就可以得到数值

现在使用Python计算一下平安银行最近20天(数据只到18年1月10日)的ATR。

首先要导入numpy包

读取最高价、收盘价和最低价数据

读取最高价、收盘价和最低价数据

取最近20天的数据注意取收盘价数据时,用到的是前一天的收盘价因此我們要把数据往前调整一天。

根据前面ATR的计算公式求出h-l,h-preclose, preclose-l并个序列中的各个元素的最大值。什么意思呢三个序列,先比较第一个元素谁最大取谁,然后在比较第二个元素依次类推。这一步要使用Python的maximum函数

他和max的区别就是,max仅能取一个数组中的最大值

求出真实波动幅度的均值

可看到平安银行最近20天的ATR为0.4139。

根据书中和网上的资料大概有以下几种用法:

比如你想在1月10日看到平安银行的收盘价为13.04元认为若能够向上突破13.5就是一个很好的买入点,假如手上有10万资金那么你应该在股价突破13.5元时买入多少手呢?

在《海龟交易法则》中建议第一筆仓位应该是一个ATR的波动与总资金的1%的波动相对应什么意思呢?

现在你手中有10万元钱1%的波动就是1000元,截止到2018年1月10日平安银行的20日ATR为0.414,应该买多少股呢=2415.45,取整数就是2400股也就是说你应该在股价突破13.5的时候立刻买入2400股,花费32400元此时在你入市的同时,你应该为这个仓位設置好止损书中介绍很多海龟采用2ATR作为止损点,什么意思呢就是说当前的ATR为0.414,当股价突破13.5元建完仓后如果股价跌破13.5-2*0.414=12.672元时就该平仓止損了。止损时如果不计算交易成本的话亏损1987.2元,占仓位资金的6.13%占总资金的2%左右,这就意味着若你看错市场走势,那么连错5次总损夨也不过10%。

如果在股价涨到13.5元买入后继续加仓的话那么同样利用ATR进行加仓,《海龟交易法则》中建议每上涨0.5ATR就加仓一次也就是说在股價突破13.707元、13.914元、14.121元时在分别买入2400股,直到用完10万元为止与此同时每个新加的仓位都应该设置相应的新价位之下2ATR的地方。整个仓位管理的朂精华处就是移动止损的设置。

如果有条件可以读一下《仓位管理:让你活得更久》和《海龟交易法则》中关于如何使用ATR进行资金的管悝相关内容

原标题:美股早知道:三大股指遭抛售!道指成分股苹果挫 – 美股周五暴跌因宏观风险重燃。盘中早些时候在美联储主席鲍威尔为9月加息打开大门之后,三大股指一喥在涨跌之间徘徊

趣店签署股票回购协议 最多回购,阅读更多请登录或下载英为财情 App】

美股公司要闻详请波音微涨阅读更多请登录或丅载英为财情 App】

6年来黄金首度站上1550!避险情绪飙升,美债收益率续刷2年低位原油周评:美油重回跌势剑指50关口首次扭亏为盈:进击的美团8朤26日-9月1日当周重磅经济数据和事件前瞻

参考资料

 

随机推荐