Alternatyvus „Google“ finansavimas „api“

Norėjau naudoti „Google Finance“ API, kad gautumėte įmonės inventoriaus duomenis, tačiau ši API yra pasenusi nuo 2011/26/05.

Ką naudojate kaip nemokamą API, kad gautumėte realaus laiko inventoriaus duomenis?

333
06 апр. paklausė Kiva 06 Bal 2012-04-06 11:24 '12, 11:24, 2012-04-06 11:24
@ 5 atsakymai

Išbandykite „ Yahoo Finance API“

Pradedantiesiems galite sukurti CSV su paprastu API kvietimu:

 http://finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG+MSFT> 

(Tai sukurs ir išsaugos CSV, skirtą AAPL, GOOG ir MSFT)

Atkreipkite dėmesį, kad turite įtraukti formą į užklausos eilutę ( f=.. ). Visų formatų apžvalga pateikta šiame puslapyje .

Jei norite gauti daugiau pavyzdžių, apsilankykite šiame puslapyje .

XML ir JSON duomenims galite atlikti šiuos veiksmus:

1. Naudokite YQL („Yahoo Query >

Pavyzdžiui:

 http://developer.yahoo.com/yql/console/?q=select%20*%20from%20yahoo.finance .quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22 MSFT%22)%0A%09%09> 

2. Naudokite žiniatinklio paslaugą

Pavyzdžiui, jei norite gauti visas akcijų kainas XML :

 http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote 

Jei norite gauti visas JSON akcijų kainas, tiesiog pridėkite format=JSON URL pabaigoje:

 http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json 

Alternatyvos:

1. 1Forge Financial API

  • Čia galima rasti realiu laiku apie 40 valiutų porų.

2. Finansinio turinio API

3. Atidaryti keitimo kursą

4. Oanda API

5. XE API

6. Xignito API

7. Pinigų API

8. Kiti API, aptarti programuojamame tinkle.

326
06 апр. atsakymas duotas AurA 06 balandžio. 2012-04-06 11:29 '12 11:29 val. 2012-04-06 11:29

vėlavau , bet einu Quandl . Jie turi akcijų akcijų ir pagrindų API.

Čia yra skambučio, naudojant „Quandl-api“ atsisiuntimą, pavyzdys

pavyzdys:

border=0
 https://www.quandl.com/api/v1/datasets/WIKI/AAPL.csv?column=4> 

Jie palaiko šias kalbas . Jų neapdoroti duomenys gaunami iš „Yahoo Finance“, „Google Finance“, NSE, BSE, FSE, HKEX, LSE, SSE, TSE ir kt. ( žr. čia ).

35
23 сент. atsakymą pateikė user2023861 23 Sep. 2014-09-23 19:06 '14, 19:06, 2014-09-23 19:06

Siūlyčiau naudoti „TradeKing“ kūrėjo API . Jis yra labai geras ir laisvas. Viskas, kas reikalinga, yra tai, kad turite sąskaitą su jais, ir, kiek žinau, jums nereikia atlikti pusiausvyros ... tik registracijai.

14
04 сент. atsakymas pateikiamas ra9r 04 sep . 2012-09-04 03:40 '12 at 3:40 2012-09-04 03:40

Aš sekiau pagrindinį atsakymą ir pradėjau ieškoti „Yahoo“ finansavimo. Jų API galima gauti keliais būdais, tačiau čia rasite gerą CSV informacijos apie rezervus nuorodą: http://www.jarloo.com/ p>

Naudodamas tai parašiau šį scenarijų. Aš tikrai ne rubino vaikinas, bet tai gali padėti jums įsilaužti kažką kartu. Aš dar nepateikiau kintamųjų pavadinimų visuose laukuose, kuriuos siūlome, todėl galite juos užpildyti, jei jums jų reikia.

Čia naudojamas

 TICKERS_SP500 = "GICS,CIK,MMM,ABT,ABBV,ACN,ACE,ACT,ADBE,ADT,AES,AET,AFL,AMG,A,GAS,APD,ARG,AKAM,AA,ALXN,ATI,ALLE,ADS,ALL,ALTR,MO,AMZN,AEE,AAL,AEP,AXP,AIG,AMT,AMP,ABC,AME,AMGN,APH,APC,ADI,AON,APA,AIV,AAPL,AMAT,ADM,AIZ,T,ADSK,ADP,AN,AZO,AVGO,AVB,AVY,BHI,BLL,BAC,BK,BCR,BAX,BBT,BDX,BBBY,BBY,BIIB,BLK,HRB,BA,BWA,BXP,BSX,BMY,BRCM,BFB,CHRW,CA,CVC,COG,CAM,CPB,COF,CAH,HSIC,KMX,CCL,CAT,CBG,CBS,CELG,CNP,CTL,CERN,CF,SCHW,CHK,CVX,CMG,CB,CI,XEC,CINF,CTAS,CSCO,C,CTXS,CLX,CME,CMS,COH,KO,CCE,CTSH,CL,CMA,CSC,CAG,COP,CNX,ED,STZ,GLW,COST,CCI,CSX,CMI,CVS,DHI,DHR,DRI,DVA,DE,DLPH,DAL,XRAY,DVN,DO,DTV,DFS,DG,DLTR,D,DOV,DOW,DPS,DTE,DD,DUK,DNB,ETFC,EMN,ETN,EBAY,ECL,EIX,EW,EA,EMC,EMR,ENDP,ESV,ETR,EOG,EQT,EFX,EQIX,EQR,ESS,EL,ES,EXC,EXPE,EXPD,ESRX,XOM,FFIV,FB,FDO,FAST,FDX,FIS,FITB,FSLR,FE,FISV,FLIR,FLS,FLR,FMC,FTI,F,FOSL,BEN,FCX,FTR,GME,GCI,GPS,GRMN,GD,GE,GGP,GIS,GM,GPC,GNW,GILD,GS,GT,GOOG,GWW,HAL,HBI,HOG,HAR,HRS,HIG,HAS,HCA,HCP,HCN,HP,HES,HPQ,HD,HON,HRL,HSP,HST,HCBK,HUM,HBAN,ITW,IR,TEG,INTC,ICE,IBM,IP,IPG,IFF,INTU,ISRG,IVZ,IRM,JEC,JNJ,JCI,JOY,JPM,JNPR,KSU,K,KEY,GMCR,KMB,KIM,KMI,KLAC,KSS,KRFT,KR,LB,LLL,LH,LRCX,LM,LEG,LEN,LVLT,LUK,LLY,LNC,LLTC,LMT,L,LO,LOW,LYB,MTB,MAC,M,MNK,MRO,MPC,MAR,MMC,MLM,MAS,MA,MAT,MKC,MCD,MHFI,MCK,MJN,MWV,MDT,MRK,MET,KORS,MCHP,MU,MSFT,MHK,TAP,MDLZ,MON,MNST,MCO,MS,MOS,MSI,MUR,MYL,NDAQ,NOV,NAVI,NTAP,NFLX,NWL,NFX,NEM,NWSA,NEE,NLSN,NKE,NI,NE,NBL,JWN,NSC,NTRS,NOC,NRG,NUE,NVDA,ORLY,OXY,OMC,OKE,ORCL,OI,PCAR,PLL,PH,PDCO,PAYX,PNR,PBCT,POM,PEP,PKI,PRGO,PFE,PCG,PM,PSX,PNW,PXD,PBI,PCL,PNC,RL,PPG,PPL,PX,PCP,PCLN,PFG,PG,PGR,PLD,PRU,PEG,PSA,PHM,PVH,QEP,PWR,QCOM,DGX,RRC,RTN,RHT,REGN,RF,RSG,RAI,RHI,ROK,COL,ROP,ROST,RCL,R,CRM,SNDK,SCG,SLB,SNI,STX,SEE,SRE,SHW,SIAL,SPG,SWKS,SLG,SJM,SNA,SO,LUV,SWN,SE,STJ,SWK,SPLS,SBUX,HOT,STT,SRCL,SYK,STI,SYMC,SYY,TROW,TGT,TEL,TE,THC,TDC,TSO,TXN,TXT,HSY,TRV,TMO,TIF,TWX,TWC,TJX,TMK,TSS,TSCO,RIG,TRIP,FOXA,TSN,TYC,USB,UA,UNP,UNH,UPS,URI,UTX,UHS,UNM,URBN,VFC,VLO,VAR,VTR,VRSN,VZ,VRTX,VIAB,V,VNO,VMC,WMT,WBA,DIS,WM,WAT,ANTM,WFC,WDC,WU,WY,WHR,WFM,WMB,WIN,WEC,WYN,WYNN,XEL,XRX,XLNX,XL,XYL,YHOO,YUM,ZMH,ZION,ZTS,SAIC,AP" AllData = loadStockInfo(TICKERS_SP500, allParameters()) SpecificData = loadStockInfo("GOOG,CIK", "ask,dps") 

loadStockInfo grąžina maišą, todėl specifiniai duomenys ["GOOG"] ["vardas"] yra "Google Inc."

Galiausiai, tikrasis kodas, kurį norite paleisti ...

 require 'net/http' # Jack Franzen  Garin Bedian # Based on http://www.jarloo.com/yahoo_finance/ $parametersData = Hash[[ ["symbol", ["s", "Symbol"]], ["ask", ["a", "Ask"]], ["divYield", ["y", "Dividend Yield"]], ["bid", ["b", "Bid"]], ["dps", ["d", "Dividend per Share"]], #["noname", ["b2", "Ask (Realtime)"]], #["noname", ["r1", "Dividend Pay Date"]], #["noname", ["b3", "Bid (Realtime)"]], #["noname", ["q", "Ex-Dividend Date"]], #["noname", ["p", "Previous Close"]], #["noname", ["o", "Open"]], #["noname", ["c1", "Change"]], #["noname", ["d1", "Last Trade Date"]], #["noname", ["c", "Change  Percent Change"]], #["noname", ["d2", "Trade Date"]], #["noname", ["c6", "Change (Realtime)"]], #["noname", ["t1", "Last Trade Time"]], #["noname", ["k2", "Change Percent (Realtime)"]], #["noname", ["p2", "Change in Percent"]], #["noname", ["c8", "After Hours Change (Realtime)"]], #["noname", ["m5", "Change From 200 Day Moving Average"]], #["noname", ["c3", "Commission"]], #["noname", ["m6", "Percent Change From 200 Day Moving Average"]], #["noname", ["g", "Day's Low"]], #["noname", ["m7", "Change From 50 Day Moving Average"]], #["noname", ["h", "Day's High"]], #["noname", ["m8", "Percent Change From 50 Day Moving Average"]], #["noname", ["k1", "Last Trade (Realtime) With Time"]], #["noname", ["m3", "50 Day Moving Average"]], #["noname", ["l", "Last Trade (With Time)"]], #["noname", ["m4", "200 Day Moving Average"]], #["noname", ["l1", "Last Trade (Price Only)"]], #["noname", ["t8", "1 yr Target Price"]], #["noname", ["w1", "Day's Value Change"]], #["noname", ["g1", "Holdings Gain Percent"]], #["noname", ["w4", "Day's Value Change (Realtime)"]], #["noname", ["g3", "Annualized Gain"]], #["noname", ["p1", "Price Paid"]], #["noname", ["g4", "Holdings Gain"]], #["noname", ["m", "Day's Range"]], #["noname", ["g5", "Holdings Gain Percent (Realtime)"]], #["noname", ["m2", "Day's Range (Realtime)"]], #["noname", ["g6", "Holdings Gain (Realtime)"]], #["noname", ["k", "52 Week High"]], #["noname", ["v", "More Info"]], #["noname", ["j", "52 week Low"]], #["noname", ["j1", "Market Capitalization"]], #["noname", ["j5", "Change From 52 Week Low"]], #["noname", ["j3", "Market Cap (Realtime)"]], #["noname", ["k4", "Change From 52 week High"]], #["noname", ["f6", "Float Shares"]], #["noname", ["j6", "Percent Change From 52 week Low"]], ["name", ["n", "Company Name"]], #["noname", ["k5", "Percent Change From 52 week High"]], #["noname", ["n4", "Notes"]], #["noname", ["w", "52 week Range"]], #["noname", ["s1", "Shares Owned"]], #["noname", ["x", "Stock Exchange"]], #["noname", ["j2", "Shares Outstanding"]], #["noname", ["v", "Volume"]], #["noname", ["a5", "Ask Size"]], #["noname", ["b6", "Bid Size"]], #["noname", ["k3", "Last Trade Size"]], #["noname", ["t7", "Ticker Trend"]], #["noname", ["a2", "Average Daily Volume"]], #["noname", ["t6", "Trade Links"]], #["noname", ["i5", "Order Book (Realtime)"]], #["noname", ["l2", "High Limit"]], #["noname", ["e", "Earnings per Share"]], #["noname", ["l3", "Low Limit"]], #["noname", ["e7", "EPS Estimate Current Year"]], #["noname", ["v1", "Holdings Value"]], #["noname", ["e8", "EPS Estimate Next Year"]], #["noname", ["v7", "Holdings Value (Realtime)"]], #["noname", ["e9", "EPS Estimate Next Quarter"]], #["noname", ["s6", "evenue"]], #["noname", ["b4", "Book Value"]], #["noname", ["j4", "EBITDA"]], #["noname", ["p5", "Price / Sales"]], #["noname", ["p6", "Price / Book"]], #["noname", ["r", "P/E Ratio"]], #["noname", ["r2", "P/E Ratio (Realtime)"]], #["noname", ["r5", "PEG Ratio"]], #["noname", ["r6", "Price / EPS Estimate Current Year"]], #["noname", ["r7", "Price / EPS Estimate Next Year"]], #["noname", ["s7", "Short Ratio"] ]] def replaceCommas(data) s = "" inQuote = false data.split("").each do |a| if a=='"' inQuote = !inQuote s += '"' elsif !inQuote  a == "," s += "#" else s += a end end return s end def allParameters() s = "" $parametersData.keys.each do |i| s = s + i + "," end return s end def prepareParameters(parametersText) pt = parametersText.split(",") if !pt.include? 'symbol'; pt.push("symbol"); end; if !pt.include? 'name'; pt.push("name"); end; p = [] pt.each do |i| p.push([i, $parametersData[i][0]]) end return p end def prepareURL(tickers, parameters) urlParameters = "" parameters.each do |i| urlParameters += i[1] end s = "http://download.finance.yahoo.com/d/quotes.csv?" s = s + "s=" + tickers + " s = s + "f=" + urlParameters return URI(s) end def loadStockInfo(tickers, parametersRaw) parameters = prepareParameters(parametersRaw) url = prepareURL(tickers, parameters) data = Net::HTTP.get(url) data = replaceCommas(data) h = CSVtoObject(data, parameters) logStockObjects(h, true) end #parse csv def printCodes(substring, length) a = data.index(substring) b = data.byteslice(a, 10) puts "printing codes of string: " puts b puts b.split('').map( end def CSVtoObject(data, parameters) rawData = [] lineBreaks = data.split(10.chr) lineBreaks.each_index do |i| rawData.push(lineBreaks[i].split("#")) end #puts "Found " + rawData.length.to_s + " Stocks" #puts " w/ " + rawData[0].length.to_s + " Fields" h = Hash.new("MainHash") rawData.each_index do |i| o = Hash.new("StockObject"+i.to_s) #puts "parsing object" + rawData[i][0] rawData[i].each_index do |n| #puts "parsing parameter" + n.to_s + " " +parameters[n][0] o[ parameters[n][0] ] = rawData[i][n].gsub!(/^\"|\"?$/, '') end h[o["symbol"]] = o; end return h end def logStockObjects(h, concise) h.keys.each do |i| if concise puts "(" + h[i]["symbol"] + ")\t\t" + h[i]["name"] else puts "" puts h[i]["name"] h[i].keys.each do |p| puts " " + $parametersData[p][1] + " : " + h[i][p].to_s end end end end 
6
26 марта '15 в 15:07 2015-03-26 15:07 atsakymą pateikė Jack Franzen , kovo 26 d. 15, 15:07 2015-03-26 15:07

Jei vis dar norite naudoti „Google Finance“ savo duomenims, galite jį patikrinti.

Neseniai turėjau patikrinti, ar SGX duomenys iš tikrųjų buvo gauti naudojant „Google“ finansavimą (ir, žinoma, patyriau tą pačią problemą kaip ir jūs)

5
04 марта '13 в 20:35 2013-03-04 20:35 atsakymą pateikė KevinL kovo 14 d. 13 d. 20:35 2013-03-04 20:35

Kiti klausimai apie žymes „ arba „ Užduoti klausimą“