Есть такой сервис
http://sentdex.com который анализирует сентимент по таким вещям как акции SP500, политика и страны. Про то как это работает они пишут тут
http://sentdex.com/sentiment-analysis/.
Они продают доступ к WebAPI. Потестил их сервис в с бесплатными данными, бесплатно они раздают свои данные за 2013-2015 год. Довольно забавная штука.
Использовать в лоб конечно как-то опрометчиво, однако в качестве признака для модели может и неплохо. Единственное конечно не понятно что за источники они анализируют, и от того что это по сути черный ящик в продакшн такое страшно отправлять.
Код для тестирования.
sentdex_csv <- read.csv("http://sentdex.com/api/finance/sentiment-signals/sample/")
sentdex_appl <- sentdex_csv[sentdex_csv$symbol == 'AAPL',][,c(1,3)]
sentdex_appl <- xts(sentdex_appl[,2], order.by = as.Date(sentdex_appl[,1]))
getSymbols("AAPL", from = "2012-01-01")
tmp <- na.omit(cbind(sentdex_appl, Delt(Ad(AAPL)) ))
names(tmp) <- c("Sentdex Sentiment AAPL","AAPL")
signal <- ifelse(tmp[,1] > 5, 1,0 )
signal <- ifelse(tmp[,1] < -2, -1,signal)
chart.CumReturns( cbind(lag(signal) * tmp[,2], tmp[,2]), main = "Sentdex Sentiment AAPL",legend.loc = 'topleft')
(
Читать дальше )