我正在編寫一個基於市值和股息收益率選擇公司的應用程序。它使用雅虎的YQL REST API來獲取這些數據。它似乎昨天運行良好,但今天我看到我的程序說其中一家公司的收益率爲65.95%!沒問題 - 我的代碼中存在一個錯誤。所以我認爲。但是,當我查看XML的內容從YQL網址爲股票:YQL是否不可靠地返回正確的數據 - 任何替換?
我看到我的帖子底部粘貼的XML。 (我把它全部粘貼在這裏,因爲在這個週末之後有人看到它會有所不同。)
向下滾動到底部,你會看到它實際上表示馬拉松石油公司(MRO)股票的收益率是65.95%。你會在DividendYield標籤的內容中看到它。
當我看到「雅虎金融網站在這裏! http://finance.yahoo.com/q?s=mro
它顯示了一個更合理的收益率:
Div & Yield: 0.68 (2.10%)
所以,我在誤讀這個數據(我希望如此)?爲什麼我在他們公開的網站中看到的內容與我從查詢中得到的內容之間的差距?他們不是使用同一個數據庫嗎?
如果內容不可靠,請將我指向一個不同的工具。我的應用程序是在Python中。
在情況下,它是有幫助的,這裏有一個最小的代碼片段:
#!/usr/bin/env python
import yql
y = yql.Public()
q = 'use "http://www.datatables.org/yahoo/finance/yahoo.finance.quotes.xml" as yahoo.finance.quotes; select * from yahoo.finance.quotes where symbol in ("MRO")'
result = y.execute(q)
print result.rows[0]['DividendYield']
輸出:
65.95
謝謝!
編輯2012年2月11日:
一天我的帖子後,我發現這對雅虎開發者網絡:
很多人有在各個領域得到錯誤的數據發表評論。
Google有一個用於收集數據的API。下面是同一家公司的例子使用它,下面的YQL請求有關(MRO):
http://www.google.com/ig/api?stock=MRO
也許這將幫助別人,但它似乎並沒有包含分紅信息,這是對我的需求至關重要。
是否有其他人編寫了一個應用程序,該應用程序使用喜歡它們的源代碼編程收集股票數據?如果是這樣,請分享 - 我願意轉向其他方面。順便說一句:我不需要實時數據。在市場關閉後,我會在下班回家後不經常運行我的應用程序。
謝謝。
<query yahoo:count="1" yahoo:created="2012-02-11T06:30:09Z" yahoo:lang="en-US"><results><quote symbol="MRO"><Ask/>
<AverageDailyVolume>7003410</AverageDailyVolume>
<Bid/>
<AskRealtime>36.00</AskRealtime>
<BidRealtime>32.73</BidRealtime>
<BookValue>23.79</BookValue>
<Change_PercentChange>+0.55 - +1.69%</Change_PercentChange><Change>+0.55</Change>
<Commission/>
<ChangeRealtime>+0.55</ChangeRealtime>
<AfterHoursChangeRealtime>N/A - N/A</AfterHoursChangeRealtime>
<DividendShare>21.50</DividendShare>
<LastTradeDate>2/10/2012</LastTradeDate>
<TradeDate/>
<EarningsShare>4.125</EarningsShare>
<ErrorIndicationreturnedforsymbolchangedinvalid/>
<EPSEstimateCurrentYear>3.66</EPSEstimateCurrentYear>
<EPSEstimateNextYear>4.38</EPSEstimateNextYear>
<EPSEstimateNextQuarter>0.89</EPSEstimateNextQuarter>
<DaysLow>32.04</DaysLow>
<DaysHigh>33.16</DaysHigh>
<YearLow>19.13</YearLow>
<YearHigh>54.33</YearHigh>
<HoldingsGainPercent>- - -</HoldingsGainPercent>
<AnnualizedGain/>
<HoldingsGain/>
<HoldingsGainPercentRealtime>N/A - N/A</HoldingsGainPercentRealtime>
<HoldingsGainRealtime/>
<MoreInfo>cnsprmiIed</MoreInfo>
<OrderBookRealtime/>
<MarketCapitalization>23.328B</MarketCapitalization>
<MarketCapRealtime/>
<EBITDA>6.846B</EBITDA>
<ChangeFromYearLow>+14.02</ChangeFromYearLow>
<PercentChangeFromYearLow>+73.29%</PercentChangeFromYearLow>
<LastTradeRealtimeWithTime>N/A - <b>33.15</b>
</LastTradeRealtimeWithTime>
<ChangePercentRealtime>N/A - +1.69%</ChangePercentRealtime>
<ChangeFromYearHigh>-21.18</ChangeFromYearHigh>
<PercebtChangeFromYearHigh>-38.98%</PercebtChangeFromYearHigh>
<LastTradeWithTime>Feb 10 - <b>33.15</b>
</LastTradeWithTime>
<LastTradePriceOnly>33.15</LastTradePriceOnly>
<HighLimit/>
<LowLimit/>
<DaysRange>32.04 - 33.16</DaysRange>
<DaysRangeRealtime>N/A - N/A</DaysRangeRealtime>
<FiftydayMovingAverage>31.2758</FiftydayMovingAverage>
<TwoHundreddayMovingAverage>27.2837</TwoHundreddayMovingAverage>
<ChangeFromTwoHundreddayMovingAverage>+5.8663</ChangeFromTwoHundreddayMovingAverage>
<PercentChangeFromTwoHundreddayMovingAverage>+21.50%</PercentChangeFromTwoHundreddayMovingAverage>
<ChangeFromFiftydayMovingAverage>+1.8742</ChangeFromFiftydayMovingAverage>
<PercentChangeFromFiftydayMovingAverage>+5.99%</PercentChangeFromFiftydayMovingAverage>
<Name>Marathon Oil Corp</Name>
<Notes/>
<Open>32.26</Open>
<PreviousClose>32.60</PreviousClose>
<PricePaid/>
<ChangeinPercent>+1.69%</ChangeinPercent>
<PriceSales>1.56</PriceSales>
<PriceBook>1.37</PriceBook>
<ExDividendDate>Nov 14</ExDividendDate>
<PERatio>7.90</PERatio>
<DividendPayDate>Mar 12</DividendPayDate>
<PERatioRealtime/>
<PEGRatio>0.99</PEGRatio>
<PriceEPSEstimateCurrentYear>8.91</PriceEPSEstimateCurrentYear>
<PriceEPSEstimateNextYear>7.44</PriceEPSEstimateNextYear>
<Symbol>MRO</Symbol>
<SharesOwned/>
<ShortRatio>2.60</ShortRatio>
<LastTradeTime>4:02pm</LastTradeTime>
<TickerTrend> ++-+-= </TickerTrend>
<OneyrTargetPrice>37.19</OneyrTargetPrice>
<Volume>9239122</Volume>
<HoldingsValue/>
<HoldingsValueRealtime/>
<YearRange>19.13 - 54.33</YearRange>
<DaysValueChange>- - +1.69%</DaysValueChange>
<DaysValueChangeRealtime>N/A - N/A</DaysValueChangeRealtime>
<StockExchange>NYSE</StockExchange>
<DividendYield>65.95</DividendYield>
<PercentChange>+1.69%</PercentChange>
</quote>
</results>
</query>
<!-- total: 270 -->
<!-- engine5.yql.ac4.yahoo.com -->
謝謝Brian。投票解釋這種差異。出於好奇,你有使用另一種工具嗎? – firebush 2012-02-11 17:57:32