Quantcast
Channel: Computer Aided Finance - Excel, Matlab, Theta Suite etc. » Risk Management
Viewing all articles
Browse latest Browse all 10

How can I visualize my model data in an interactive webpage?

$
0
0

A brilliant website is the perfect example for user friendly interactive data visualization: Gapminder. This website presents statistical data about the countries of the world and how it changes in time. A user-friendly AJAX user interface allows you to get gain new insights exploring this data. They have done a great job. Google bought this technology and created Google Public Data and Motion Charts. Read in the following, how you can utilize this for your own data.

Visualize Data in Finance

Motion Chart from Gapminder

In finance, a large part of the work is data visualization. Historical prices, portfolio positions and simulation model demand for an interactive dashboard for data analyzes. There are many offline tools exploring data, e.g. MS Excel, Matlab or R. For online data visualization, there are only very few choices which makes the Google Motion Chart interesting:

  • Pro: Cool interface, easy configuration and easy deployment using Javascript or Google Docs.
  • Cons: Bound to google servers and no source code available.

So, if you are looking for an in-house solution, you could try to build one yourself using AJAX frameworks like Google Web Toolkit or ZK. But, if you want to share your visualization in the internet, Google Motion Charts are a good start.

Google Motion Chart

Walk through for a Google Motion Chart from Excel

Step 1: Creating Data

First, we need to create some data which we want to analyze. Here, we use the computation of a variance optimal hedge strategy in ThetaML:


model VarianceOptimalHedgeOfEuropean
export Payoff, S, Delta, Pi, HedgeError

% Initialize Parameters
S = 100; Discount = 1;
sigma = 0.4; r = 0.05;
loop 50
% Update position of variance optimal hedge
Pi = Pi! - Delta! *(S!*Discount!-S*Discount)
Delta = Beta(S!,Pi!)

% Money required for hedge error
HedgeError = Pi! - E(Payoff!)

% Pass one week of time
Theta 1/50

% Update stock price process S
S = S * exp( (r-0.5*sigma^2)*@dt + sigma*sqrt(@dt)*randn() )
Discount = exp(-r * @time)
end
% Compute Payoff of European option
Payoff = max(100-S,0) * Discount
% Set hedge portfolio Pi to value of payoff
Pi = Payoff
end

This model generates a Monte Carlo simulation for the stock price process S, the option payoff, and the value of the hedge portfolio Pi. After running this Model in Theta Suite, the Result Explorer opens and we can export the simulated data to Excel:

Create Excel file from ThetaML

Step 2: Format Data

The data for the Goole Motion Chart has to be

  1. : scenario name
  2. : time
  3. : numeric value or category
  4. - … :  (optional) numeric value or category

Thus, we have to reformat the exported data: Open the Result Excel Sheet and use the following formulas on the first empty sheet (sheet 1):

Excel Formulas for Reformating

 
index:          1 (rows 1:51), A2+1 etc (rows 52:5101)
Time Step:      =IF(MOD(ROW(A2)-1,51)=0,52,MOD(ROW(A2)-1,51)+1) 
Scenario Name:  =CONCATENATE("Scenario_",A2) 
Time:           =TODAY() + 365*INDIRECT(CONCATENATE($D2,"!","A",$B2)) 
S:              =INDIRECT(CONCATENATE($D2,"!","B",$B2)) 
Delta:          =INDIRECT(CONCATENATE($D2,"!","C",$B2)) 
Payoff:         =INDIRECT(CONCATENATE($D2,"!","D",$B2)) 
HedgeError      =INDIRECT(CONCATENATE($D2,"!","E",$B2)) 
Pi              =INDIRECT(CONCATENATE($D2,"!","F",$B2))

Copy these formulas until row 5101 (for 100 Scenarios).

Step 3: Publish ThetaML Result Data with Google Docs

Now, create an Excel sheet which only contains the values of “Sheet 1″. This can be imported into google Docs. After importing, select “Insert->Gadget->Charts->Motion Chart”. Select Range e.g. “Data!A1:G511″ for the first 10 scenarios or ”Data!A1:G5101″ for all 100 scenarios as data of the chart. Finally, we get a sheet like:

–>Try Motion Chart Example Here! <–
 

Google Motion Chart from ThetaML

Google Motion Chart: Delta vs. S

Done. Have fun browsing and exploring the data!



Viewing all articles
Browse latest Browse all 10

Trending Articles