MATLAB Answers

Jon
0

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

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.


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

MATLAB Academy

New to MATLAB?

Learn MATLAB today!