Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

How do I run parallel bloomberg blp timeseries?

Asked by Jon on 18 Jul 2013

Hi, I am trying to get multiple intraday securities from bloomberg and noticed that the runtime is extremely long(each timeseries takes about 10-20 seconds). Is there away to run the blp timeseries in parallel to save time since it will take an hour just to run 100-200 securities?

Sample of my code. %Declare ProductList Array

% Grab data (Run timeseries in parallel)

[Data_Trade] = timeseries(blp,Product1,{floor(now)-90,floor(now)-1},5,'Trade');

[Data_Bid] = timeseries(blp,Product1,{floor(now)-90,floor(now)-1},5,'Bid');

[Data_Ask] = timeseries(blp,Product1,{floor(now)-90,floor(now)-1},5,'Ask'); %end parallel computing

%%Run data calculations

Thanks

0 Comments

Jon

1 Answer

Answer by Shashank Prasanna on 18 Jul 2013

There is no way for me to test this out since I don't have blp connection, but if you have the parallel computing toolbox, try doing the above in a parfor loop. Have the 'Trade', 'Bid' etc in a variable which can be indexed with the loop variable.

3 Comments

Jon on 19 Jul 2013

thanks. will try it out!

Jon on 19 Jul 2013

Tried using spmd with 3 matlab pool workers but getting an error.

TypeTrade = {'Bid','Ask','Trade'};

spmd

a = timeseries(c,Product1,{floor(now)-60,floor(now)-1},5,char(TypeTrade(labindex)));

b = timeseries(c,Product1,{floor(now)-60,floor(now)-1},5,char(TypeTrade(labindex)));

c = timeseries(c,Product1,{floor(now)-60,floor(now)-1},5,char(TypeTrade(labindex)));

end

Error msges(Invalid Property Name)

1) for lab 1,2,3.. Warning: Element(s) of class 'blp' do not match the current constructor definition. The element(s) have been converted to structures.

Shashank Prasanna

Contact us