Just tried this quickly and it ran in half the time on my machine:
function callprice2(S0, K, r, T, σ, paths)
Csum = 0.0
β= T.^0.5*σ
γ= S0*exp(T*(r-σ^2/2))
for j = 1:paths
Zj = β*randn()
STj = exp(Zj)* γ
Csum += max(STj - K,0.0)
end
return exp(-r*T)*Csum/paths
end
On Monday, February 17, 2014 12:37:11 AM UTC-5, Andreas Noack Jensen wrote:
>
> Are you referring to the "vectorized version" in MATLAB or julia? On my
> machine, the version I sent you was slightly slower than MATLAB on one
> processor and faster in parallel. I am not sure what causes the error you
> get, but it could look like a problem in JuliaStudio.
>
>
> 2014-02-16 22:43 GMT+01:00 Pithawat Tan Vachiramon
> <[email protected]<javascript:>
> >:
>
>> Thanks for the code, I tried it and now runs only slightly slower than
>> vectorized version. As Stefan said the global variable is causing a huge
>> slow down.
>>
>> I tried addprocs(2) but I get this error. My Julia version is version 0.2
>> (came with Julia Studio).
>>
>> fatal error on 10: ERROR: ConsoleLogic not defined in deserialize at
>> serialize.jl:334
>> in handle_deserialize at serialize.jl:322
>> in deserialize at serialize.jl:372
>> in handle_deserialize at serialize.jl:322
>> in deserialize at serialize.jl:361
>> in handle_deserialize at serialize.jl:322
>> in deserialize at serialize.jl:305
>> in anonymous at serialize.jl:325
>> in ntuple at tuple.jl:26
>> in deserialize_tuple at serialize.jl:325
>> in handle_deserialize at serialize.jl:317
>> in deserialize at serialize.jl:360
>> in handle_deserialize at serialize.jl:322
>> in anonymous at task.jl:822
>> ProcessExitedException()
>>
>>
>> julia>
>> Worker 10 terminated.
>> ERROR: read: end of file
>> in yield at multi.jl:1540
>> in wait at task.jl:117
>> in wait_full at multi.jl:557
>> in remotecall_fetch at multi.jl:657
>> in call_on_owner at multi.jl:704
>> in fetch at multi.jl:712
>> in mr_pairwise at reduce.jl:135
>> in mapreduce at reduce.jl:158
>> in preduce at multi.jl:1435
>> in timecallprice at /Users/tanvach/Desktop/Julia/calloption.jl:1509
>> in on_eval_msg at /Applications/JuliaStudio.app/Contents/Resources/
>> Console/ConsoleLogic.jl:24
>> in handle_input at /Applications/JuliaStudio.app/Contents/Resources/
>> Console/ConsoleLogic.jl:131
>> in anonymous at /Applications/JuliaStudio.app/Contents/Resources/Console
>> /ConsoleLogic.jl:144
>> in handle_pending_events at /Applications/JuliaStudio.app/Contents/
>> Resources/juliet/src/modules/event/event.jl:84
>> in update at /Applications/JuliaStudio.app/Contents/Resources/juliet/src
>> /modules/event/event.jl:59
>> in event_loop at /Applications/JuliaStudio.app/Contents/Resources/juliet
>> /src/modules/event/event.jl:72
>> in run at /Applications/JuliaStudio.app/Contents/Resources/juliet/src/
>> juliet-engine.jl:48
>> in include at boot.jl:238
>> in include_from_node1 at loading.jl:114
>> in process_options at client.jl:303
>> in _start at client.jl:389
>>
>>
>>
>>
>>
>
>
> --
> Med venlig hilsen
>
> Andreas Noack Jensen
>