Пример #1
0
 public function portfolioVaR()
 {
     $corr = $this->portfolioCorrelations();
     $VaR = $this->stockVaR();
     $matrix = new Finance_Matrix($VaR, $corr);
     $mult1 = $matrix->multiplicationMatrix($VaR, $corr);
     $matrix = new Finance_Matrix($VaR);
     $VaRt = $matrix->transpose($VaR);
     $matrix = new Finance_Matrix($mult1, $VaRt);
     $mult2 = $matrix->multiplicationMatrix($mult1, $VaRt);
     $portCorr = sqrt($mult2[0]);
     return $portCorr;
 }
Пример #2
0
 private function _midPorfolio($portReturns)
 {
     $this->_createFile($portReturns);
     list($x, $obj) = $this->_callOctave();
     $count = count($obj);
     for ($i = 0; $i < $count; $i++) {
         $weights = $x[$i];
         $stdDev[$i] = sqrt(2 * $obj[$i]);
         $ret = new Finance_Matrix($this->_expReturns);
         $returns = $ret->transpose($this->_expReturns);
         $ret = new Finance_Matrix($weights, $returns);
         $retu = $ret->multiplicationMatrix($weights, $returns);
         $Ret[$i] = $retu[0];
     }
     return array($x, $stdDev, $Ret);
 }
Пример #3
0
<?php

/*include("Finance/lp_maker.php");
include("Finance/lp_solve.php");
require_once('Finance/Matrix.php');
require_once('Finance/Optimization.php');


$returns = array(array(1,2,3,4,5), array(2,4,5,7,8));
$weights = array(0.6, 0.4);

$opt = new Finance_Optimize($weights, $returns, 0.12);
$fun = $opt->optimizationFunction();
*/
?>


<?php 
require_once "Finance/apiOctave.php";
$cov = array(array(1, 2), array(2, 3));
$ret = array(0.3, 0.44);
$mat = new Finance_Matrix($ret, $cov);
$f = $mat->multiplicationMatrix($ret, $cov);
$teste = new Finance_apiOctave(1, $cov, $ret);
$tst = $teste->efficientFrontier();