如何计算股票的市盈率?

时间:2017-07-10 19:25:52

标签: javascript angularjs

要计算的公式为Portfolio P/E = Net Worth/Sum(Stock EPS * Shares Held)

我有净值的价值但是我无法迭代EPS值并乘以持有的股票。能否请你为此提出一些解决方案。谢谢! 这是plunker

        <div>
            <h3>P/E Ratio: {{getNetWorth())}}
        </div>

脚本:

$http.get('data.json').then(function(response) {
     $scope.stocksArray = [];
     var indexes = [];
     var epsindex = [];
     var eps = {};
     $scope.eps = response.data.eps;

2 个答案:

答案 0 :(得分:2)

它不会赢得任何奖项,但here是问题的长短。

您的json文件结构奇怪,如下所示:

parameterize

应该是这样的结构:

  -price
    --stock-name:stock-price
  -eps
    --stock-name:stock-eps

这样可以将其作为对象拉入,而无需手动实例化整个集合。但我玩了我给出的数据并且有效。

关键是以下两行

  -stock-name
    --price:actual-price
    --eps:actual-eps

AND

$scope.eps = response.data.eps;

通过将eps集合添加为单独的数组,我可以将其作为对象属性中的字段添加。

mystock.eps = $scope.eps[key]; 很容易:

getPortfolioPE()

答案 1 :(得分:0)

我认为你的$ http.get应该返回一组股票,而PE比率是每个数组元素的属性。

因此,你应该在控制器中有这样的东西:

$scope.stocks = response.data;

你可能需要在模板中使用ng-repeat,如下所示:

<li ng-repeat="item in stocks">
    You PE is: {{item.pe}}
</li>