MATLAB: Is there a size limit on the data received from Bloomberg in the Datafeed Toolbox 3.4 (R2007b)

Datafeed Toolbox

When I try to fetch a full day of ticks for large, actively traded companies it seems that the result set is limited to about 262,000 rows. I use the following code:
conn = bloomberg;
data0 = fetch(conn,{'IVAC Index'}, 'TIMESERIES', '13-Feb-2008');
data1 = fetch(conn,{'RR1 Index'}, 'TIMESERIES', '13-Feb-2008');
data2 = fetch(conn,{'IWM Equity'}, 'TIMESERIES', '13-Feb-2008');
data3 = fetch(conn,{'MSFT Equity'}, 'TIMESERIES', '13-Feb-2008'); close(conn);
disp(datestr(data0(end,2)))
disp(datestr(data1(end,2)))
disp(datestr(data2(end,2)))
disp(datestr(data3(end,2)))
This code has the following output:
13-Feb-2008 20:10:02
13-Feb-2008 11:08:24
13-Feb-2008 11:30:48
13-Feb-2008 12:47:17
I get only half a day of Ticks for actively traded tickers.
>> whos
Name Size Bytes Class Attributes
ans 1x20 40 char
conn 1x1 384 bloomberg
data0 16701x4 534432 double
data1 262144x4 8388608 double
data2 262033x4 8385056 double
data3 262144x4 8388608 double

Best Answer

The Bloomberg API used by MATLAB has a limit on how many records it can return in a single call.
To work around this issue, try breaking up the call into smaller chunks of time. For e.g.
Data0 = fetch(conn,{'RR1 Index'}, 'TIMESERIES',...
{'13-Feb-2008 00:00:00',...
'13-Feb-2008 11:00:00'});
Data0 = [Data0;fetch(conn,{'RR1 Index'},...
'TIMESERIES', {'13-Feb-2008 11:00:01',...
'13-Feb-2008 3:00:00'})];
Data0 = [Data0;fetch(conn,{'RR1 Index'},...
'TIMESERIES', {'13-Feb-2008 3:00:01',...
'13-Feb-2008 23:59:59'})];
This will break the fetch up into three pieces. Any valid date range can be given and can even span multiple days.
Note that the first fetch will return everything up to 11:00:00 and the second will return everything after 11:00:01. To be safe, the second call could start 11:00:01 on the off chance that there are ticks at exactly 11:00:00.