Package com.datastax.demo.portfolio

Examples of com.datastax.demo.portfolio.Portfolio


    private List<Portfolio> buildPorfoliosFromRangeSlices(List<KeySlice> kslices) throws Exception
    {
        List<Portfolio> portfolios = new ArrayList<Portfolio>();
        for (KeySlice ks : kslices)
        {
            Portfolio p = new Portfolio();
            p.setName(new String(ks.getKey()));

            Map<ByteBuffer, Long> tickerLookup = new HashMap<ByteBuffer, Long>();
            List<ByteBuffer> tickers = new ArrayList<ByteBuffer>();

            for (ColumnOrSuperColumn cosc : ks.getColumns())
            {
                tickers.add(cosc.getColumn().name);
                tickerLookup.put(cosc.getColumn().name, ByteBufferUtil.toLong(cosc.getColumn().value));
            }

            Map<ByteBuffer, List<ColumnOrSuperColumn>> prices = getClient().multiget_slice(tickers, scp, sp,
                    ConsistencyLevel.ONE);

            double total = 0;
            double basis = 0;

            Random r = new Random(Long.valueOf(new String(ks.getKey())));

            for (Map.Entry<ByteBuffer, List<ColumnOrSuperColumn>> entry : prices.entrySet())
            {
                if (!entry.getValue().isEmpty())
                {
                    Double price = Double.valueOf(ByteBufferUtil.string(entry.getValue().get(0).column.value));
                    Position s = new Position(ByteBufferUtil.string(entry.getKey()), price, tickerLookup.get(entry.getKey()));
                    p.addToConstituents(s);
                    total += price * tickerLookup.get(entry.getKey());
                    basis += r.nextDouble() * 100 * tickerLookup.get(entry.getKey());

                }
            }


            p.setPrice(total);
            p.setBasis(basis);

            portfolios.add(p);

        }
        return portfolios;
View Full Code Here


    private List<Portfolio> buildPorfoliosFromCqlResult(CqlResult result) throws Exception
    {
        List<Portfolio> portfolios = new ArrayList<Portfolio>();
        for (CqlRow row : result.rows)
        {
            Portfolio p = new Portfolio();
            p.setName(new String(row.getKey()));

            Map<ByteBuffer, Long> tickerLookup = new HashMap<ByteBuffer, Long>();
            List<ByteBuffer> tickers = new ArrayList<ByteBuffer>();

            for (Column cosc : row.getColumns())
            {
                tickers.add(cosc.name);
                tickerLookup.put(cosc.name, ByteBufferUtil.toLong(cosc.value));
            }
           
            double total = 0;
            double basis = 0;

            Random r = new Random(Long.valueOf(new String(row.getKey())));
           
            for ( ByteBuffer ticker : tickers )
            {
                CqlResult tResult = getClient().execute_cql_query(ByteBufferUtil.bytes(buildStocksQuery(ticker)), Compression.NONE);
                CqlRow tRow = tResult.getRowsIterator().hasNext() ? tResult.getRowsIterator().next() : null;
                if ( tRow != null ) {
                    Double price = Double.valueOf(ByteBufferUtil.string(tRow.columns.get(0).value));
                    Position s = new Position(ByteBufferUtil.string(tRow.key), price, tickerLookup.get(tRow.key));
                    p.addToConstituents(s);
                    total += price * tickerLookup.get(tRow.key);
                    basis += r.nextDouble() * 100 * tickerLookup.get(tRow.key);
                }
            }

            p.setPrice(total);
            p.setBasis(basis);

            portfolios.add(p);
        }
        return portfolios;
    }
View Full Code Here

        {
           Map<ByteBuffer,List<ColumnOrSuperColumn>> result =  getClient().multiget_slice(portfolioNames, lcp, lcols, ConsistencyLevel.ONE);

           for(Map.Entry<ByteBuffer, List<ColumnOrSuperColumn>> entry : result.entrySet())
           {
               Portfolio portfolio = portfolioLookup.get(entry.getKey());

               if(portfolio == null)
                   continue;

               for(ColumnOrSuperColumn col : entry.getValue())
               {
                   if(col.getColumn().name.equals(lossCol))
                       portfolio.setLargest_10day_loss(Double.valueOf(ByteBufferUtil.string(col.getColumn().value)));

                   if(col.getColumn().name.equals(lossDateCol))
                       portfolio.setLargest_10day_loss_date(ByteBufferUtil.string(col.getColumn().value));
               }
           }

        }
        catch (InvalidRequestException e)
View Full Code Here

TOP

Related Classes of com.datastax.demo.portfolio.Portfolio

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.