Aug
27
Principal component analysis (PCA) is widely used for data research, for instance, interest rate analysis, VaR calculation of porfolio, etc. What is PCA? It is a method of discovering patterns in data, and conveying the data in such a manner to spotlight their similarities and divergences. Because patterns in data can be difficult to detect in data of high dimension, where the luxury of graphical representation is not available, PCA is a potent tool for analysing data.
The additional major benefit of PCA is that after you have obtained these patterns in the data, and you compact the data, ie. by reducing the number of dimensions, without much loss of information.
The additional major benefit of PCA is that after you have obtained these patterns in the data, and you compact the data, ie. by reducing the number of dimensions, without much loss of information.
Aug
26
Often we need to model the yield curve for bond pricing and risk analysis purpose, for instance,
The valuation of products requires the modelling of the entire covariance structure. Historical estimation of such large covariance matrices is statistically not tractable anymore.
Need strong structure to be imposed on the co-movements of financial quantities of interest.
Specify the dynamics of a small number of variables (e.g. PCA).
Correlation structure among observable quantities can now be obtained analytically or numerically.
Simultaneous pricing of dierent options and hedging instruments in a consistent framework.
There are dozens of interest rate models used by practioners, Nelson-Siegel term structure model is one of them gained popularity. here is a spreedsheet showing how to fit Extended Nelson Siegel Spot Rate with Solver.
The valuation of products requires the modelling of the entire covariance structure. Historical estimation of such large covariance matrices is statistically not tractable anymore.
Need strong structure to be imposed on the co-movements of financial quantities of interest.
Specify the dynamics of a small number of variables (e.g. PCA).
Correlation structure among observable quantities can now be obtained analytically or numerically.
Simultaneous pricing of dierent options and hedging instruments in a consistent framework.
There are dozens of interest rate models used by practioners, Nelson-Siegel term structure model is one of them gained popularity. here is a spreedsheet showing how to fit Extended Nelson Siegel Spot Rate with Solver.
Aug
25
Oops, first post on Mathematica, simply because I dont use it for research, I simply love Matlab and C++, due to their popularity and easy-to-use. However, good news for Mathematica fans, here I found an excellent Mathematica package named "The Combinatorica Project", which is a package written in 1989 by Steve Skiena for exercising computational discrete mathematics.
here is the introductory page and downloading link, have fun and enjoy new week.
http://www.cs.uiowa.edu/~sriram/Combinatorica/
here is the introductory page and downloading link, have fun and enjoy new week.
http://www.cs.uiowa.edu/~sriram/Combinatorica/
Aug
24
We often have to price the American Option with Linear Complementarity Formulation when using finite difference method. One of methods for solving linear complementarity problem is Projected Successive Over Relaxation (PSOR), which is iterative and tries to solve the following formulation:
x'(Ax - b) = 0
x >= 0
Ax - b >= 0
using the projected SOR algorithm. Here is a sample Matlab code showing the basic algorithem of PSOR,
function [x] = psor(A,b,x0)
omega = 1.5;
tol = 1e-9;
jmax = 1e+3;
n = length(b); x = x0; j = 1;
for i = 1:n
x(i) = max(0,x(i)+omega*(b(i)-A(i,:)*x)/A(i,i));
end
while (norm(x-x0) > tol) && (j < jmax)
j = j + 1; x0 = x;
for i = 1:n
x(i) = max(0,x(i)+omega*(b(i)-A(i,:)*x)/A(i,i));
end
end
return
A problem with this sample code is slow computation speed, Should you are happy with C++, the following C++ code which can be called directly in Matlab.
x'(Ax - b) = 0
x >= 0
Ax - b >= 0
using the projected SOR algorithm. Here is a sample Matlab code showing the basic algorithem of PSOR,
function [x] = psor(A,b,x0)
omega = 1.5;
tol = 1e-9;
jmax = 1e+3;
n = length(b); x = x0; j = 1;
for i = 1:n
x(i) = max(0,x(i)+omega*(b(i)-A(i,:)*x)/A(i,i));
end
while (norm(x-x0) > tol) && (j < jmax)
j = j + 1; x0 = x;
for i = 1:n
x(i) = max(0,x(i)+omega*(b(i)-A(i,:)*x)/A(i,i));
end
end
return
A problem with this sample code is slow computation speed, Should you are happy with C++, the following C++ code which can be called directly in Matlab.
Aug
23
Weekend Time! interested into doing a short test on your finance IQ? Finance IQ is designed to test your knowledge in finance. The questions database includes various categories to choose, for instance, you can choose to test your Risk IQ or Options IQ, level could be from as easy as the definition of European option, black scholes to FRM test or even more advanced.
Take a rest & have fun.
Kind reminding: today is the last day of Beijing Olimpic and closing ceremony will be staging.
http://www.fintools.com/docs/FinanceIQ.xls
Take a rest & have fun.
Kind reminding: today is the last day of Beijing Olimpic and closing ceremony will be staging.
http://www.fintools.com/docs/FinanceIQ.xls

Quantitative Finance Collector is simply a record of my financial engineering learning journey as a master in quantitative finance, a PhD candidate in finance and a Quantitative researcher, with most of the entries written at school.