private static String[] registerSemiRandomTrades(StockExchange stockExchange) {
    String[] symbols = new String[] {"TEA", "POP", "ALE", "JIN", "JOE"};
    String[] prices = new String[] {"4.0000", "6.0000", "0.5000", "1.0000", "20.0000"};
    long[] quantities = new long[] {100, 200, 300, 100, 100, 200};
    TradeType[] types = new TradeType[] {BUY, BUY, SELL, SELL, SELL, BUY};

    Random random = new Random(System.nanoTime());
    for (int i = 0; i < symbols.length; i++) {
      for (int j = 0; j < types.length; j++) {
        BigDecimal avgPrice = new BigDecimal(prices[i]);
        double var = avgPrice.doubleValue() * 0.05;
        double price = avgPrice.doubleValue() + (var * random.nextDouble() - var / 2);
        BigDecimal bdPrice =
            new BigDecimal(price).setScale(StockExchange.PRECISION, RoundingMode.HALF_DOWN);

        switch (types[j]) {
          case BUY:
            stockExchange.buy(symbols[i], quantities[i], bdPrice);
            break;
          case SELL:
            stockExchange.sell(symbols[i], quantities[i], bdPrice);
            break;
        }
      }
    }
    return symbols;
  }