【发布时间】:2016-08-29 13:58:00
【问题描述】:
这与从雅虎财经获得的股票数据有关。
我正在寻找一种方法来确定拆分股票(或发行红股,区别对当前任务无关紧要)的日期。
我找不到这个问题的任何具体答案。这是我能想到的最好的:
require(quantmod)
AAPL<- getSymbols("AAPL", from="1987-01-01",to="2016-08-01", auto.assign = F)
# head(AAPL)
# tail(AAPL)
# assuming a minimum split of 10:11
probableSplits<- which( Delt(Cl(AAPL)/Ad(AAPL)) <= -0.1)
probableSplitDates<- index(AAPL)[probableSplits]
x<- AAPL[c(probableSplits, ((probableSplits)-1))]
x$tmpratio<- Cl(x)/Ad(x)
x$splitRatio<- round(1/(1+Delt(x$tmpratio)))
#Added Following 1 line for very old stocks with adjusted price in low decimals
probableSplitDates<- index(x[x$splitRatio>1,])
x$splitRatio[probableSplitDates]
chartSeries(AAPL["2014-06"],theme = chartTheme('white'))
我想知道这个解决方案可能会遇到什么问题。
尽管我在这里使用的是 Apple,但我正在寻找来自印度交易所的数据(例如 RELIANCE.NS),因此某些用于交叉引用的美国特定来源对我不起作用。
编辑:为旧的调整价格添加了一行代码,以非常低的十进制值进行
【问题讨论】:
-
@Osssan:感谢您的调查。我使用了 AAPL 数据,因为它可以在 stockplithistory 之类的网站上进行验证。来自新闻媒体网站的基于 http 的搜索可能会非常混乱,尤其是在大量转储数千个符号的情况下。但是,如果没有其他方法有效,则需要使用类似的方法。但如果可以的话,我想避免它。我想知道人们是否尝试过上面的这种方法,并且可以对它可能引起的错误量给出一些想法。
标签: r split quantmod yahoo-finance quantitative-finance