Design of Newquant (I.)--the whole field design

Source: Internet
Author: User

The design idea of newquant--the whole domain analysis

"Domain driven Design (DDD)" is an important concept proposed by Eric Evans, a well-known software engineering modeling expert, which is the deepening of "object-oriented Analysis design (OOAD)". When the business logic becomes complex and the system becomes large, the ooad can lead to a situation where the trees does not see the woods, while DDD directs the designer to temporarily ignore the trivial details, strategically advantageous position the observation problem. To fully understand DDD, read Eric Evans's book, Domain driven design and implementing domain driven design.

In the design of Newquant, DDD thought gave me great inspiration. In simple and intuitive terms, DDD is a careful analysis of business knowledge, and the knowledge corresponding to the corresponding software modules, the business of the key concepts corresponding to some of the key classes in the software system.

Newquant the first step in applying DDD is to "identify the domain language", which describes the terminology used by the newquant system. Newquant's goal is to provide efficient and elegant solutions for data analysis and financial engineering calculations, and most of the content of Newquant is specific numerical methods and mathematical models. In this way, it is easy to determine the domain language, which can be used as the domain language of newquant by direct numerical calculation methods and mathematical models.

Newquant the second step in the application of DDD is "domain Analysis", the process of specific domain analysis is actually a "Socratic inquiry", in the continuous refinement of the question of the nature of the inquiry into the clear business content.

First look at the "Financial Engineering" module analysis. Financial Engineering module is to provide computing services for the pricing of derivatives and other financial products, there are two paradigms in the calculation of financial engineering pricing, one is the numerical solution of PDE and the other is stochastic simulation of the model itself (mainly SDE and time series). PDE's numerical solution requires discretization of PDE to get the difference equation, the essence of solution difference equation is to solve the system of linear equations, the solution of linear equations belong to "Matrix Computing" category, the matrix calculation needs to design the corresponding modules and classes to achieve. Looking at random simulations, both the SDE and the time series simulations are based on the structure of the model repeatedly using specific random numbers in recursive calculations, and the most commonly used SDE simulations are normal random numbers, time series simulations of common normal and T random numbers. This leads to a chain of two areas of analysis:

Numerical solution of Financial engineering--PDE--Solution equation--matrix calculation

Financial Engineering--stochastic simulation--sde&time series--random number

Then look at the "Data Analysis" module analysis. There are two major sources of data analysis methods in Newquant, econometric and multivariate statistical analysis (in fact, there are many similarities between the methods in these two areas). The calculation of Econometrics is a "trilogy"-estimate, Test and forecast, and the two main subjects of econometric economy are "regression analysis" and "Time series analysis". From the point of view of calculation, several common regression methods can be considered as the "least squares (LS) problem" variant, and the least squares problem belongs to the Matrix Computing category. The estimation of time series model is commonly used to Mle,mle belongs to the category of numerical optimization. The test of model parameters is essentially a specific "hypothesis test" problem, which requires comparing the size of the statistic and the specific distribution. The related calculations of several common statistical distributions are essentially distortions of the "special functions" (gamma and beta) calculations. The prediction of the model, especially the "interval prediction", also requires the calculation of the specific distribution of the number of bits. Similar to the regression model in econometric economics, some multivariate statistical models are also tricks of playing with matrices, such as principal component analysis and factor analysis, to decompose matrices. Other methods are simple, such as K-means clustering and discriminant analysis, only use the distance calculation, but some distance calculation method also need to use matrix decomposition calculation. This leads to the chain of analysis in several areas:

Data analysis--econometric economy--regression--Estimating--ls problem--matrix calculation

Data analysis--econometric economy--regression--test--hypothesis test--The calculation of division number--special function

Data analysis--econometric economy--regression--prediction--hypothesis test--The calculation of the division number--special function

Data analysis--econometric--time series--Estimating--mle--numerical optimization

Data analysis--econometric--time series--test--hypothesis test--The calculation of division number--special function

Data analysis--econometric--time series--prediction--hypothesis test--special function

Data analysis--multivariate statistics--matrix decomposition--matrix computation

Through the above field analysis, we can see that matrix calculation, statistical calculation, special function, random number and numerical optimization are the most basic modules in newquant, which belong to "infrastructure layer". The other part is the advanced module that uses the basic module function, which belongs to the "Application layer". The random number parts of these basic modules can be directly used in C + + standard library <random>, as long as you write some special random numbers, the other modules need to write their own. The following task is to analyze and design each specific module.

Design of Newquant (I.)--the whole field design

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.