Skip to content
  • Watch
  • Fork

/AnalyticsProject

Find file
64bbaaa Jun 15, 2016
3808 lines (3557 sloc) 59.9 KB
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Financial Data Segmentation: Factor Analysis</title>
<script type="text/javascript">
window.onload = function() {
var imgs = document.getElementsByTagName('img'), i, img;
for (i = 0; i < imgs.length; i++) {
img = imgs[i];
// center an image if it is the only element of its parent
if (img.parentElement.childElementCount === 1)
img.parentElement.style.textAlign = 'center';
}
};
</script>
<!-- Styles for R syntax highlighter -->
<style type="text/css">
pre .operator,
pre .paren {
color: rgb(104, 118, 135)
}
pre .literal {
color: #990073
}
pre .number {
color: #099;
}
pre .comment {
color: #998;
font-style: italic
}
pre .keyword {
color: #900;
font-weight: bold
}
pre .identifier {
color: rgb(0, 0, 0);
}
pre .string {
color: #d14;
}
</style>
<!-- R syntax highlighter -->
<script type="text/javascript">
var hljs=new function(){function m(p){return p.replace(/&/gm,"&amp;").replace(/</gm,"&lt;")}function f(r,q,p){return RegExp(q,"m"+(r.cI?"i":"")+(p?"g":""))}function b(r){for(var p=0;p<r.childNodes.length;p++){var q=r.childNodes[p];if(q.nodeName=="CODE"){return q}if(!(q.nodeType==3&&q.nodeValue.match(/\s+/))){break}}}function h(t,s){var p="";for(var r=0;r<t.childNodes.length;r++){if(t.childNodes[r].nodeType==3){var q=t.childNodes[r].nodeValue;if(s){q=q.replace(/\n/g,"")}p+=q}else{if(t.childNodes[r].nodeName=="BR"){p+="\n"}else{p+=h(t.childNodes[r])}}}if(/MSIE [678]/.test(navigator.userAgent)){p=p.replace(/\r/g,"\n")}return p}function a(s){var r=s.className.split(/\s+/);r=r.concat(s.parentNode.className.split(/\s+/));for(var q=0;q<r.length;q++){var p=r[q].replace(/^language-/,"");if(e[p]){return p}}}function c(q){var p=[];(function(s,t){for(var r=0;r<s.childNodes.length;r++){if(s.childNodes[r].nodeType==3){t+=s.childNodes[r].nodeValue.length}else{if(s.childNodes[r].nodeName=="BR"){t+=1}else{if(s.childNodes[r].nodeType==1){p.push({event:"start",offset:t,node:s.childNodes[r]});t=arguments.callee(s.childNodes[r],t);p.push({event:"stop",offset:t,node:s.childNodes[r]})}}}}return t})(q,0);return p}function k(y,w,x){var q=0;var z="";var s=[];function u(){if(y.length&&w.length){if(y[0].offset!=w[0].offset){return(y[0].offset<w[0].offset)?y:w}else{return w[0].event=="start"?y:w}}else{return y.length?y:w}}function t(D){var A="<"+D.nodeName.toLowerCase();for(var B=0;B<D.attributes.length;B++){var C=D.attributes[B];A+=" "+C.nodeName.toLowerCase();if(C.value!==undefined&&C.value!==false&&C.value!==null){A+='="'+m(C.value)+'"'}}return A+">"}while(y.length||w.length){var v=u().splice(0,1)[0];z+=m(x.substr(q,v.offset-q));q=v.offset;if(v.event=="start"){z+=t(v.node);s.push(v.node)}else{if(v.event=="stop"){var p,r=s.length;do{r--;p=s[r];z+=("</"+p.nodeName.toLowerCase()+">")}while(p!=v.node);s.splice(r,1);while(r<s.length){z+=t(s[r]);r++}}}}return z+m(x.substr(q))}function j(){function q(x,y,v){if(x.compiled){return}var u;var s=[];if(x.k){x.lR=f(y,x.l||hljs.IR,true);for(var w in x.k){if(!x.k.hasOwnProperty(w)){continue}if(x.k[w] instanceof Object){u=x.k[w]}else{u=x.k;w="keyword"}for(var r in u){if(!u.hasOwnProperty(r)){continue}x.k[r]=[w,u[r]];s.push(r)}}}if(!v){if(x.bWK){x.b="\\b("+s.join("|")+")\\s"}x.bR=f(y,x.b?x.b:"\\B|\\b");if(!x.e&&!x.eW){x.e="\\B|\\b"}if(x.e){x.eR=f(y,x.e)}}if(x.i){x.iR=f(y,x.i)}if(x.r===undefined){x.r=1}if(!x.c){x.c=[]}x.compiled=true;for(var t=0;t<x.c.length;t++){if(x.c[t]=="self"){x.c[t]=x}q(x.c[t],y,false)}if(x.starts){q(x.starts,y,false)}}for(var p in e){if(!e.hasOwnProperty(p)){continue}q(e[p].dM,e[p],true)}}function d(B,C){if(!j.called){j();j.called=true}function q(r,M){for(var L=0;L<M.c.length;L++){if((M.c[L].bR.exec(r)||[null])[0]==r){return M.c[L]}}}function v(L,r){if(D[L].e&&D[L].eR.test(r)){return 1}if(D[L].eW){var M=v(L-1,r);return M?M+1:0}return 0}function w(r,L){return L.i&&L.iR.test(r)}function K(N,O){var M=[];for(var L=0;L<N.c.length;L++){M.push(N.c[L].b)}var r=D.length-1;do{if(D[r].e){M.push(D[r].e)}r--}while(D[r+1].eW);if(N.i){M.push(N.i)}return f(O,M.join("|"),true)}function p(M,L){var N=D[D.length-1];if(!N.t){N.t=K(N,E)}N.t.lastIndex=L;var r=N.t.exec(M);return r?[M.substr(L,r.index-L),r[0],false]:[M.substr(L),"",true]}function z(N,r){var L=E.cI?r[0].toLowerCase():r[0];var M=N.k[L];if(M&&M instanceof Array){return M}return false}function F(L,P){L=m(L);if(!P.k){return L}var r="";var O=0;P.lR.lastIndex=0;var M=P.lR.exec(L);while(M){r+=L.substr(O,M.index-O);var N=z(P,M);if(N){x+=N[1];r+='<span class="'+N[0]+'">'+M[0]+"</span>"}else{r+=M[0]}O=P.lR.lastIndex;M=P.lR.exec(L)}return r+L.substr(O,L.length-O)}function J(L,M){if(M.sL&&e[M.sL]){var r=d(M.sL,L);x+=r.keyword_count;return r.value}else{return F(L,M)}}function I(M,r){var L=M.cN?'<span class="'+M.cN+'">':"";if(M.rB){y+=L;M.buffer=""}else{if(M.eB){y+=m(r)+L;M.buffer=""}else{y+=L;M.buffer=r}}D.push(M);A+=M.r}function G(N,M,Q){var R=D[D.length-1];if(Q){y+=J(R.buffer+N,R);return false}var P=q(M,R);if(P){y+=J(R.buffer+N,R);I(P,M);return P.rB}var L=v(D.length-1,M);if(L){var O=R.cN?"</span>":"";if(R.rE){y+=J(R.buffer+N,R)+O}else{if(R.eE){y+=J(R.buffer+N,R)+O+m(M)}else{y+=J(R.buffer+N+M,R)+O}}while(L>1){O=D[D.length-2].cN?"</span>":"";y+=O;L--;D.length--}var r=D[D.length-1];D.length--;D[D.length-1].buffer="";if(r.starts){I(r.starts,"")}return R.rE}if(w(M,R)){throw"Illegal"}}var E=e[B];var D=[E.dM];var A=0;var x=0;var y="";try{var s,u=0;E.dM.buffer="";do{s=p(C,u);var t=G(s[0],s[1],s[2]);u+=s[0].length;if(!t){u+=s[1].length}}while(!s[2]);if(D.length>1){throw"Illegal"}return{r:A,keyword_count:x,value:y}}catch(H){if(H=="Illegal"){return{r:0,keyword_count:0,value:m(C)}}else{throw H}}}function g(t){var p={keyword_count:0,r:0,value:m(t)};var r=p;for(var q in e){if(!e.hasOwnProperty(q)){continue}var s=d(q,t);s.language=q;if(s.keyword_count+s.r>r.keyword_count+r.r){r=s}if(s.keyword_count+s.r>p.keyword_count+p.r){r=p;p=s}}if(r.language){p.second_best=r}return p}function i(r,q,p){if(q){r=r.replace(/^((<[^>]+>|\t)+)/gm,function(t,w,v,u){return w.replace(/\t/g,q)})}if(p){r=r.replace(/\n/g,"<br>")}return r}function n(t,w,r){var x=h(t,r);var v=a(t);var y,s;if(v){y=d(v,x)}else{return}var q=c(t);if(q.length){s=document.createElement("pre");s.innerHTML=y.value;y.value=k(q,c(s),x)}y.value=i(y.value,w,r);var u=t.className;if(!u.match("(\\s|^)(language-)?"+v+"(\\s|$)")){u=u?(u+" "+v):v}if(/MSIE [678]/.test(navigator.userAgent)&&t.tagName=="CODE"&&t.parentNode.tagName=="PRE"){s=t.parentNode;var p=document.createElement("div");p.innerHTML="<pre><code>"+y.value+"</code></pre>";t=p.firstChild.firstChild;p.firstChild.cN=s.cN;s.parentNode.replaceChild(p.firstChild,s)}else{t.innerHTML=y.value}t.className=u;t.result={language:v,kw:y.keyword_count,re:y.r};if(y.second_best){t.second_best={language:y.second_best.language,kw:y.second_best.keyword_count,re:y.second_best.r}}}function o(){if(o.called){return}o.called=true;var r=document.getElementsByTagName("pre");for(var p=0;p<r.length;p++){var q=b(r[p]);if(q){n(q,hljs.tabReplace)}}}function l(){if(window.addEventListener){window.addEventListener("DOMContentLoaded",o,false);window.addEventListener("load",o,false)}else{if(window.attachEvent){window.attachEvent("onload",o)}else{window.onload=o}}}var e={};this.LANGUAGES=e;this.highlight=d;this.highlightAuto=g;this.fixMarkup=i;this.highlightBlock=n;this.initHighlighting=o;this.initHighlightingOnLoad=l;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="\\b(0[xX][a-fA-F0-9]+|(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.ER="(?![\\s\\S])";this.BE={b:"\\\\.",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.inherit=function(r,s){var p={};for(var q in r){p[q]=r[q]}if(s){for(var q in s){p[q]=s[q]}}return p}}();hljs.LANGUAGES.cpp=function(){var a={keyword:{"false":1,"int":1,"float":1,"while":1,"private":1,"char":1,"catch":1,"export":1,virtual:1,operator:2,sizeof:2,dynamic_cast:2,typedef:2,const_cast:2,"const":1,struct:1,"for":1,static_cast:2,union:1,namespace:1,unsigned:1,"long":1,"throw":1,"volatile":2,"static":1,"protected":1,bool:1,template:1,mutable:1,"if":1,"public":1,friend:2,"do":1,"return":1,"goto":1,auto:1,"void":2,"enum":1,"else":1,"break":1,"new":1,extern:1,using:1,"true":1,"class":1,asm:1,"case":1,typeid:1,"short":1,reinterpret_cast:2,"default":1,"double":1,register:1,explicit:1,signed:1,typename:1,"try":1,"this":1,"switch":1,"continue":1,wchar_t:1,inline:1,"delete":1,alignof:1,char16_t:1,char32_t:1,constexpr:1,decltype:1,noexcept:1,nullptr:1,static_assert:1,thread_local:1,restrict:1,_Bool:1,complex:1},built_in:{std:1,string:1,cin:1,cout:1,cerr:1,clog:1,stringstream:1,istringstream:1,ostringstream:1,auto_ptr:1,deque:1,list:1,queue:1,stack:1,vector:1,map:1,set:1,bitset:1,multiset:1,multimap:1,unordered_set:1,unordered_map:1,unordered_multiset:1,unordered_multimap:1,array:1,shared_ptr:1}};return{dM:{k:a,i:"</",c:[hljs.CLCM,hljs.CBLCLM,hljs.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},hljs.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:a,r:10,c:["self"]}]}}}();hljs.LANGUAGES.r={dM:{c:[hljs.HCM,{cN:"number",b:"\\b0[xX][0-9a-fA-F]+[Li]?\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\b\\d+(?:[eE][+\\-]?\\d*)?L\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\b\\d+\\.(?!\\d)(?:i\\b)?",e:hljs.IMMEDIATE_RE,r:1},{cN:"number",b:"\\b\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"keyword",b:"(?:tryCatch|library|setGeneric|setGroupGeneric)\\b",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\.\\.\\.",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\.\\.\\d+(?![\\w.])",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\b(?:function)",e:hljs.IMMEDIATE_RE,r:2},{cN:"keyword",b:"(?:if|in|break|next|repeat|else|for|return|switch|while|try|stop|warning|require|attach|detach|source|setMethod|setClass)\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"literal",b:"(?:NA|NA_integer_|NA_real_|NA_character_|NA_complex_)\\b",e:hljs.IMMEDIATE_RE,r:10},{cN:"literal",b:"(?:NULL|TRUE|FALSE|T|F|Inf|NaN)\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"identifier",b:"[a-zA-Z.][a-zA-Z0-9._]*\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"operator",b:"<\\-(?!\\s*\\d)",e:hljs.IMMEDIATE_RE,r:2},{cN:"operator",b:"\\->|<\\-",e:hljs.IMMEDIATE_RE,r:1},{cN:"operator",b:"%%|~",e:hljs.IMMEDIATE_RE},{cN:"operator",b:">=|<=|==|!=|\\|\\||&&|=|\\+|\\-|\\*|/|\\^|>|<|!|&|\\||\\$|:",e:hljs.IMMEDIATE_RE,r:0},{cN:"operator",b:"%",e:"%",i:"\\n",r:1},{cN:"identifier",b:"`",e:"`",r:0},{cN:"string",b:'"',e:'"',c:[hljs.BE],r:0},{cN:"string",b:"'",e:"'",c:[hljs.BE],r:0},{cN:"paren",b:"[[({\\])}]",e:hljs.IMMEDIATE_RE,r:0}]}};
hljs.initHighlightingOnLoad();
</script>
<style type="text/css">
body, td {
font-family: sans-serif;
background-color: white;
font-size: 13px;
}
body {
max-width: 800px;
margin: auto;
padding: 1em;
line-height: 20px;
}
tt, code, pre {
font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace;
}
h1 {
font-size:2.2em;
}
h2 {
font-size:1.8em;
}
h3 {
font-size:1.4em;
}
h4 {
font-size:1.0em;
}
h5 {
font-size:0.9em;
}
h6 {
font-size:0.8em;
}
a:visited {
color: rgb(50%, 0%, 50%);
}
pre, img {
max-width: 100%;
}
pre {
overflow-x: auto;
}
pre code {
display: block; padding: 0.5em;
}
code {
font-size: 92%;
border: 1px solid #ccc;
}
code[class] {
background-color: #F8F8F8;
}
table, td, th {
border: none;
}
blockquote {
color:#666666;
margin:0;
padding-left: 1em;
border-left: 0.5em #EEE solid;
}
hr {
height: 0px;
border-bottom: none;
border-top-width: thin;
border-top-style: dotted;
border-top-color: #999999;
}
@media print {
* {
background: transparent !important;
color: black !important;
filter:none !important;
-ms-filter: none !important;
}
body {
font-size:12pt;
max-width:100%;
}
a, a:visited {
text-decoration: underline;
}
hr {
visibility: hidden;
page-break-before: always;
}
pre, blockquote {
padding-right: 1em;
page-break-inside: avoid;
}
tr, img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
@page :left {
margin: 15mm 20mm 15mm 10mm;
}
@page :right {
margin: 15mm 10mm 15mm 20mm;
}
p, h2, h3 {
orphans: 3; widows: 3;
}
h2, h3 {
page-break-after: avoid;
}
}
</style>
</head>
<body>
<p><link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css"></p>
<style type="text/css"> body {padding: 10px 30px 10px 30px;} table,th, td {text-align: center;} </style>
<h1>Financial Data Segmentation: Factor Analysis</h1>
<p><strong>Arina Bobrova, Dennis Maroulis, Tavleen Kaur, Ville Herlin</strong></p>
<h2>Business Decisions</h2>
<p>Analyze the correlation between different companies in the Vietnamise stock market.</p>
<h2>The Data</h2>
<p>We analyze 900 companies based on 17 different variables including market cap, EBITDA, PE, e.t.c. listed in the vietnamise stock market</p>
<p>This is how the first 50 data looks:
<br></p>
<div class="row">
<div class="col-md-40">
<!-- Table generated in R 3.3.0 by googleVis 0.5.10 package -->
<!-- Wed Jun 15 21:58:55 2016 -->
<!-- jsHeader -->
<script type="text/javascript">
// jsData
function gvisDataTableID2704c4757d2 () {
var data = new google.visualization.DataTable();
var datajson =
[
[
"1",
109961979.3,
8.33,
0.89,
6.66,
5.33,
10.05,
0.4,
155608084.6,
1.71,
1.34,
1.48,
144807475.6,
0.08,
32442631.15,
14604143.61,
-4735726.09,
10913214.64
],
[
"2",
2105263.16,
0,
0,
0,
0,
0,
0.14,
2309577.34,
11.28,
0,
0,
1598308.89,
0,
4440875.11,
0,
0,
0
],
[
"3",
77548764.65,
46.77,
1.85,
9.24,
0.51,
18.46,
0.67,
225969361,
0.7,
0.49,
1.01,
316874249.8,
0,
436280188.8,
1237523.32,
-1047873.2,
4124908.17
],
[
"4",
1146367.26,
11.98,
0.58,
0,
0,
0,
0.47,
2045157.31,
0.71,
0.71,
1.05,
3640655.58,
0.05,
2374242.79,
69677.54,
-292561.5,
0
],
[
"5",
1056211.96,
11.74,
1.58,
8.45,
0.59,
0,
0.82,
4495701.97,
0.44,
0.67,
1.04,
13355537.2,
0,
7420672.13,
48852.36,
-1415.4,
-88180.83
],
[
"6",
9204362.35,
3.7,
2.11,
10.26,
0.65,
2.68,
0.67,
34006365.07,
0.66,
0.7,
1.04,
63182552.94,
0.06,
57906321.65,
1664586.01,
-1553394.77,
1169811.85
],
[
"7",
3458900.89,
6.45,
0,
4.91,
1.51,
9.1,
0,
3392214.51,
1.39,
1.85,
4.09,
2971825.89,
0.05,
2178438.25,
485720.59,
-311962.39,
376187.44
],
[
"8",
5104672.4,
8.08,
0,
9.09,
2.26,
18.21,
0.11,
4309143.71,
1.51,
2.74,
2.75,
3560337.63,
0.08,
1836794,
608847.12,
-26843.42,
38174.47
],
[
"9",
1933404.94,
7.7,
0.13,
4.61,
0.54,
4.99,
0.13,
2097593.22,
0.47,
2.46,
2.7,
4596363.06,
0,
3867553.48,
312135.26,
-67452.4,
378384.94
],
[
"10",
2604189.04,
0,
0,
0,
0,
0,
0.23,
1745606.99,
0.63,
0,
0,
6633387.89,
0.1,
12787352.12,
0,
-286885.01,
293885.42
],
[
"11",
47902255.64,
9.3,
0.11,
0,
0,
0,
0.01,
40575252.15,
0.41,
1.7,
1.74,
7312629.21,
0,
14609392.62,
172228.01,
-1123891.86,
0
],
[
"12",
7561314,
0,
0,
0,
0,
0,
0,
3294702.8,
1.01,
0,
0,
11083042.57,
0.06,
22922933.64,
0,
-1283163.58,
0
],
[
"13",
1586466.17,
0,
0.18,
0,
0,
0,
0.76,
675165.35,
0.55,
1.64,
1.77,
5810657.61,
0.09,
12608057.96,
575345.08,
-1953026.98,
0
],
[
"14",
2404702.79,
52.36,
1.04,
6.38,
0.49,
51.2,
0.63,
5504799.44,
7.11,
0.79,
1.2,
11297312.39,
0.08,
11150995.28,
46682.23,
-105274.18,
-159729.91
],
[
"15",
27747941.28,
7.01,
2.04,
8.89,
1.91,
7.06,
0.78,
130628622.9,
0.56,
0.39,
1.42,
327145577.5,
0.16,
69465699.25,
4850292.47,
-846025.98,
4073395.47
],
[
"16",
40279269.47,
2.12,
1.18,
0,
2.87,
1.34,
0.53,
122335752.5,
0.67,
0.92,
1,
307834052.1,
0,
41357326.88,
30301922.58,
-1367218.47,
28180548.13
],
[
"17",
313587.49,
0,
0,
0,
0,
0,
0.99,
23442244.9,
0,
0,
0,
19972992.26,
0,
8205912.18,
0,
-425921.69,
0
],
[
"18",
1004097.35,
6.79,
0.08,
0,
0,
0,
0.07,
1498146.48,
1.12,
0.65,
1.3,
3286321.7,
0.1,
7524470.95,
154736.91,
-4817.34,
0
],
[
"19",
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
[
"20",
13956766.92,
7.43,
0,
3.69,
0.13,
11.18,
0,
6735465.86,
1.72,
3.18,
3.25,
17314955.5,
0.03,
55751141.41,
1550581.75,
-130657.03,
908369.08
],
[
"21",
4573755.82,
32.43,
0.51,
83.01,
15.06,
262.22,
0.62,
11310049.49,
0.32,
0.06,
0.06,
39528859.39,
0,
1143291.33,
120831.29,
-177702.75,
17369.83
],
[
"22",
9666851.77,
16,
4.01,
7.73,
0.77,
30.65,
0.89,
58195911.29,
0.59,
0.19,
1.01,
109885641.8,
0.06,
76680331.78,
367831.75,
-6351512.14,
312736.11
],
[
"23",
9720730.4,
0,
0.43,
0,
7.54,
0,
0.46,
29845013.47,
0.32,
2.36,
2.43,
58353433.05,
0,
4273881.59,
-5623883.93,
-109707.06,
-5695210.71
],
[
"24",
2363050.48,
4.54,
0,
-3.49,
-0.4,
6.97,
0,
-1177262.16,
1.11,
0.9,
0.98,
7556028.68,
0.14,
3040522.29,
323337.52,
-69454.75,
340542.84
],
[
"25",
1068194.87,
0,
0,
0,
0,
0,
0,
1069343.47,
0,
0,
0,
154750385.1,
0,
1231966.73,
0,
0,
0
],
[
"26",
18750000,
0,
0,
0,
0,
0,
0.01,
11666874.4,
2,
0,
0,
10060394.2,
0.06,
20732598.43,
0,
-183278.38,
0
],
[
"27",
12263829.22,
12.11,
0.19,
9.51,
0.74,
15.37,
0.35,
18575463.16,
0.38,
2.95,
3.2,
51558131.05,
0,
26801433.71,
869982.77,
-568166.41,
804532.5
],
[
"28",
1229860.37,
5.29,
0,
0,
0,
0,
0,
237002.91,
1.24,
3.79,
3.91,
1414160.79,
0.13,
2156423.02,
230787.96,
0,
0
],
[
"29",
317712.14,
0,
0,
0,
0,
0,
1.2,
2463072.27,
0.22,
0,
0,
4554125.38,
0,
829776.93,
0,
-2606.76,
0
],
[
"30",
707212.23,
15.99,
0.02,
8.01,
0.13,
14.94,
0.08,
641324.76,
0.63,
1.07,
1.26,
3991174.7,
0.06,
4458032.77,
44450.17,
-44035.43,
48565.98
],
[
"31",
1087540.28,
46.76,
2.36,
0,
1.1,
0,
0.83,
5672210.96,
0.62,
0.96,
1.56,
9595981.71,
0,
5394742.13,
50519.03,
-204137.49,
-42277.01
],
[
"32",
5985825.97,
61.9,
0.01,
50.41,
1.17,
53.89,
0.03,
6073473.6,
0.45,
1.32,
1.61,
15713929.7,
0,
3532710.75,
73900.64,
0,
92832.94
],
[
"33",
29900644.47,
52.05,
0,
98.19,
21.71,
60.94,
0,
30366759.79,
2.54,
1.19,
1.19,
8617463.54,
0,
3325749.37,
319538.85,
0,
299865.44
],
[
"34",
2909058.36,
9.22,
1.3,
22.25,
0.46,
10.32,
0.82,
11487572.22,
0.38,
0.95,
1.35,
27753691.09,
0.09,
27993504.18,
373037.73,
-6005.34,
274391.88
],
[
"35",
66949.93,
0.42,
0.1,
0,
0,
0,
0,
-144457.48,
0.03,
0.96,
1.18,
3378180.87,
3.25,
3086894.14,
789400.58,
-172721.98,
0
],
[
"36",
26442250.44,
11.3,
0.09,
4.35,
3.53,
13.2,
0.11,
28770267.21,
0.87,
0.78,
0.79,
64793466.63,
0.1,
8671075.62,
2302925.68,
-89554.27,
1982309.12
],
[
"37",
17974012.44,
5.74,
0.03,
3.48,
2.29,
5.74,
0.02,
8026428.19,
2.66,
9.32,
11.15,
22428889.68,
0.07,
2835045.37,
2138452.53,
-481987.36,
1643493.31
],
[
"38",
433225.92,
0,
0,
0,
0,
0,
0.61,
898677.5,
0.4,
0,
0,
2189128.21,
0.14,
3302860.39,
0,
-71174.38,
0
],
[
"39",
6623702.11,
2.79,
0.35,
2.01,
0.24,
3.31,
0.24,
4561748.46,
2.47,
0.48,
0.9,
12064732.21,
0,
13663466.07,
1498292.17,
-134336.23,
2064110.92
],
[
"40",
2148227.71,
36.8,
0.31,
7.51,
0.21,
34.61,
0.44,
3428769.26,
0.36,
0.6,
0.94,
16969716.51,
0,
15537058.11,
58015.13,
-46078.17,
61893.08
],
[
"41",
37056928.03,
6,
0.55,
5.04,
0.64,
7.27,
0.39,
54578463.25,
1.08,
0.87,
1.14,
78488936.23,
0.11,
77626556.11,
4880638.74,
-3916613.68,
1964626.1
],
[
"42",
34386971.21,
0,
1.38,
13.1,
0.83,
0,
0.62,
75919512.61,
0.94,
0.16,
0.97,
107299096.3,
0,
82429941,
-2817496.61,
-142484.12,
-2489794.58
],
[
"43",
87715.57,
0,
0,
0,
0,
0,
0,
-513862.85,
0.09,
0,
0,
1526093.81,
1.19,
4805726.42,
0,
0,
0
],
[
"44",
5272108.84,
0,
0,
0,
0,
0,
0.02,
4599300.75,
0.91,
0,
0,
9182086.84,
0.05,
18784715.27,
0,
-1109614.91,
0
],
[
"45",
24978921.07,
9.76,
0.72,
8.55,
2.27,
11.43,
0.36,
34104983.38,
1.71,
0.9,
0.91,
28637018.49,
0.04,
14342802.42,
2267726.9,
-8206842.82,
2202223.48
],
[
"46",
580021.48,
0,
0,
0,
0,
0,
0,
564853.81,
0,
0,
0,
1624034.72,
0.09,
1020647.17,
0,
-33659.76,
0
],
[
"47",
1938970.83,
0,
1.17,
8.48,
0.52,
9.14,
0.63,
5087137.69,
0.69,
1.05,
1.21,
7842900.74,
0.11,
9184468.17,
259644.36,
-211923,
218956.85
],
[
"48",
7921589.69,
4.72,
1.45,
7.61,
0.6,
5.49,
0.78,
25374638.98,
0.52,
0.82,
1.04,
55316039.39,
0.18,
50690227.48,
1582392.19,
-1083231.74,
1447407.94
],
[
"49",
2119110.59,
0,
0,
0,
0,
0,
1.13,
7423209.46,
0.53,
0,
0,
16292991.5,
0.07,
30627940.3,
0,
-40726.24,
0
],
[
"50",
45912833.78,
6.66,
0,
4.77,
1.71,
7.95,
0,
41006747.76,
3.16,
1.9,
3.15,
17789459.36,
0.04,
22591604.96,
5491370.81,
-388267.82,
5722625.26
]
];
data.addColumn('string','Variables');
data.addColumn('number','Company.Market.Cap..USD.');
data.addColumn('number','Historic.P.E..FY0.');
data.addColumn('number','Total.Debt.to.Total.Equity..Percent..FY0.');
data.addColumn('number','Enterprise.Value.To.EBITDA..Daily.Time.Series.Ratio.');
data.addColumn('number','Enterprise.Value.To.Sales..Daily.Time.Series.Ratio.');
data.addColumn('number','P.E..Daily.Time.Series.Ratio.');
data.addColumn('number','Total.Debt.To.Enterprise.Value..Daily.Time.Series.Ratio.');
data.addColumn('number','Enterprise.Value..Daily.Time.Series...USD.');
data.addColumn('number','Price.To.Book.Value.Per.Share..Daily.Time.Series.Ratio.');
data.addColumn('number','Quick.Ratio..FY0.');
data.addColumn('number','Current.Ratio..FY0.');
data.addColumn('number','Total.Assets..Reported..FY0..USD.');
data.addColumn('number','Dividend.yield');
data.addColumn('number','Revenue..FY0..USD.');
data.addColumn('number','Net.Income.After.Taxes..FY0..USD.');
data.addColumn('number','Capital.Expenditures..FY0..USD.');
data.addColumn('number','Retained.Earnings..TTM..FI0..USD.');
data.addRows(datajson);
return(data);
}
// jsDrawChart
function drawChartTableID2704c4757d2() {
var data = gvisDataTableID2704c4757d2();
var options = {};
options["allowHtml"] = true;
options["showRowNumber"] = true;
options["width"] = 1920;
options["height"] = 400;
options["frozenColumns"] = 1;
options["allowHTML"] = true;
options["page"] = "disable";
var chart = new google.visualization.Table(
document.getElementById('TableID2704c4757d2')
);
chart.draw(data,options);
}
// jsDisplayChart
(function() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
var chartid = "table";
// Manually see if chartid is in pkgs (not all browsers support Array.indexOf)
var i, newPackage = true;
for (i = 0; newPackage && i < pkgs.length; i++) {
if (pkgs[i] === chartid)
newPackage = false;
}
if (newPackage)
pkgs.push(chartid);
// Add the drawChart function to the global list of callbacks
callbacks.push(drawChartTableID2704c4757d2);
})();
function displayChartTableID2704c4757d2() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
window.clearTimeout(window.__gvisLoad);
// The timeout is set to 100 because otherwise the container div we are
// targeting might not be part of the document yet
window.__gvisLoad = setTimeout(function() {
var pkgCount = pkgs.length;
google.load("visualization", "1", { packages:pkgs, callback: function() {
if (pkgCount != pkgs.length) {
// Race condition where another setTimeout call snuck in after us; if
// that call added a package, we must not shift its callback
return;
}
while (callbacks.length > 0)
callbacks.shift()();
} });
}, 100);
}
// jsFooter
</script>
<!-- jsChart -->
<script type="text/javascript" src="https://www.google.com/jsapi?callback=displayChartTableID2704c4757d2"></script>
<!-- divChart -->
<div id="TableID2704c4757d2"
style="width: 1920; height: 400;">
</div>
<p></div>
</div>
<br> <br></p>
<h2>Our Approach</h2>
<h4>Factor Analysis in 6 steps</h4>
<ol>
<li><p>Confirm the data in metric </p></li>
<li><p>Decide whether to scale or standardize the data</p></li>
<li><p>Check the correlation matrix to see if Factor Analysis makes sense</p></li>
<li><p>Develop a scree plot and decide on the number of factors to be derived</p></li>
<li><p>Interpret the factors (consider factor rotations - technical but useful)</p></li>
<li><p>Save factor scores for subsequent analyses</p></li>
</ol>
<p>Let&#39;s follow these steps.</p>
<p>The data we use here have the following descriptive statistics: </p>
<div class="row">
<div class="col-md-40">
<!-- Table generated in R 3.3.0 by googleVis 0.5.10 package -->
<!-- Wed Jun 15 21:58:55 2016 -->
<!-- jsHeader -->
<script type="text/javascript">
// jsData
function gvisDataTableID27044438b89a () {
var data = new google.visualization.DataTable();
var datajson =
[
[
"Company Market Cap USD ",
0,
2067669.17,
6726472.43,
68577469.33,
24659227.59,
7358534619,
411725511.6
],
[
"Historic P E FY0 ",
0,
0,
6.45,
24.04,
11.31,
3360.49,
155.18
],
[
"Total Debt to Total Equity Percent FY0 ",
0,
0,
0.13,
1.48,
0.8,
525.42,
18.2
],
[
"Enterprise Value To EBITDA Daily Time Series Ratio ",
-214,
0,
4.36,
37.3,
8.39,
26770.95,
852.05
],
[
"Enterprise Value To Sales Daily Time Series Ratio ",
-45.92,
0,
0.44,
1.44,
1.16,
133.32,
6.45
],
[
"P E Daily Time Series Ratio ",
0,
0,
6.35,
16.87,
11.54,
2081.77,
94.38
],
[
"Total Debt To Enterprise Value Daily Time Series Ratio ",
0,
0,
0.19,
0.32,
0.57,
6.16,
0.4
],
[
"Enterprise Value Daily Time Series USD ",
-36870373.69,
856323.12,
7436027.62,
76173044.19,
33952205.48,
6983632759,
416233961.8
],
[
"Price To Book Value Per Share Daily Time Series Ratio ",
-16.36,
0.29,
0.71,
1.93,
1.25,
980.38,
31.14
],
[
"Quick Ratio FY0 ",
0,
0,
0.71,
1.85,
1.44,
145.1,
7.7
],
[
"Current Ratio FY0 ",
0,
0,
1.16,
2.28,
2.05,
145.1,
7.75
],
[
"Total Assets Reported FY0 USD ",
0,
3524663.5,
15219325.66,
223939799.5,
50168690.33,
37841176560,
2020011119
],
[
"Dividend yield",
0,
0,
0.02,
0.05,
0.07,
4.44,
0.21
],
[
"Revenue FY0 USD ",
-257861.01,
1594496.41,
9981253.59,
48014704.38,
34296961.98,
2860329361,
164293729.7
],
[
"Net Income After Taxes FY0 USD ",
-45360674.08,
0,
291893.08,
4629789.85,
2036698.94,
392888163.6,
25375183.36
],
[
"Capital Expenditures FY0 USD ",
-645677007.1,
-1285301.45,
-163081.2,
-4558697.38,
0,
148622.62,
28078310.42
],
[
"Retained Earnings TTM FI0 USD ",
-27862390.34,
0,
126004.13,
3233360.07,
1445529.68,
232317103.8,
16326777.21
]
];
data.addColumn('string','Variables');
data.addColumn('number','min');
data.addColumn('number','X25.percent');
data.addColumn('number','median');
data.addColumn('number','mean');
data.addColumn('number','X75.percent');
data.addColumn('number','max');
data.addColumn('number','std');
data.addRows(datajson);
return(data);
}
// jsDrawChart
function drawChartTableID27044438b89a() {
var data = gvisDataTableID27044438b89a();
var options = {};
options["allowHtml"] = true;
options["showRowNumber"] = true;
options["width"] = 1920;
options["height"] = 400;
options["allowHTML"] = true;
options["page"] = "disable";
var chart = new google.visualization.Table(
document.getElementById('TableID27044438b89a')
);
chart.draw(data,options);
}
// jsDisplayChart
(function() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
var chartid = "table";
// Manually see if chartid is in pkgs (not all browsers support Array.indexOf)
var i, newPackage = true;
for (i = 0; newPackage && i < pkgs.length; i++) {
if (pkgs[i] === chartid)
newPackage = false;
}
if (newPackage)
pkgs.push(chartid);
// Add the drawChart function to the global list of callbacks
callbacks.push(drawChartTableID27044438b89a);
})();
function displayChartTableID27044438b89a() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
window.clearTimeout(window.__gvisLoad);
// The timeout is set to 100 because otherwise the container div we are
// targeting might not be part of the document yet
window.__gvisLoad = setTimeout(function() {
var pkgCount = pkgs.length;
google.load("visualization", "1", { packages:pkgs, callback: function() {
if (pkgCount != pkgs.length) {
// Race condition where another setTimeout call snuck in after us; if
// that call added a package, we must not shift its callback
return;
}
while (callbacks.length > 0)
callbacks.shift()();
} });
}, 100);
}
// jsFooter
</script>
<!-- jsChart -->
<script type="text/javascript" src="https://www.google.com/jsapi?callback=displayChartTableID27044438b89a"></script>
<!-- divChart -->
<div id="TableID27044438b89a"
style="width: 1920; height: 400;">
</div>
<p></div>
</div></p>
<h4>Step 2: Decide whether to scale or standardize the data</h4>
<p>We scaled the data because of the different magnitude of the numbers in the data under consideration.</p>
<pre><code class="r">ProjectDatafactor_scaled=apply(ProjectDataFactor,2, function(r) {if (sd(r)!=0||is.na(r)==FALSE) res=(r-mean(r))/sd(r) else res=0*r; res})
</code></pre>
<p>Below is the summary statistics of the scaled dataset:</p>
<p><br></p>
<div class="row">
<div class="col-md-40">
<!-- Table generated in R 3.3.0 by googleVis 0.5.10 package -->
<!-- Wed Jun 15 21:58:55 2016 -->
<!-- jsHeader -->
<script type="text/javascript">
// jsData
function gvisDataTableID270459be6235 () {
var data = new google.visualization.DataTable();
var datajson =
[
[
"Company Market Cap USD ",
-0.17,
-0.16,
-0.15,
0,
-0.11,
17.71,
1
],
[
"Historic P E FY0 ",
-0.15,
-0.15,
-0.11,
0,
-0.08,
21.5,
1
],
[
"Total Debt to Total Equity Percent FY0 ",
-0.08,
-0.08,
-0.07,
0,
-0.04,
28.79,
1
],
[
"Enterprise Value To EBITDA Daily Time Series Ratio ",
-0.29,
-0.04,
-0.04,
0,
-0.03,
31.38,
1
],
[
"Enterprise Value To Sales Daily Time Series Ratio ",
-7.34,
-0.22,
-0.15,
0,
-0.04,
20.45,
1
],
[
"P E Daily Time Series Ratio ",
-0.18,
-0.18,
-0.11,
0,
-0.06,
21.88,
1
],
[
"Total Debt To Enterprise Value Daily Time Series Ratio ",
-0.81,
-0.81,
-0.34,
0,
0.61,
14.57,
1
],
[
"Enterprise Value Daily Time Series USD ",
-0.27,
-0.18,
-0.17,
0,
-0.1,
16.6,
1
],
[
"Price To Book Value Per Share Daily Time Series Ratio ",
-0.59,
-0.05,
-0.04,
0,
-0.02,
31.42,
1
],
[
"Quick Ratio FY0 ",
-0.24,
-0.24,
-0.15,
0,
-0.05,
18.6,
1
],
[
"Current Ratio FY0 ",
-0.29,
-0.29,
-0.14,
0,
-0.03,
18.42,
1
],
[
"Total Assets Reported FY0 USD ",
-0.11,
-0.11,
-0.1,
0,
-0.09,
18.62,
1
],
[
"Dividend yield",
-0.25,
-0.25,
-0.16,
0,
0.09,
21.23,
1
],
[
"Revenue FY0 USD ",
-0.29,
-0.28,
-0.23,
0,
-0.08,
17.12,
1
],
[
"Net Income After Taxes FY0 USD ",
-1.97,
-0.18,
-0.17,
0,
-0.1,
15.3,
1
],
[
"Capital Expenditures FY0 USD ",
-22.83,
0.12,
0.16,
0,
0.16,
0.17,
1
],
[
"Retained Earnings TTM FI0 USD ",
-1.9,
-0.2,
-0.19,
0,
-0.11,
14.03,
1
]
];
data.addColumn('string','Variables');
data.addColumn('number','min');
data.addColumn('number','X25.percent');
data.addColumn('number','median');
data.addColumn('number','mean');
data.addColumn('number','X75.percent');
data.addColumn('number','max');
data.addColumn('number','std');
data.addRows(datajson);
return(data);
}
// jsDrawChart
function drawChartTableID270459be6235() {
var data = gvisDataTableID270459be6235();
var options = {};
options["allowHtml"] = true;
options["showRowNumber"] = true;
options["width"] = 1920;
options["height"] = 400;
options["allowHTML"] = true;
options["page"] = "disable";
var chart = new google.visualization.Table(
document.getElementById('TableID270459be6235')
);
chart.draw(data,options);
}
// jsDisplayChart
(function() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
var chartid = "table";
// Manually see if chartid is in pkgs (not all browsers support Array.indexOf)
var i, newPackage = true;
for (i = 0; newPackage && i < pkgs.length; i++) {
if (pkgs[i] === chartid)
newPackage = false;
}
if (newPackage)
pkgs.push(chartid);
// Add the drawChart function to the global list of callbacks
callbacks.push(drawChartTableID270459be6235);
})();
function displayChartTableID270459be6235() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
window.clearTimeout(window.__gvisLoad);
// The timeout is set to 100 because otherwise the container div we are
// targeting might not be part of the document yet
window.__gvisLoad = setTimeout(function() {
var pkgCount = pkgs.length;
google.load("visualization", "1", { packages:pkgs, callback: function() {
if (pkgCount != pkgs.length) {
// Race condition where another setTimeout call snuck in after us; if
// that call added a package, we must not shift its callback
return;
}
while (callbacks.length > 0)
callbacks.shift()();
} });
}, 100);
}
// jsFooter
</script>
<!-- jsChart -->
<script type="text/javascript" src="https://www.google.com/jsapi?callback=displayChartTableID270459be6235"></script>
<!-- divChart -->
<div id="TableID270459be6235"
style="width: 1920; height: 400;">
</div>
<p></div>
</div></p>
<p><br>
As expected all variables have mean 0 and standard deviation 1. </p>
<h4>Step 3: Check correlation matrix to see if Factor Analysis makes sense</h4>
<p>This is the correlation matrix of the 17 original variable we use for factor analysis. Some of the variables have strong correlations. The most obvious ones are between size meters such as revenue and value metrics such as market capitalization. Some interesting observations can be made from correlations alone. For instance dividend yield does not significantly affect valuation or depend on size. P/E does not depend on size. </p>
<!-- Table generated in R 3.3.0 by googleVis 0.5.10 package -->
<!-- Wed Jun 15 21:58:55 2016 -->
<!-- jsHeader -->
<script type="text/javascript">
// jsData
function gvisDataTableID2704129675cb () {
var data = new google.visualization.DataTable();
var datajson =
[
[
1,
0,
-0.01,
0,
0.04,
0.01,
-0.06,
0.96,
0,
0.01,
0.01,
0.58,
-0.02,
0.63,
0.85,
-0.53,
0.82
],
[
0,
1,
-0.01,
0.01,
0.03,
0.21,
0.01,
0,
0,
0.03,
0.02,
0,
-0.03,
-0.01,
-0.01,
0,
-0.01
],
[
-0.01,
-0.01,
1,
0,
0.01,
-0.01,
0.1,
-0.01,
0.02,
-0.01,
-0.02,
-0.01,
-0.01,
0,
-0.01,
0,
-0.01
],
[
0,
0.01,
0,
1,
0.11,
0.07,
-0.02,
0,
0,
0.06,
0.06,
0,
-0.01,
-0.01,
-0.01,
0,
-0.01
],
[
0.04,
0.03,
0.01,
0.11,
1,
0.01,
0.06,
0.05,
0,
0,
0.01,
0,
-0.03,
-0.01,
0.01,
-0.03,
0.01
],
[
0.01,
0.21,
-0.01,
0.07,
0.01,
1,
0.01,
0.02,
0,
0,
0,
0.01,
-0.03,
0.01,
0,
-0.02,
-0.01
],
[
-0.06,
0.01,
0.1,
-0.02,
0.06,
0.01,
1,
-0.02,
0.05,
-0.09,
-0.09,
-0.05,
0.02,
0.06,
-0.07,
-0.03,
-0.06
],
[
0.96,
0,
-0.01,
0,
0.05,
0.02,
-0.02,
1,
0.01,
0,
0,
0.47,
-0.02,
0.69,
0.77,
-0.68,
0.74
],
[
0,
0,
0.02,
0,
0,
0,
0.05,
0.01,
1,
0,
0,
0,
0,
0.01,
0.01,
0,
0.01
],
[
0.01,
0.03,
-0.01,
0.06,
0,
0,
-0.09,
0,
0,
1,
1,
-0.02,
-0.02,
-0.02,
-0.01,
0.01,
-0.02
],
[
0.01,
0.02,
-0.02,
0.06,
0.01,
0,
-0.09,
0,
0,
1,
1,
-0.02,
-0.02,
-0.02,
-0.01,
0.01,
-0.02
],
[
0.58,
0,
-0.01,
0,
0,
0.01,
-0.05,
0.47,
0,
-0.02,
-0.02,
1,
-0.02,
0.08,
0.62,
-0.24,
0.78
],
[
-0.02,
-0.03,
-0.01,
-0.01,
-0.03,
-0.03,
0.02,
-0.02,
0,
-0.02,
-0.02,
-0.02,
1,
-0.01,
-0.01,
0.02,
-0.02
],
[
0.63,
-0.01,
0,
-0.01,
-0.01,
0.01,
0.06,
0.69,
0.01,
-0.02,
-0.02,
0.08,
-0.01,
1,
0.64,
-0.57,
0.51
],
[
0.85,
-0.01,
-0.01,
-0.01,
0.01,
0,
-0.07,
0.77,
0.01,
-0.01,
-0.01,
0.62,
-0.01,
0.64,
1,
-0.41,
0.88
],
[
-0.53,
0,
0,
0,
-0.03,
-0.02,
-0.03,
-0.68,
0,
0.01,
0.01,
-0.24,
0.02,
-0.57,
-0.41,
1,
-0.41
],
[
0.82,
-0.01,
-0.01,
-0.01,
0.01,
-0.01,
-0.06,
0.74,
0.01,
-0.02,
-0.02,
0.78,
-0.02,
0.51,
0.88,
-0.41,
1
]
];
data.addColumn('number','Company.Market.Cap..USD.');
data.addColumn('number','Historic.P.E..FY0.');
data.addColumn('number','Total.Debt.to.Total.Equity..Percent..FY0.');
data.addColumn('number','Enterprise.Value.To.EBITDA..Daily.Time.Series.Ratio.');
data.addColumn('number','Enterprise.Value.To.Sales..Daily.Time.Series.Ratio.');
data.addColumn('number','P.E..Daily.Time.Series.Ratio.');
data.addColumn('number','Total.Debt.To.Enterprise.Value..Daily.Time.Series.Ratio.');
data.addColumn('number','Enterprise.Value..Daily.Time.Series...USD.');
data.addColumn('number','Price.To.Book.Value.Per.Share..Daily.Time.Series.Ratio.');
data.addColumn('number','Quick.Ratio..FY0.');
data.addColumn('number','Current.Ratio..FY0.');
data.addColumn('number','Total.Assets..Reported..FY0..USD.');
data.addColumn('number','Dividend.yield');
data.addColumn('number','Revenue..FY0..USD.');
data.addColumn('number','Net.Income.After.Taxes..FY0..USD.');
data.addColumn('number','Capital.Expenditures..FY0..USD.');
data.addColumn('number','Retained.Earnings..TTM..FI0..USD.');
data.addRows(datajson);
return(data);
}
// jsDrawChart
function drawChartTableID2704129675cb() {
var data = gvisDataTableID2704129675cb();
var options = {};
options["allowHtml"] = true;
options["width"] = 1920;
options["height"] = 400;
options["allowHTML"] = true;
var chart = new google.visualization.Table(
document.getElementById('TableID2704129675cb')
);
chart.draw(data,options);
}
// jsDisplayChart
(function() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
var chartid = "table";
// Manually see if chartid is in pkgs (not all browsers support Array.indexOf)
var i, newPackage = true;
for (i = 0; newPackage && i < pkgs.length; i++) {
if (pkgs[i] === chartid)
newPackage = false;
}
if (newPackage)
pkgs.push(chartid);
// Add the drawChart function to the global list of callbacks
callbacks.push(drawChartTableID2704129675cb);
})();
function displayChartTableID2704129675cb() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
window.clearTimeout(window.__gvisLoad);
// The timeout is set to 100 because otherwise the container div we are
// targeting might not be part of the document yet
window.__gvisLoad = setTimeout(function() {
var pkgCount = pkgs.length;
google.load("visualization", "1", { packages:pkgs, callback: function() {
if (pkgCount != pkgs.length) {
// Race condition where another setTimeout call snuck in after us; if
// that call added a package, we must not shift its callback
return;
}
while (callbacks.length > 0)
callbacks.shift()();
} });
}, 100);
}
// jsFooter
</script>
<!-- jsChart -->
<script type="text/javascript" src="https://www.google.com/jsapi?callback=displayChartTableID2704129675cb"></script>
<!-- divChart -->
<div id="TableID2704129675cb"
style="width: 1920; height: 400;">
</div>
<h4>Step 4. Develop a scree plot and decide on the number of factors to be derived</h4>
<p>Based on the cumulative explained variance we use six components that explain 67% of the total variance.</p>
<p><br></p>
<!-- Table generated in R 3.3.0 by googleVis 0.5.10 package -->
<!-- Wed Jun 15 21:58:55 2016 -->
<!-- jsHeader -->
<script type="text/javascript">
// jsData
function gvisDataTableID27044078ccf0 () {
var data = new google.visualization.DataTable();
var datajson =
[
[
"Component No:1",
4.785247641,
28.14851553,
28.14851553
],
[
"Component No:2",
2.025465294,
11.91450173,
40.06301727
],
[
"Component No:3",
1.261235076,
7.419029856,
47.48204712
],
[
"Component No:4",
1.216184347,
7.154025572,
54.63607269
],
[
"Component No:5",
1.091912549,
6.423014997,
61.05908769
],
[
"Component No:6",
1.059107436,
6.230043743,
67.28913143
],
[
"Component No:7",
0.996303332,
5.860607835,
73.14973927
],
[
"Component No:8",
0.9818763148,
5.775743028,
78.9254823
],
[
"Component No:9",
0.9174703742,
5.396884554,
84.32236685
],
[
"Component No:10",
0.8379317778,
4.929010458,
89.25137731
],
[
"Component No:11",
0.7736384203,
4.550814237,
93.80219155
],
[
"Component No:12",
0.5560328789,
3.270781641,
97.07297319
],
[
"Component No:13",
0.282367605,
1.660985911,
98.7339591
],
[
"Component No:14",
0.1156329954,
0.6801940907,
99.41415319
],
[
"Component No:15",
0.08375688055,
0.4926875327,
99.90684072
],
[
"Component No:16",
0.01169527521,
0.06879573654,
99.97563646
],
[
"Component No:17",
0.004141802172,
0.02436354219,
100
]
];
data.addColumn('string','Components');
data.addColumn('number','Eigenvalue');
data.addColumn('number','Percentage_of_explained_variance');
data.addColumn('number','Cumulative_percentage_of_explained_variance');
data.addRows(datajson);
return(data);
}
// jsDrawChart
function drawChartTableID27044078ccf0() {
var data = gvisDataTableID27044078ccf0();
var options = {};
options["allowHtml"] = true;
options["width"] = 1200;
options["height"] = 400;
options["allowHTML"] = true;
options["page"] = "disable";
var dataFormat1 = new google.visualization.NumberFormat({pattern:"#.##"});
dataFormat1.format(data, 1);
var dataFormat2 = new google.visualization.NumberFormat({pattern:"#.##"});
dataFormat2.format(data, 2);
var dataFormat3 = new google.visualization.NumberFormat({pattern:"#.##"});
dataFormat3.format(data, 3);
var chart = new google.visualization.Table(
document.getElementById('TableID27044078ccf0')
);
chart.draw(data,options);
}
// jsDisplayChart
(function() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
var chartid = "table";
// Manually see if chartid is in pkgs (not all browsers support Array.indexOf)
var i, newPackage = true;
for (i = 0; newPackage && i < pkgs.length; i++) {
if (pkgs[i] === chartid)
newPackage = false;
}
if (newPackage)
pkgs.push(chartid);
// Add the drawChart function to the global list of callbacks
callbacks.push(drawChartTableID27044078ccf0);
})();
function displayChartTableID27044078ccf0() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
window.clearTimeout(window.__gvisLoad);
// The timeout is set to 100 because otherwise the container div we are
// targeting might not be part of the document yet
window.__gvisLoad = setTimeout(function() {
var pkgCount = pkgs.length;
google.load("visualization", "1", { packages:pkgs, callback: function() {
if (pkgCount != pkgs.length) {
// Race condition where another setTimeout call snuck in after us; if
// that call added a package, we must not shift its callback
return;
}
while (callbacks.length > 0)
callbacks.shift()();
} });
}, 100);
}
// jsFooter
</script>
<!-- jsChart -->
<script type="text/javascript" src="https://www.google.com/jsapi?callback=displayChartTableID27044078ccf0"></script>
<!-- divChart -->
<div id="TableID27044078ccf0"
style="width: 1200; height: 400;">
</div>
<p><br> <br></p>
<!-- LineChart generated in R 3.3.0 by googleVis 0.5.10 package -->
<!-- Wed Jun 15 21:58:55 2016 -->
<!-- jsHeader -->
<script type="text/javascript">
// jsData
function gvisDataLineChartID270469424f34 () {
var data = new google.visualization.DataTable();
var datajson =
[
[
"1",
4.785247641,
1
],
[
"2",
2.025465294,
1
],
[
"3",
1.261235076,
1
],
[
"4",
1.216184347,
1
],
[
"5",
1.091912549,
1
],
[
"6",
1.059107436,
1
],
[
"7",
0.996303332,
1
],
[
"8",
0.9818763148,
1
],
[
"9",
0.9174703742,
1
],
[
"10",
0.8379317778,
1
],
[
"11",
0.7736384203,
1
],
[
"12",
0.5560328789,
1
],
[
"13",
0.282367605,
1
],
[
"14",
0.1156329954,
1
],
[
"15",
0.08375688055,
1
],
[
"16",
0.01169527521,
1
],
[
"17",
0.004141802172,
1
]
];
data.addColumn('string','components');
data.addColumn('number','eigenvalues');
data.addColumn('number','abline');
data.addRows(datajson);
return(data);
}
// jsDrawChart
function drawChartLineChartID270469424f34() {
var data = gvisDataLineChartID270469424f34();
var options = {};
options["allowHtml"] = true;
options["title"] = "Scree plot";
options["legend"] = "right";
options["width"] = 900;
options["height"] = 600;
options["hAxis"] = {title:'Number of Components', titleTextStyle:{color:'black'}};
options["vAxes"] = [{title:'Eigenvalues'}];
options["series"] = [{color:'green',pointSize:3, targetAxisIndex: 0}];
var chart = new google.visualization.LineChart(
document.getElementById('LineChartID270469424f34')
);
chart.draw(data,options);
}
// jsDisplayChart
(function() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
var chartid = "corechart";
// Manually see if chartid is in pkgs (not all browsers support Array.indexOf)
var i, newPackage = true;
for (i = 0; newPackage && i < pkgs.length; i++) {
if (pkgs[i] === chartid)
newPackage = false;
}
if (newPackage)
pkgs.push(chartid);
// Add the drawChart function to the global list of callbacks
callbacks.push(drawChartLineChartID270469424f34);
})();
function displayChartLineChartID270469424f34() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
window.clearTimeout(window.__gvisLoad);
// The timeout is set to 100 because otherwise the container div we are
// targeting might not be part of the document yet
window.__gvisLoad = setTimeout(function() {
var pkgCount = pkgs.length;
google.load("visualization", "1", { packages:pkgs, callback: function() {
if (pkgCount != pkgs.length) {
// Race condition where another setTimeout call snuck in after us; if
// that call added a package, we must not shift its callback
return;
}
while (callbacks.length > 0)
callbacks.shift()();
} });
}, 100);
}
// jsFooter
</script>
<!-- jsChart -->
<script type="text/javascript" src="https://www.google.com/jsapi?callback=displayChartLineChartID270469424f34"></script>
<!-- divChart -->
<div id="LineChartID270469424f34"
style="width: 900; height: 600;">
</div>
<h4>5. Interpret the factors</h4>
<p>For our data, the selected factors look as follows after the rotation: </p>
<!-- Table generated in R 3.3.0 by googleVis 0.5.10 package -->
<!-- Wed Jun 15 21:58:55 2016 -->
<!-- jsHeader -->
<script type="text/javascript">
// jsData
function gvisDataTableID27043420d96c () {
var data = new google.visualization.DataTable();
var datajson =
[
[
"Revenue FY0 USD ",
0.89,
0.1,
-0.01,
-0.02,
-0.05,
0.01
],
[
"Enterprise Value Daily Time Series USD ",
0.8,
0.51,
0.01,
0.01,
0.03,
-0.01
],
[
"Company Market Cap USD ",
0.68,
0.66,
0.02,
0.01,
0.02,
-0.03
],
[
"Net Income After Taxes FY0 USD ",
0.56,
0.73,
0,
-0.01,
0,
-0.02
],
[
"Retained Earnings TTM FI0 USD ",
0.45,
0.85,
-0.02,
-0.01,
0,
-0.01
],
[
"Total Debt To Enterprise Value Daily Time Series Ratio ",
0.17,
-0.23,
-0.13,
0.04,
0.09,
0.62
],
[
"Enterprise Value To Sales Daily Time Series Ratio ",
0.05,
-0.02,
-0.03,
-0.02,
0.76,
0.08
],
[
"Dividend yield",
0.04,
-0.08,
-0.03,
-0.15,
-0.16,
-0.05
],
[
"P E Daily Time Series Ratio ",
0.03,
-0.02,
-0.02,
0.77,
0.06,
-0.03
],
[
"Total Assets Reported FY0 USD ",
0.03,
0.92,
-0.03,
0.03,
0.03,
0.03
],
[
"Historic P E FY0 ",
0,
-0.01,
0.02,
0.77,
-0.03,
0.01
],
[
"Quick Ratio FY0 ",
0,
-0.01,
1,
0.01,
0.03,
-0.01
],
[
"Current Ratio FY0 ",
0,
-0.01,
1,
0.01,
0.03,
-0.01
],
[
"Enterprise Value To EBITDA Daily Time Series Ratio ",
-0.01,
-0.01,
0.06,
0.05,
0.71,
-0.12
],
[
"Price To Book Value Per Share Daily Time Series Ratio ",
-0.04,
0.06,
0.04,
0,
-0.05,
0.46
],
[
"Total Debt to Total Equity Percent FY0 ",
-0.06,
0.06,
0.02,
-0.02,
0.01,
0.71
],
[
"Capital Expenditures FY0 USD ",
-0.8,
-0.09,
0.01,
-0.01,
-0.01,
0
]
];
data.addColumn('string','Variables');
data.addColumn('number','Component 1');
data.addColumn('number','Component 2');
data.addColumn('number','Component 3');
data.addColumn('number','Component 4');
data.addColumn('number','Component 5');
data.addColumn('number','Component 6');
data.addRows(datajson);
return(data);
}
// jsDrawChart
function drawChartTableID27043420d96c() {
var data = gvisDataTableID27043420d96c();
var options = {};
options["allowHtml"] = true;
options["showRowNumber"] = true;
options["width"] = 1220;
options["height"] = 400;
options["allowHTML"] = true;
options["page"] = "disable";
var chart = new google.visualization.Table(
document.getElementById('TableID27043420d96c')
);
chart.draw(data,options);
}
// jsDisplayChart
(function() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
var chartid = "table";
// Manually see if chartid is in pkgs (not all browsers support Array.indexOf)
var i, newPackage = true;
for (i = 0; newPackage && i < pkgs.length; i++) {
if (pkgs[i] === chartid)
newPackage = false;
}
if (newPackage)
pkgs.push(chartid);
// Add the drawChart function to the global list of callbacks
callbacks.push(drawChartTableID27043420d96c);
})();
function displayChartTableID27043420d96c() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
window.clearTimeout(window.__gvisLoad);
// The timeout is set to 100 because otherwise the container div we are
// targeting might not be part of the document yet
window.__gvisLoad = setTimeout(function() {
var pkgCount = pkgs.length;
google.load("visualization", "1", { packages:pkgs, callback: function() {
if (pkgCount != pkgs.length) {
// Race condition where another setTimeout call snuck in after us; if
// that call added a package, we must not shift its callback
return;
}
while (callbacks.length > 0)
callbacks.shift()();
} });
}, 100);
}
// jsFooter
</script>
<!-- jsChart -->
<script type="text/javascript" src="https://www.google.com/jsapi?callback=displayChartTableID27043420d96c"></script>
<!-- divChart -->
<div id="TableID27043420d96c"
style="width: 1220; height: 400;">
</div>
<p><br> <br></p>
<p>Component 1 mainly consists of size metrics from recent performance and value metrics. Component 2 has some more longer time size metrics. It Component 3 consists of two debt capacity metrics. Component 4 combines historical and current p/e ratios. Component 5 has two variables that measure the valuation in relation to performance. Component 6 groups two metrics of debt to assets.</p>
<p>Components 1 and 2 have somewhat similar loadings because all the variables correlate strongly with each other. It might not make sense to use both of them.</p>
<!-- Table generated in R 3.3.0 by googleVis 0.5.10 package -->
<!-- Wed Jun 15 21:58:56 2016 -->
<!-- jsHeader -->
<script type="text/javascript">
// jsData
function gvisDataTableID2704b5280c6 () {
var data = new google.visualization.DataTable();
var datajson =
[
[
"Revenue FY0 USD ",
0.89,
null,
null,
null,
null,
null
],
[
"Enterprise Value Daily Time Series USD ",
0.8,
0.51,
null,
null,
null,
null
],
[
"Company Market Cap USD ",
0.68,
0.66,
null,
null,
null,
null
],
[
"Net Income After Taxes FY0 USD ",
0.56,
0.73,
null,
null,
null,
null
],
[
"Retained Earnings TTM FI0 USD ",
null,
0.85,
null,
null,
null,
null
],
[
"Total Debt To Enterprise Value Daily Time Series Ratio ",
null,
null,
null,
null,
null,
0.62
],
[
"Enterprise Value To Sales Daily Time Series Ratio ",
null,
null,
null,
null,
0.76,
null
],
[
"Dividend yield",
null,
null,
null,
null,
null,
null
],
[
"P E Daily Time Series Ratio ",
null,
null,
null,
0.77,
null,
null
],
[
"Total Assets Reported FY0 USD ",
null,
0.92,
null,
null,
null,
null
],
[
"Historic P E FY0 ",
null,
null,
null,
0.77,
null,
null
],
[
"Quick Ratio FY0 ",
null,
null,
1,
null,
null,
null
],
[
"Current Ratio FY0 ",
null,
null,
1,
null,
null,
null
],
[
"Enterprise Value To EBITDA Daily Time Series Ratio ",
null,
null,
null,
null,
0.71,
null
],
[
"Price To Book Value Per Share Daily Time Series Ratio ",
null,
null,
null,
null,
null,
null
],
[
"Total Debt to Total Equity Percent FY0 ",
null,
null,
null,
null,
null,
0.71
],
[
"Capital Expenditures FY0 USD ",
-0.8,
null,
null,
null,
null,
null
]
];
data.addColumn('string','Variables');
data.addColumn('number','Component 1');
data.addColumn('number','Component 2');
data.addColumn('number','Component 3');
data.addColumn('number','Component 4');
data.addColumn('number','Component 5');
data.addColumn('number','Component 6');
data.addRows(datajson);
return(data);
}
// jsDrawChart
function drawChartTableID2704b5280c6() {
var data = gvisDataTableID2704b5280c6();
var options = {};
options["allowHtml"] = true;
options["showRowNumber"] = true;
options["width"] = 1220;
options["height"] = 400;
options["allowHTML"] = true;
options["page"] = "disable";
var chart = new google.visualization.Table(
document.getElementById('TableID2704b5280c6')
);
chart.draw(data,options);
}
// jsDisplayChart
(function() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
var chartid = "table";
// Manually see if chartid is in pkgs (not all browsers support Array.indexOf)
var i, newPackage = true;
for (i = 0; newPackage && i < pkgs.length; i++) {
if (pkgs[i] === chartid)
newPackage = false;
}
if (newPackage)
pkgs.push(chartid);
// Add the drawChart function to the global list of callbacks
callbacks.push(drawChartTableID2704b5280c6);
})();
function displayChartTableID2704b5280c6() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
window.clearTimeout(window.__gvisLoad);
// The timeout is set to 100 because otherwise the container div we are
// targeting might not be part of the document yet
window.__gvisLoad = setTimeout(function() {
var pkgCount = pkgs.length;
google.load("visualization", "1", { packages:pkgs, callback: function() {
if (pkgCount != pkgs.length) {
// Race condition where another setTimeout call snuck in after us; if
// that call added a package, we must not shift its callback
return;
}
while (callbacks.length > 0)
callbacks.shift()();
} });
}, 100);
}
// jsFooter
</script>
<!-- jsChart -->
<script type="text/javascript" src="https://www.google.com/jsapi?callback=displayChartTableID2704b5280c6"></script>
<!-- divChart -->
<div id="TableID2704b5280c6"
style="width: 1220; height: 400;">
</div>
<p><br> <br></p>
<h4>Step 6. Save factor scores for subsequent analyses</h4>
<p>For our data, using the rotated factors we selected, we can create a new dataset where our observations are as follows (for the first 50 companies):</p>
<div class="row">
<div class="col-md-40">
<!-- Table generated in R 3.3.0 by googleVis 0.5.10 package -->
<!-- Wed Jun 15 21:58:56 2016 -->
<!-- jsHeader -->
<script type="text/javascript">
// jsData
function gvisDataTableID270460d959a4 () {
var data = new google.visualization.DataTable();
var datajson =
[
[
"1",
0.08,
0.21,
-0.11,
-0.16,
0.39,
0.11
],
[
"2",
-0.31,
0.02,
-0.22,
-0.18,
-0.18,
-0.18
],
[
"3",
1.12,
-0.6,
-0.2,
0.12,
-0.15,
0.43
],
[
"4",
-0.16,
-0.14,
-0.16,
-0.13,
-0.14,
0.13
],
[
"5",
-0.05,
-0.26,
-0.2,
-0.09,
0.02,
0.65
],
[
"6",
0.08,
-0.25,
-0.19,
-0.15,
-0.05,
0.45
],
[
"7",
-0.32,
0.04,
0.15,
-0.14,
-0.05,
-0.48
],
[
"8",
-0.27,
-0.02,
0.1,
-0.09,
0.03,
-0.33
],
[
"9",
-0.29,
0,
0.09,
-0.12,
-0.1,
-0.31
],
[
"10",
-0.21,
-0.07,
-0.25,
-0.23,
-0.21,
-0.23
],
[
"11",
-0.25,
0.04,
0,
-0.15,
-0.19,
-0.49
],
[
"12",
-0.26,
0,
-0.22,
-0.22,
-0.23,
-0.52
],
[
"13",
0,
-0.29,
-0.09,
-0.19,
-0.12,
0.5
],
[
"14",
-0.08,
-0.22,
-0.17,
0.36,
-0.1,
0.43
],
[
"15",
0.19,
-0.17,
-0.21,
-0.17,
0.04,
0.59
],
[
"16",
0,
0.69,
-0.18,
-0.18,
0.2,
0.3
],
[
"17",
0.03,
-0.33,
-0.33,
-0.12,
-0.02,
0.8
],
[
"18",
-0.28,
-0.01,
-0.11,
-0.21,
-0.24,
-0.42
],
[
"19",
-0.35,
0.05,
-0.22,
-0.19,
-0.18,
-0.52
],
[
"20",
-0.19,
0,
0.19,
-0.11,
-0.21,
-0.48
],
[
"21",
-0.04,
-0.27,
-0.43,
1.6,
1.61,
0.37
],
[
"22",
0.27,
-0.4,
-0.25,
0.1,
0,
0.8
],
[
"23",
-0.14,
-0.3,
0,
-0.22,
0.69,
0.2
],
[
"24",
-0.31,
0.02,
-0.11,
-0.2,
-0.32,
-0.53
],
[
"25",
-0.37,
0.09,
-0.22,
-0.18,
-0.18,
-0.51
],
[
"26",
-0.27,
0.02,
-0.22,
-0.22,
-0.23,
-0.49
],
[
"27",
-0.13,
-0.09,
0.13,
-0.02,
-0.05,
-0.02
],
[
"28",
-0.31,
0.01,
0.27,
-0.24,
-0.27,
-0.5
],
[
"29",
0.07,
-0.41,
-0.35,
-0.1,
0.02,
1.08
],
[
"30",
-0.29,
0,
-0.09,
-0.05,
-0.19,
-0.41
],
[
"31",
-0.05,
-0.27,
-0.15,
0.05,
0.05,
0.7
],
[
"32",
-0.31,
0.03,
-0.05,
0.42,
-0.03,
-0.47
],
[
"33",
-0.25,
-0.01,
-0.2,
0.24,
2.16,
-0.3
],
[
"34",
0.03,
-0.31,
-0.17,
-0.08,
-0.05,
0.61
],
[
"35",
0.47,
-0.89,
-0.26,
-2.03,
-2.25,
-1.23
],
[
"36",
-0.24,
0.04,
-0.16,
-0.13,
0.14,
-0.34
],
[
"37",
-0.28,
0.06,
1.08,
-0.19,
0.01,
-0.38
],
[
"38",
-0.09,
-0.22,
-0.3,
-0.22,
-0.17,
0.27
],
[
"39",
-0.23,
0.01,
-0.16,
-0.14,
-0.12,
-0.15
],
[
"40",
-0.15,
-0.14,
-0.18,
0.22,
-0.09,
0.08
],
[
"41",
0.1,
-0.15,
-0.14,
-0.16,
-0.14,
0.01
],
[
"42",
0.12,
-0.33,
-0.22,
-0.16,
0,
0.37
],
[
"43",
-0.04,
-0.3,
-0.29,
-0.86,
-0.94,
-0.78
],
[
"44",
-0.27,
0,
-0.22,
-0.22,
-0.22,
-0.49
],
[
"45",
-0.04,
-0.1,
-0.16,
-0.09,
0.09,
0.02
],
[
"46",
-0.33,
0.03,
-0.23,
-0.24,
-0.24,
-0.54
],
[
"47",
-0.07,
-0.22,
-0.15,
-0.15,
-0.09,
0.35
],
[
"48",
0.12,
-0.31,
-0.2,
-0.19,
-0.11,
0.55
],
[
"49",
0.14,
-0.44,
-0.35,
-0.15,
-0.05,
0.97
],
[
"50",
-0.24,
0.19,
0.09,
-0.15,
-0.04,
-0.45
]
];
data.addColumn('string','Observation');
data.addColumn('number','Derived Variable (Factor) 1');
data.addColumn('number','Derived Variable (Factor) 2');
data.addColumn('number','Derived Variable (Factor) 3');
data.addColumn('number','Derived Variable (Factor) 4');
data.addColumn('number','Derived Variable (Factor) 5');
data.addColumn('number','Derived Variable (Factor) 6');
data.addRows(datajson);
return(data);
}
// jsDrawChart
function drawChartTableID270460d959a4() {
var data = gvisDataTableID270460d959a4();
var options = {};
options["allowHtml"] = true;
options["showRowNumber"] = true;
options["width"] = 1220;
options["height"] = 400;
options["frozenColumns"] = 1;
options["allowHTML"] = true;
options["page"] = "disable";
var chart = new google.visualization.Table(
document.getElementById('TableID270460d959a4')
);
chart.draw(data,options);
}
// jsDisplayChart
(function() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
var chartid = "table";
// Manually see if chartid is in pkgs (not all browsers support Array.indexOf)
var i, newPackage = true;
for (i = 0; newPackage && i < pkgs.length; i++) {
if (pkgs[i] === chartid)
newPackage = false;
}
if (newPackage)
pkgs.push(chartid);
// Add the drawChart function to the global list of callbacks
callbacks.push(drawChartTableID270460d959a4);
})();
function displayChartTableID270460d959a4() {
var pkgs = window.__gvisPackages = window.__gvisPackages || [];
var callbacks = window.__gvisCallbacks = window.__gvisCallbacks || [];
window.clearTimeout(window.__gvisLoad);
// The timeout is set to 100 because otherwise the container div we are
// targeting might not be part of the document yet
window.__gvisLoad = setTimeout(function() {
var pkgCount = pkgs.length;
google.load("visualization", "1", { packages:pkgs, callback: function() {
if (pkgCount != pkgs.length) {
// Race condition where another setTimeout call snuck in after us; if
// that call added a package, we must not shift its callback
return;
}
while (callbacks.length > 0)
callbacks.shift()();
} });
}, 100);
}
// jsFooter
</script>
<!-- jsChart -->
<script type="text/javascript" src="https://www.google.com/jsapi?callback=displayChartTableID270460d959a4"></script>
<!-- divChart -->
<div id="TableID270460d959a4"
style="width: 1220; height: 400;">
</div>
<p></div>
</div>
<br> <br></p>
<h2>Further Ideas</h2>
<p>This framework can be extended to work as a tool for screening companies. It would make sense to add a lot more variables. Then components can be compared with other markets to test hypothesis along the lines “does debt capacity matter more or less for valuation in these markets?” The framework can also be extended for back testing investment strategies. </p>
</body>
</html>
Something went wrong with that request. Please try again.