<?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();
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); }
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; }