Path: news.mathworks.com!not-for-mail
From: "Wu " <hanwufu@hotmail.com>
Newsgroups: comp.soft-sys.matlab
Subject: fetch yahoo problems for volume data
Date: Tue, 29 Jul 2008 20:05:30 +0000 (UTC)
Organization: Nat Taiwan Univ
Lines: 87
Message-ID: <g6nt6a$3eb$1@fred.mathworks.com>
Reply-To: "Wu " <hanwufu@hotmail.com>
NNTP-Posting-Host: webapp-05-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1217361930 3531 172.30.248.35 (29 Jul 2008 20:05:30 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Tue, 29 Jul 2008 20:05:30 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1002314
Xref: news.mathworks.com comp.soft-sys.matlab:482484



When fetching volume/size data from yahoo double entries 
occur.


******************** No 1 ******************************
Try following examples for NASDAQ stocks:


x = fetch(yahoo,'ADBE',{'Bid_Size'});


You see TWO entries instead of ONE!!! Only the first one 
makes sense.

******************** No 2 ******************************

ticker=
{'ATVI';'ADBE';'AKAM';'ALTR';'AMZN';'AMGN';'AMLN';'APOL';'AA
PL';'AMAT'};
x = fetch(yahoo,ticker,{'Bid_Size'});


You see, everything is mixed up. No chance for selecting 
the right data points. Sometimes there are TWO entries and 
sometimes just (correctly) ONE entry.

******************** No 3 ******************************
Try this one:

x = fetch(yahoo,ticker,
{'Ask_Size';'Bid_Size';'Last_Trade_Size'});

... it becomes worse...

******************** No 4 ******************************
...even worse:

x = fetch(yahoo,ticker,
{'Ask';'Bid';'Last';'Ask_Size';'Bid_Size';'Last_Trade_Size'}
);


******************** No 5 ******************************
You might try it with all NASDAQ100

ticker=
{'ATVI';'ADBE';'AKAM';'ALTR';'AMZN';'AMGN';'AMLN';'APOL';'AA
PL';'AMAT';'ADSK';'BEAS';'BBBY';'BIIB';'BRCM';'CHRW';'CDNS';
'CELG';'CEPH';'CHKP';'CKFR';'CTAS';'CSCO';'CTXS';'CTSH';'CMC
SA';'COST';'DELL';'XRAY';'DISCA';'EBAY';'DISH';'ERTS';'ERIC'
;'EXPE';'EXPD';'ESRX';'FAST';'FISV';'FLEX';'FWLT';'GRMN';'GE
NZ';'GILD';'GOOG';'HSIC';'IACI';'INFY';'INTC';'INTU';'ISRG';
'JOYG';'JNPR';'KLAC';'LRCX';'LAMR';'LEAP';'LVLT';'LBTYA';'LI
NTA';'LLTC';'LOGI';'MRVL';'MCHP';'MSFT';'MICC';'MNST';'NTAP'
;'NIHD';'NVDA';'ORCL';'PCAR';'PDCO';'PTEN';'PAYX';'PETM';'QC
OM';'RIMM';'ROST';'RYAAY';'SNDK';'SHLD';'SEPR';'SIAL';'SIRI'
;'SPLS';'SBUX';'JAVAD';'SYMC';'TLAB';'TEVA';'UAUA';'VRSN';'V
RTX';'VMED';'WFMI';'WYNN';'XLNX';'XMSR';'YHOO'};


x = fetch(yahoo,ticker,
{'Ask';'Bid';'Last';'Ask_Size';'Bid_Size';'Last_Trade_Size'}
);


And now you might try to delete all data with NaNs

y(:,1)=x.Ask;y(:,2)=x.Bid;y(:,3)=x.Last;y(:,4)=x.Ask_Size;y
(:,5)=x.Bid_Size;y(:,6)=x.Last_Trade_Size;

y(any(isnan(y),2),:) = [];


... but it will not work...

**************************************************
If you fetch 'Ask_Size' , 'Bid_Size' or 'Last_Trade_Size'  
seperatly, then only the first field have a valid entry - 
everything else is junk data. 



Where is the bug in @yahoo/fetch.m ???