SERVING THE QUANTITATIVE FINANCE COMMUNITY

  • 1
  • 2
  • 3
  • 4
  • 5
  • 16
 
User avatar
Cuchulainn
Topic Author
Posts: 63263
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

Architecture and Design

October 23rd, 2011, 10:38 am

QuoteFor me personally that's too abstract, it will take me too much time to understand, but maybe others can help you in this phase. I really need real cases: instead of a house, student, etc. I'm also a bit worried that you'll have to adjust the design it you don't test it, .. So then we end up with the same design process, "prototyping".Fair enough. It takes some time to design s/w in this way. See the diagrams as the features in the system to build. I don't need prototyping (especially FDM) since most features are already known and my prototype (V1) works already. I am interested in the feasibility of boost (for example) to produce V2.Did you see my other FDM/MC diagrams? They are in the same style as the student example. When I finish my design I will produce corresponding POC code V1 and V2 which than can be tested.In the meantime what I really need is feedback on the domain issues because we are describing the problem and not the solution, yet.For example, the ins-and-outs of a UVM, mean-variance PDE, how to integate QMC and time series into a MC framework etc.All these diagrams are "C++ in diagrams". It's a skill that many programmers have not yet learned. Software design is in its infancy. BTW what I am talking about has been known for at least 40 years. OOP has ignored this technology, which is why OO systems are so difficult to maintain.
Last edited by Cuchulainn on October 22nd, 2011, 10:00 pm, edited 1 time in total.
Chips chips chips Du du du du du Ci bum ci bum bum Du du du du du Ci bum ci bum bum Du du du du du
http://www.datasimfinancial.com
http://www.datasim.nl
 
User avatar
Cuchulainn
Topic Author
Posts: 63263
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

Architecture and Design

October 23rd, 2011, 10:52 am

QuoteI'm also a bit worried that you'll have to adjust the design it you don't test it, How did you get to this conclusion?? We use this model so we get a sequence of (design/program/test/improve design)*
Last edited by Cuchulainn on October 22nd, 2011, 10:00 pm, edited 1 time in total.
Chips chips chips Du du du du du Ci bum ci bum bum Du du du du du Ci bum ci bum bum Du du du du du
http://www.datasimfinancial.com
http://www.datasim.nl
 
User avatar
Cuchulainn
Topic Author
Posts: 63263
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

Architecture and Design

October 23rd, 2011, 11:14 am

QuoteOriginally posted by: outrunok, we talking about the same thing if we see it as a prototype cycle. I got the idea from practical experience: I once spend designing for two months, and we ended up finding something better (and throwing it away) once we started experimenting: apllying it to non-abstract situations.I am not sure if we are yet. I wish to formalise ad-hoc approach, especially larger teams and standardisation.Regarding domain, a good interview technique would be to interview @Paul or @Dave (for example) to determine what is needed (and no mention of Boost or vectors).
Last edited by Cuchulainn on October 22nd, 2011, 10:00 pm, edited 1 time in total.
Chips chips chips Du du du du du Ci bum ci bum bum Du du du du du Ci bum ci bum bum Du du du du du
http://www.datasimfinancial.com
http://www.datasim.nl
 
User avatar
Cuchulainn
Topic Author
Posts: 63263
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

Architecture and Design

October 23rd, 2011, 11:49 am

QuoteI expect Paul to be of the type who doesn't want to write code C++, but wants an installable binary and good helpfile for the tools he uses.My reference to the role of Paul was that of domain expert (front-end requirements phase) and not user (which is downstream/back-end acceptance testing). QuoteThat's the majority of users. All my clients are in that too.A user is not necessarily a domain expert. That might be the crux?
Last edited by Cuchulainn on October 22nd, 2011, 10:00 pm, edited 1 time in total.
Chips chips chips Du du du du du Ci bum ci bum bum Du du du du du Ci bum ci bum bum Du du du du du
http://www.datasimfinancial.com
http://www.datasim.nl
 
User avatar
Cuchulainn
Topic Author
Posts: 63263
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

Architecture and Design

October 23rd, 2011, 12:37 pm

Some more examples from a trading system with Andrea. He finds these models very natural. This is a Builder pattern and then we agree 100% on what has to be done. In this case, C# in pictures.
Last edited by Cuchulainn on October 22nd, 2011, 10:00 pm, edited 1 time in total.
Chips chips chips Du du du du du Ci bum ci bum bum Du du du du du Ci bum ci bum bum Du du du du du
http://www.datasimfinancial.com
http://www.datasim.nl
 
User avatar
Paul
Posts: 10837
Joined: July 20th, 2001, 3:28 pm

Architecture and Design

October 23rd, 2011, 12:41 pm

My interests in the coding side of things are threefold:1. When implementing for use: Here I have always done everything myself because a) then I know exactly what is going on, b) it takes me longer to figure out what off-the-shelf programs are doing than to implement it myself, c) I find off-the-shelf stuff often does inexplicable things and d) there's usually an element of originality in what I do which by definition cannot be found in commercial products. I do try to make my code as fast as possible, but am limited in what I know about programming languages! 2. When implementing for research: I just need something to work, speed not an issue. If there is numerics involved then I won't make it too sophisticated (my research is usually about models not numerics). Also pretty pictures are nice because there's usually a paper at the end of this.3. Encouraging other people to try new models: Almost everyone, bar me, wants off-the-shelf programs. If they have to implement anything themselves then they are put off by complicated numerics, especially FDM! They are ok with MC usually, even though few of them properly understand the relationship between MC, risk neutrality and valuation! Also unless a critical mass of people use a technique then others are usually reluctant to try it out. And a method is usually only adopted if it is a trivial change to something that has already been widely adopted. So if some more sophisticated numerics and models can be found off-the-shelf this might encourage more innovation in quant finance.P
 
User avatar
Paul
Posts: 10837
Joined: July 20th, 2001, 3:28 pm

Architecture and Design

October 23rd, 2011, 1:16 pm

With (3) just pick a few sophisticated models and present them in exactly the same way as something unsophisticated and common, like Heston. P
 
User avatar
Cuchulainn
Topic Author
Posts: 63263
Joined: July 16th, 2004, 7:38 am
Location: Amsterdam
Contact:

Architecture and Design

October 23rd, 2011, 1:45 pm

QuoteOriginally posted by: outrunThat's providing code examples that people can use an adjust to fit their needs? Eg code fragment example ala* here we define the grid...* here we define discretization of pde...* here we set theboundary conditions...* and here we solve it...(or in some other form I it can't be broken down in sequential steps)Bingo! And that's what I have in V1 FDM framework (see my post " Mon Oct 10, 11 10:46 AM (NEW!) Here is an UML class diagram (> 7 years ago at this stage), but it does show interfaces, decomposition and loose coupling.")Not code fragments, but an integrated, customisable framework.
Last edited by Cuchulainn on October 22nd, 2011, 10:00 pm, edited 1 time in total.
Chips chips chips Du du du du du Ci bum ci bum bum Du du du du du Ci bum ci bum bum Du du du du du
http://www.datasimfinancial.com
http://www.datasim.nl
 
User avatar
Polter
Posts: 2526
Joined: April 29th, 2008, 4:55 pm

Architecture and Design

October 23rd, 2011, 2:25 pm

QuoteOriginally posted by: outrun2) Developers. Those are people that need to price complex new things, and need to mix their own code with code in these libraries. I see two concerts:2.a) a risk of a very good in theory, -but very complex in practice- to understand design like QuantLib? Quntlib is over-designed. My proposed solution would be to decouple as much elements as possible, like the boost libraries. Give then value stand-alone. Provide generic algorithms, etc. Also use the boost conventions so that if can be moved over there, which would increase the number of code users.2.b) Performance. In this particular domain we need to have performance as an important design element. Sometimes a design pattern might call for a double indirection, which would hit performance.+1QuoteOriginally posted by: outrunI also think it won't be, and shouldn't be, monolithic. Thats why I refer to the loosely coupled boost libs+1
ABOUT WILMOTT

PW by JB

Wilmott.com has been "Serving the Quantitative Finance Community" since 2001. Continued...


Twitter LinkedIn Instagram

JOBS BOARD

JOBS BOARD

Looking for a quant job, risk, algo trading,...? Browse jobs here...


GZIP: On