全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
21325 131
2013-03-06
股票分析中的蜡烛图和技术指标并非什么神奇的东西。指标只不过是过去历史数据的一种函数。再复杂的函数,其输入变量都是过去已经发生的事情。而过去发生的事情,未来不一定重复。所以在学术界,对于股票价格的走势大多是以带漂移项的随机过程来建模。其中重要的因素就是随机因子对于价格的冲击。

如果你用一个蒙特卡罗仿真构建一个虚拟的股票趋势,那些迷信技术分析的人看到了或许就会跑过来问你这支股票的代码。技术指标虽然没什么预测的能力,但技术指标可以告诉我们已经发生的事情,所以有时候需要绘制蜡烛图,可能还需要添加一些自定义的指标。R语言中的quantmod包是一个非常强悍的金融计算包,它可以帮助股票分析人员进行定量化交易的研发、测试和部署。有兴趣的同学可以参见它的官方网站,不过作者似乎很长时间没有更新了。另外,邓一硕在其博客中也对quantmod包作了很完整的总结,除了关键的交易系统建模部分。

本例希望讲解如何绘制蜡烛图,并添加股价变动的“偏度”指标,这里所谓股价的变动定义为收盘价与开盘价之差。在很多情况下股价变动呈一个钟形的分布,本例的自定义指标就是考虑该分布的偏度数值。R代码如下:

本帖隐藏的内容

#首先加载必要的扩展包
library(quantmod)
library(e1071)
#读取2010年到2012年间的上证指数
getSymbols('^SSEC',from = '2010-01-01',to='2012-02-14')
#建立自定义指标函数来计算价格变化的偏度
skew.ind <- function(quotes,n.days=20){
    diff <- Cl(quotes)-Op(quotes)
    r <- matrix(NA,ncol=n.days,nrow = NROW(quotes))
    for (x in 1:n.days) r[ ,x] <- Lag(diff,x-1)
    x <- apply (r, 1, skewness)
    if (is.xts(quotes))
        xts(x,time(quotes))
    else x
}
#绘制最近6个月的蜡烛图并添加偏度指标
candleChart(last(SSEC,'6 months'),theme='white',TA=NULL)
addT1.ind<-newTA(FUN=skew.ind,col='red',legend='偏度')
addT1.ind()





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-3-7 09:09:00
kankan
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-3-8 09:11:27
看看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-3-8 20:56:49
这个包不错,上证券投资学课时,经常用它
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-3-9 22:00:21
谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-3-9 22:14:15
[em17][em17]
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群