技术分析 - R 中的 OBV 指标计算
Technical Analysis - OBV indicator calculation in R
这里有一些关于OBV计算的参考资料:
- http://ta.mql4.com/indicators/volumes/on_balance_volume
- http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:on_balance_volume_obv
- http://en.wikipedia.org/wiki/On-balance_volume
当我导航到TTR包中OBV函数的源代码时,我看到:
"OBV" <-
function(price, volume) {
# On Balance Volume
price <- try.xts(price, error=as.matrix)
volume <- try.xts(volume, error=as.matrix)
if(!(is.xts(price) && is.xts(volume))) {
price <- as.vector(price)
volume <- as.vector(volume)
}
obv <- c( volume[1], ifelse( ROC(price) > 0, volume, -volume )[-1] )
obv <- cumsum( obv )
if(is.xts(obv)) {
obv <- xts(obv,index(price))
colnames(obv) <- 'obv'
}
reclass( obv, price )
}
我看到参考网页中的相等情况(我的意思是今天的收盘价等于昨天的收盘价)在OBV函数实现中不存在。
是bug还是验收包?如果是错误,我可以在哪里报告问题?
谢谢,
这看起来像是一个错误,所以 I've reported it。我应该可以在接下来的几天内修复它。
一般来说,你应该问包维护者(在这种情况下恰好是我),因为他们比 Whosebug 上的普通观众更有可能知道某个东西是否是错误。
这里有一些关于OBV计算的参考资料:
- http://ta.mql4.com/indicators/volumes/on_balance_volume
- http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:on_balance_volume_obv
- http://en.wikipedia.org/wiki/On-balance_volume
当我导航到TTR包中OBV函数的源代码时,我看到:
"OBV" <-
function(price, volume) {
# On Balance Volume
price <- try.xts(price, error=as.matrix)
volume <- try.xts(volume, error=as.matrix)
if(!(is.xts(price) && is.xts(volume))) {
price <- as.vector(price)
volume <- as.vector(volume)
}
obv <- c( volume[1], ifelse( ROC(price) > 0, volume, -volume )[-1] )
obv <- cumsum( obv )
if(is.xts(obv)) {
obv <- xts(obv,index(price))
colnames(obv) <- 'obv'
}
reclass( obv, price )
}
我看到参考网页中的相等情况(我的意思是今天的收盘价等于昨天的收盘价)在OBV函数实现中不存在。
是bug还是验收包?如果是错误,我可以在哪里报告问题?
谢谢,
这看起来像是一个错误,所以 I've reported it。我应该可以在接下来的几天内修复它。
一般来说,你应该问包维护者(在这种情况下恰好是我),因为他们比 Whosebug 上的普通观众更有可能知道某个东西是否是错误。