Beispiel #1
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();
Beispiel #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);
 }
Beispiel #3
0
 public function portfolioStdDeviation()
 {
     $portfolio = new table_Portfolio();
     $w = $portfolio->weights();
     $n = 0;
     foreach ($w as $i) {
         $weights[$n] = $i;
         $n++;
     }
     $rets = $this->ReturnsArray();
     $j = 0;
     foreach ($rets as $r) {
         $returns[$j] = $r;
         $j++;
     }
     $matrix = new Finance_Matrix($weights, $rets);
     $variance = $matrix->variancePortfolio($weights, $returns);
     $portfolioStdDeviation = sqrt($variance);
     return $portfolioStdDeviation;
 }