当今股市如火如荼,程序猿们除了coding,另一个致富的机会来了,就是股票。说到数据,这可是程序猿的拿手绝活,
海口是夸下了,但如何来抓取数据,并且分析数据的相关指标,并且指导我们实际操作呢。接下来,我们一个个来解决。
1。安装对应包
首先,打开R软件,出现命令提示符,>.
输入
install.packages("quantmod")
打回车,出现
Warning in install.packages :
downloaded length 227 != reported length 227
trying URL 'http://cran.rstudio.com/bin/windows/contrib/3.1/quantmod_0.4-4.zip'
Content type 'application/zip' length 464485 bytes (453 Kb)
opened URL
downloaded 453 Kb
package ‘quantmod’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\liaominke\AppData\Local\Temp\RtmpWgazob\downloaded_packages
>
说明quantmod安装成功。
2.载入quantmod模块,抓取数据
在R提示符下,输入
library(quantmod)
提示:
载入需要的程辑包:TTR
Version 0.4-0 included new data defaults. See ?getSymbols.
Warning messages:
1: 程辑包‘quantmod’是用R版本3.1.3 来建造的
2: 程辑包‘TTR’是用R版本3.1.3 来建造的
说明包载入成功。
现在进入数据抓取,真的,就这么简单,就可以抓取数据了,不是梦,不是梦!
我们以最火的股票,暴风科技为例,抓取一个时间段的。
getSymbols("300431.SZ",src="yahoo",auto.assign=FALSE,from="2015-05-01", to='2015-05-26')
做程序的一看就明白,首先是股票代码,300431.sz,然后是src为获取源,从yahoo那里获取。获取日期是from,to从2016 5.1到5.26.我们一回车,看到木有,结果出来了。
300431.SZ.Open 300431.SZ.High 300431.SZ.Low 300431.SZ.Close 300431.SZ.Volume
2015-05-01 122.54 122.54 122.54 122.54 0
2015-05-04 134.79 134.79 134.79 134.79 1684100
2015-05-05 148.27 148.27 148.27 148.27 7487900
2015-05-06 148.27 163.10 140.80 157.00 17367800
2015-05-07 160.00 172.70 149.99 172.70 11679500
2015-05-08 179.00 189.97 169.03 189.97 6741800
2015-05-11 200.00 208.97 198.11 208.97 1329000
2015-05-12 229.87 229.87 228.00 229.87 3425800
2015-05-13 240.00 252.86 235.20 252.86 1705900
2015-05-14 278.15 278.15 235.00 241.70 9363600
2015-05-15 225.00 239.90 217.53 226.00 6399200
2015-05-18 232.00 248.60 230.01 248.60 6095300
2015-05-19 264.00 273.46 248.60 273.46 6106600
2015-05-20 297.00 300.81 291.00 300.81 1632700
2015-05-21 324.00 327.01 276.89 280.00 7126200
2015-05-22 288.00 298.60 261.34 289.00 4790200
2015-05-25 262.00 282.50 260.10 265.01 5138800
2015-05-26 263.00 265.88 250.53 254.31 5478300
300431.SZ.Adjusted
2015-05-01 122.54
2015-05-04 134.79
2015-05-05 148.27
2015-05-06 157.00
2015-05-07 172.70
2015-05-08 189.97
2015-05-11 208.97
2015-05-12 229.87
2015-05-13 252.86
2015-05-14 241.70
2015-05-15 226.00
2015-05-18 248.60
2015-05-19 273.46
2015-05-20 300.81
2015-05-21 280.00
2015-05-22 289.00
2015-05-25 265.01
2015-05-26 254.31
神奇吧,这么多天数据都出来了。对应的列为开市,最高价,最低价,收市,成交数量,除权。
很神奇,我们再神奇下,画个图出来看看。
ret <- getSymbols("300431.SZ",src="yahoo",auto.assign=FALSE,from="2015-05-01", to='2015-05-26') #重新把数据赋给ret
chartSeries(ret ,up.col='red',dn.col='green')#画个图来看看,红绿,搞股票的同学都知道吧,蜡烛线
看看,图来了。不要走开,绝对很惊为天人。
3.指标分析
移动平均线(MA)是股市中最常用的一种技术分析方法,用来在大行情的波动段找到有效的交易信号。
用R的quantmod,可以很容易的实现。
chartSeries(ret ,up.col='red',dn.col='green')
addSMA(5)#五日均线
addSMA(20)#20日均线
看看效果。2根红线就是均线了。有了着2根线,很多东西,股民就可以看透了。