2015-11-11 57 views
0

我想查看R的日收益率跌破特定百分比的情況,請問有人能幫我解決這個問題嗎?我正在嘗試使用quantmod來做到這一點。如何在R中獲得低於閾值的回報數?

我是新來的R,我希望我做了正確的收集數據的初始步驟:

getSymbols("AAPL") 
prices<-AAPL[, "AAPL.Close"] 
returns<-diff(log(prices)) 

也就是說,只要我得到了。我怎樣才能知道回報低於特定閾值的次數?

回答

2

這是很簡單的定義一個函數來做到這一點:

library(quantmod) 
getSymbols("AAPL") 
prices = AAPL[, "AAPL.Close"] 
returns = diff(log(prices)) 

countThresh = function(returns, threshold) sum(returns < threshold, na.rm = TRUE) 
countThresh(returns, 0.01) # 1556 

在你的榜樣,每天的蘋果公司收益低於1%的1556倍。

+0

感謝FG NU,我真的很感激噸,這是一個很大的幫助 – Saleh

0

您還可以使用table功能

table(returns < threshold_value) 

這將使return超過和低於閾值時的次數。

更新根據OP的評論

要獲得日期的解決方案,你可以嘗試

index(returns[returns < threshold_value]) 
+0

精彩,非常感謝你。還有一個問題,我如何列出所有回報低於該閾值的日期?鑑於它是一個xts-zoo類? – Saleh

+0

@Saleh我已經更新瞭解決方案。看一看 –

+0

非常感謝Shah先生,我衷心感謝。你爲我的學習過程做出了很大的貢獻 – Saleh

相關問題