2013-05-08 4 views
0

Данные запасы в S & P500, как я могу найти, к какому сектору относится каждый запас, например. финансовый, энергетический ...., используя R-пакет или другие источники?Найти, какой сектор принадлежит

+0

вы смотрели на http://cran.r-project.org/web/views/Finance.html? –

+0

Вы можете получить данные из Википедии: 'http: //en.wikipedia.org/wiki/Special: Export/List_of_S% 26P_500_companies' (вам нужно разобрать файл, хотя). –

+0

Спасибо, ребята! Тогда я буду использовать только wiki. Это, вероятно, быстрее, чем пытаться найти конкретную функцию. – Kun

ответ

4

Термин «сектор» сам по себе является двусмысленным термином. То, что один поставщик данных называет «потребительские услуги», может быть названо «ресторанами» другим. При этом TTR предоставляет функцию, называемую stockSymbols, которая возвращает некоторую информацию, включая сектор, из NASDAQ, для ~ 6400 акций NMS.

library(TTR) 
ss <- stockSymbols() 
#Fetching AMEX symbols... 
#Fetching NASDAQ symbols... 
#Fetching NYSE symbols... 
head(ss) 
# Symbol      Name LastSale MarketCap IPOyear   Sector      Industry Exchange 
#1 AA-P    Alcoa Inc. 92.300   0  NA Capital Goods    Metal Fabrications  AMEX 
#2 AAU Almaden Minerals, Ltd. 1.620 97228060  NA Basic Industries     Precious Metals  AMEX 
#3 ACU Acme United Corporation. 12.984 40798351 1988 Capital Goods Industrial Machinery/Components  AMEX 
#4 ACY   AeroCentury Corp. 20.280 31297252  NA  Technology Diversified Commercial Services  AMEX 
#5 ADGE American DG Energy Inc. 1.720 83404061  NA   Energy  Electric Utilities: Central  AMEX 
#6 ADK Adcare Health Systems Inc 5.800 85018494  NA  Health Care  Hospital/Nursing Management  AMEX 

Если вы хотите просто акций, которые находятся в S & P 500, вы можете обмануть и использовать запасы SPY (или есть тонны мест, которые можно найти в фонды S & P 500, в том числе веб-сайт Standard & Poors)

#install.packages("qmao", repos="http://r-forge.r-project.org") 
library(qmao) 
spyh <- getHoldings("SPY", auto.assign=FALSE) 
head(ss[ss$Symbol %in% rownames(spyh), ]) 
# Symbol       Name LastSale MarketCap IPOyear  Sector 
#455 AAPL      Apple Inc. 452.97 425179837530 1980 Technology 
#490 ADBE  Adobe Systems Incorporated 44.02 22095230291 1986 Technology 
#493 ADI   Analog Devices, Inc. 46.79 14317018779  NA Technology 
#495 ADP Automatic Data Processing, Inc. 70.03 33980125863  NA Technology 
#500 ADSK     Autodesk, Inc. 39.75 8896050000  NA Technology 
#535 AKAM  Akamai Technologies, Inc. 46.70 8333728621 1999 Miscellaneous 
#         Industry Exchange 
#455     Computer Manufacturing NASDAQ 
#490 Computer Software: Prepackaged Software NASDAQ 
#493       Semiconductors NASDAQ 
#495       EDP Services NASDAQ 
#500 Computer Software: Prepackaged Software NASDAQ 
#535      Business Services NASDAQ 
+0

Фактически, если вы используете 'getHoldings()' (который вызывает 'getHoldings.SPDR', когда вы даете ему« SPY »), тогда вам даже не нужны' stockSymbols() '. Из приведенного выше кода вы можете видеть, что 'spyh' фактически имеет значения для« Сектор »для всех акций. Фактически вы можете сравнить значения для сектора, возвращаемые 'stockSymbols()', с теми, которые 'getHoldings.SPDR()' возвращаются, чтобы увидеть, что я имею в виду, что термин «сектор» является неоднозначным. – GSee

+0

Спасибо за ваш код, это именно то, что я искал. Тем не менее, я получаю сообщение об ошибке «Ошибка в выходе [[1L]]: индекс из границ« после »spyh <- getHoldings (« SPY », auto.assign = FALSE)' – user1627466

+0

получил именно то, что мне было нужно от sp500.components() в https://github.com/systematicinvestor/SIT/blob/master/R/data.r – user1627466