nate — Jun 25, 2014, 6:28 PM
rm(list=ls())
# OPTION PARAMETERS FOR YAHOO API
pricingOptions = c('a','b','b2','b3','p','o')
dividendOptions = c('y','d','r1','q')
dateOptions = c('c1','c','c6','k2','p2','d1','d2','t1')
averagesOptions = c('c8','c3','m5','m6','m7','m8','m3','m4','g','h','k1','l','l1', 't8')
miscOptions = c('w1','w4','p1','m','m2','g1','g3','g4','g5','g6','t7','t6','i5','l2','l3','v1','v7','s6')
weekOptions = c('k','j','j5','k4','j6','k5','w')
symbolOptions = c('v','j1','j3','f6','n','n4','s','s1','x','s2')
ratioOptions = c('e','e7','e8','e9','b4','j4','p5','p6','r','r2','r5','r6','r7','s7')
# DESCRIPTIONS FOR OPTIONS PARAMETERS
pricingOptionsNames = c('ask', 'bid', 'ask (realtime)', 'bid (realtime)', 'previous close', 'open')
dividendOptionsNames = c('dividend yield', 'dividend per share', 'dividend pay rate', 'ex-dividend rate')
dateOptionsNames = c('change', 'change and % change', 'change (realtime)', 'change percent (realtime)', 'change in percent', 'last trade date', 'trade date', 'last trade time')
averagesOptionsNames = c('after hours change (realtime)', 'commission', 'change from 200 day moving avg', '% change from 200 day moving avg', 'change from 50 day moving avg', '% change from 50 day moving avg', '50 day moving day average', '200 day moving average', 'Todays low', 'Todays high', 'Last trade (realtime) with time', 'Last trade (with time)', 'Last trade (price only)', '1-year target price')
miscOptionsNames = c('Days value change', 'Days value change (realtime)', 'price paid', 'days range', 'days range (realtime)', 'holdings gain percent', 'annualized gain', 'holdings gain', 'holdings gain percent (realtime)', 'holding gain (realtime)', 'ticker trend', 'trade links', 'order book (realtime)', 'high limit', 'low limit', 'holdings value', 'holdings value (realtime)', 'revenue')
weekOptionsNames = c('52week high', '52week low', 'change from 52week low', 'change from 52week high', '% change from 52week low', '% change from 52week high', '52week range')
symbolOptionsNames = c('more info', 'market capitalization', 'market cap (realtime)', 'float shares', 'name', 'notes', 'symbol', 'shares owned', 'stock exchange', 'shares outstanding')
ratioOptionsNames = c('eps', 'eps estimate current year', 'eps estimate next year', 'eps estimate next quarter', 'book-value', 'EBITDA', 'price/sales', 'price/book', 'p/e ratio', 'p/e ratio (realtime', 'peg ratio', 'price/eps estimate current year', 'price/eps estimate next year', 'short ratio')
# COMBINE OPTION AND DESCRIPTION ARRAYS
options=c(pricingOptions,dividendOptions,dateOptions,averagesOptions,miscOptions,weekOptions,symbolOptions,ratioOptions)
names=c(pricingOptionsNames,dividendOptionsNames,dateOptionsNames,averagesOptionsNames,miscOptionsNames,weekOptionsNames,symbolOptionsNames,ratioOptionsNames)
rm(pricingOptions,dividendOptions,dateOptions,averagesOptions,miscOptions,weekOptions,symbolOptions,ratioOptions)
rm(pricingOptionsNames,dividendOptionsNames,dateOptionsNames,averagesOptionsNames,miscOptionsNames,weekOptionsNames,symbolOptionsNames,ratioOptionsNames)
# CREATE THE URL
base = "http://finance.yahoo.com/d/quotes.csv"
symbols = "?s=GOOGL"
info = "&f="
for (i in 1:length(options)) info = paste(info,options[i],sep="")
url = paste(base,symbols,info,sep="")
# PARSE THE CSV FILE
data = read.csv(url, header=FALSE)
stockInfo <- character(0)
for(i in 1:length(data)) {
stockInfo = c(stockInfo, data[1,i])
}
rm(data,base,symbols,info,i)
google=data.frame(names,stockInfo[1:length(names)])
names(google)=c('category','value')
print(google)
category value
1 ask 587
2 bid 1
3 ask (realtime) 587
4 bid (realtime) 0
5 previous close 572.54
6 open 574
7 dividend yield 1
8 dividend per share 0
9 dividend pay rate 1
10 ex-dividend rate 1
11 change 13.39
12 change and % change 1
13 change (realtime) 13.39
14 change percent (realtime) 1
15 change in percent 1
16 last trade date 1
17 trade date 1
18 last trade time 1
19 after hours change (realtime) 1
20 commission 1
21 change from 200 day moving avg 20.412
22 % change from 200 day moving avg 1
23 change from 50 day moving avg 30.785
24 % change from 50 day moving avg 1
25 50 day moving day average 555.145
26 200 day moving average 565.518
27 Todays low 573.26
28 Todays high 587.3
29 Last trade (realtime) with time 1
30 Last trade (with time) 1
31 Last trade (price only) 585.93
32 1-year target price 660.88
33 Days value change 1
34 Days value change (realtime) 1
35 price paid 1
36 days range 1
37 days range (realtime) 1
38 holdings gain percent 1
39 annualized gain 1
40 holdings gain 1
41 holdings gain percent (realtime) 1
42 holding gain (realtime) 1
43 ticker trend 1
44 trade links 1
45 order book (realtime) 1
46 high limit 1
47 low limit 1
48 holdings value 1
49 holdings value (realtime) 1
50 revenue 1
51 52week high 615.055
52 52week low 421.912
53 change from 52week low 164.018
54 change from 52week high -29.125
55 % change from 52week low 1
56 % change from 52week high 1
57 52week range 1
58 more info 2114743
59 market capitalization 1
60 market cap (realtime) 1
61 float shares 565
62 name 765
63 notes 0
64 symbol 1
65 shares owned 1
66 stock exchange 1
67 shares outstanding 1
68 eps 1
69 eps estimate current year 1
70 eps estimate next year 19.085
71 eps estimate next quarter 26.78
72 book-value 31.66
73 EBITDA 6.63
74 price/sales 135.977
75 price/book 1
76 p/e ratio 6.2
77 p/e ratio (realtime 4.21
78 peg ratio 30
79 price/eps estimate current year 1
80 price/eps estimate next year 1.33
81 short ratio 21.38