Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- final double totalMarketCap = filteredTickers.stream().mapToDouble(ticker -> ticker.getMarketCapUSD().doubleValue()).sum();
- double cappedRemaining = 1d;
- double marketRemaining = 1d;
- for (CoinMarketCapTicker ticker : filteredTickers) {
- double marketPercentage = ticker.getMarketCapUSD().doubleValue() / totalMarketCap;
- double uncappedPercentage = marketPercentage * cappedRemaining / marketRemaining;
- double cappedPercentage = Math.min(uncappedPercentage, _indexCap);
- _indexTickers.add(new IndexTicker(ticker, marketPercentage, cappedPercentage));
- marketRemaining -= marketPercentage;
- cappedRemaining -= cappedPercentage;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement