There is no Cloud Parallel Computing for Home Users ?

1 次查看(过去 30 天)
I have a copula fitting computing problem with 21 stocks, which with 4 cores an 8 hours running it cannot compute. Therefore I tried to look for a solution in the cloud, however I found out that Home Users cannot have access to then....therefore no solution to my problem, is that correct ?
  5 个评论
Flavio
Flavio 2018-10-18
Only that last line that needed to use parallel computing, the test of the code is computed in a good manner.
I changed the method of the copulafit function to ‘ApproximateML’ and it ran fine now.
Stephan
Stephan 2018-10-18
Glad to hear. Please accept helpful answers in order to help people with similar Problems find helpful answers.

请先登录,再进行评论。

采纳的回答

Stephan
Stephan 2018-10-18
编辑:Stephan 2018-10-18
Hi,
your code is not written in a way that it performs the calculations in parallel - have a look at statset. This is the way you tell the copulafit function to do parallel and other options. First find out the standard options for copulafit:
>> oldopts = statset('copulafit')
oldopts =
struct with fields:
Display: 'off'
MaxFunEvals: 200
MaxIter: 100
TolBnd: 1.0000e-06
TolFun: []
TolTypeFun: []
TolX: 1.0000e-06
TolTypeX: []
GradObj: []
Jacobian: []
DerivStep: []
FunValCheck: []
Robust: []
RobustWgtFun: []
WgtFun: []
Tune: []
UseParallel: []
UseSubstreams: []
Streams: {}
OutputFcn: []
Parallel is not active by standard. To set parallel, start a parallel pool first by parpool command:
>> parpool
Starting parallel pool (parpool) using the 'local' profile ...
connected to 4 workers.
Then use:
>> options = statset(oldopts,'UseParallel',true)
options =
struct with fields:
Display: 'off'
MaxFunEvals: 200
MaxIter: 100
TolBnd: 1.0000e-06
TolFun: []
TolTypeFun: []
TolX: 1.0000e-06
TolTypeX: []
GradObj: []
Jacobian: []
DerivStep: []
FunValCheck: []
Robust: []
RobustWgtFun: []
WgtFun: []
Tune: []
UseParallel: 1
UseSubstreams: []
Streams: {}
OutputFcn: []
Of course you can do the same in your script and supress outputs with ';' - but for showing hot the difference is, it is better this way i guess.
Then change the call of copulafit so that it uses those options above:
[rho, nu] = copulafit('t', U, options);
Now the calculation should run in parallel mode.
If this is still to slow consider:
[rho,nu] = copulafit('t',[u v],'Method','ApproximateML', options);
This method can be faster but less accuracy on small or middle data - resd this link of the documentation to learn more:
Best regards
Stephan
  3 个评论
Flavio
Flavio 2018-10-18
Stephan, just a correction in the last line:
[rho, nu] = copulafit('t', U, 'Options',options);
The code activate Parallel Computing mode, however, not to run this function. A technical lady from Matlab told me PC does not run in the copulafit function...
I have another question posted regarding how to setup 'Conditional' lower bounds in the PortfolioCVaR object in the same way we have for the Portfolio object. Ex: lower bound could be 0 or 0.02. Do you have this answer ? Thanks a lot!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Parallel Computing Fundamentals 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by