用R来进行股票分析

本文介绍如何利用R语言的quantmod包进行股市数据抓取、分析及可视化,以暴风科技为例,演示了从数据抓取、计算移动平均线到绘图的全过程,帮助读者理解量化投资的基本步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当今股市如火如荼,程序猿们除了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根线,很多东西,股民就可以看透了。




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值