- exneratunrisk
**Posts:**3559**Joined:**

Mathematica 8 was just released.New in Mathematica 8Important news for quant developers?IMO- new interactive charts and visualization- it has quadrupled its statistics and probability functionality (Wolfram claims: now the broadest available)- and for us hybrid system makers always striving for speed-up without giving away accuracy and robustness:Fast and automated-paralleliized C code generation, the direct integration of DLLs and CUDA / OpenCL supportFor huge information system planners, the integration with Wolfram|Alphamight be interesting?

Last edited by exneratunrisk on November 18th, 2010, 11:00 pm, edited 1 time in total.

Interesting -- I see that they have made the GBM option model (multiple assets) a built-in

Does anyone have any experiences of the Mathematica extension UnRisk-Q that they would like to share? *** Moved to the Programming and Software forum. ***

Last edited by Rufus on June 22nd, 2011, 10:00 pm, edited 1 time in total.

- Daniel0102
**Posts:**6**Joined:**

Hi all,I have been using Matlab during the college and grad school. However, my new job requires me to evaluate the usefulness of Mathematica and decide if the company should buy it.I am interested to know the capability of Mathematica and how I can make use of it. For example, how one can perform parameter optimization in mathematicaAnywhere to start with is helpful.

- Daniel0102
**Posts:**6**Joined:**

Thanks Alan, the website provide certain useful informationWhat if it is not a function, but a parameter of a certain system which results in two outputs, and I would like to minimize one of them by altering the input parameter?

You create a function of the outputs, called the objective function. You minimize that over the parameter list.For example, for option pricing models, the objective might be the average error (of prices or implied volatilities).

Following Alan's proposition, here is a short Mathematica code to illustrate the idea (I am not quite sure it is the best place to post this)First define the function that returns your two outputs :(input : t; ouput : x and y)Clear[f];f[t_Real] := Module[{xLocal, yLocal}, xLocal = Sin[t]; yLocal = ArcTan[t]; Return[{xLocal, yLocal}]; ];Then define the one you're really interested in :(input : t; output : x)Clear[g];g[t_Real] := First[f[t]];And minimize the output you care about by 'altering' the input parameter :(is looking for t0, a numerical value of t, such that g is locally minimized;there exists a neighborhood of t0, such that for any t in this neighborhood, g[t] >= g[t0])FindMinimum[g[t], t]You might be interested as well in minimizing the other function, (input t; output y)Clear[g2];g2[t_Real] := Last[f[t]];You will see that Mathematica 8 will give you an answer, although this function is actually problematic, because the solution is intrinsically not bounded. Anyway, Mathematica says something; it is left to you to check, for instance, that the answer is meaningful (I strongly suggest you to do so every time).solution=FindMinimum[g2[t], t];g2[Last[solution][[1, 2]]]Please consider those pieces of Math code carefully. Every problem should be handled properly, and I am not claiming that this represents a universal approach... I only hope it could be a helpful starting point for you.

- Daniel0102
**Posts:**6**Joined:**

Thanks a lot. Otherwise it would be hard to evaluate without the software itself.

This is interesting: Wolfram Finance PlatformBasically, looks like Mathematica + Bloomberg

Interesting, but then, have you ever looked at the Mathematica examples like http://demonstrations.wolfram.com/Optio ... ammaModel/ ? Nearly all of them get the prices wrong in some way, so I'm not sure how much confidence I would have in their platform...

Well, demonstrations are user contributions, so if some VG prices are wrong, you can't blame Mathematica.In my experience, Mathematica is highly reliable. The Bloomberg part is a separate issue.

Ah, well that's good news then - I was under the impression these were coming straight from Wolfram. Agreed on Mathematica - best system for prototyping.

Matlab is quick, but its very dirty.Mathematica has a steeper learning curve but is far more elegant. With effort, its plots can also be made to look nice, since they can be properly type-set (which is not possible in Matlab). However Mathematica is let down by being horribly unreadable (ever tried making useful whitespace in modules within Mathematica packages?) and the 'notebook' interface is very restrictive. In part this is all because it can't decide if it is an algebra system, a functional language or a procedural language. Some would say this is its strength, but I think that Python and Ruby do multi-paradigm FAR better. They are also object oriented from the ground up, which is a lecunas for both Matlab and Mathematica. Having said that Mathematica is really good for quickly thrashing out some models/ideas. Doing this with python/scipy is possible but clunky and irritating.But as far as production goes...Having once been a great proponent of Mathematica I now think that open source tools and languages are far better for building production systems.Python is great for software architecture and C/C++ modules can do the computationally intensive bits. Much better than wrestling with Wolfram's ideosyncratic syntax.Then when you need to go parallel you can use MPI (for example). This approach beats GridMathematca hands down and doesn't cost vast sums of money.Then if you need proper data management you can add in MySQL (using perhaps python SQLalchemy, also free and written by MIT engineers)Then when you need to stick a networked front end on to it you plug it in to a content management system, eg. Plone (better than WebMathematica)You get the idea...Inhabiting a software ecosystem provides orders of magnitude more power than sitting inside some proprietory birdcage.

QuoteOriginally posted by: neuroguyMatlab is quick, but its very dirty. How so?