CCL for the Sample Project

The CCL for the Portfolio Valuation sample project created in the Studio Visual editor is shown here, with line breaks added for readability.

Example 1

CREATE INPUT WINDOW PriceFeed 
  SCHEMA ( Id integer , Symbol string , Price float , Shares integer , TradeTime date ) 
  PRIMARY KEY ( Id) ;

/**@SIMPLEQUERY=AGGREGATE*/
CREATE OUTPUT WINDOW VWAP PRIMARY KEY DEDUCED AS 
  SELECT 
       PriceFeed.Symbol Symbol , 
       PriceFeed.Price LastPrice , 
       ( sum ( ( PriceFeed.Price *  CAST ( FLOAT , PriceFeed.Shares ) ) ) / 
           CAST ( float , sum ( PriceFeed.Shares ) ) )  VWAP , 
       PriceFeed.TradeTime LastTime 
  FROM PriceFeed 
  GROUP BY PriceFeed.Symbol ;

CREATE INPUT WINDOW Positions 
  SCHEMA ( BookId string , Symbol string , SharesHeld integer ) 
  PRIMARY KEY ( BookId, Symbol) ;

/**@SIMPLEQUERY=JOIN*/
CREATE OUTPUT WINDOW IndividualPositions 
  SCHEMA ( BookId string , Symbol string , CurrentPosition float , AveragePosition float ) 
  PRIMARY KEY ( BookId, Symbol) 
  AS 
  SELECT 
      Positions.BookId BookId , 
      Positions.Symbol Symbol , 
      ( VWAP.LastPrice * CAST ( float , Positions.SharesHeld ) ) CurrentPosition , 
      ( VWAP.VWAP * CAST ( float , Positions.SharesHeld ) ) AveragePosition 
  FROM Positions , VWAP 
  WHERE Positions.Symbol = VWAP.Symbol;

/**@SIMPLEQUERY=AGGREGATE*/
CREATE OUTPUT WINDOW ValueByBook PRIMARY KEY DEDUCED AS 
  SELECT 
     IndividualPositions.BookId BookId , 
     sum ( IndividualPositions.CurrentPosition ) CurrentPosition , 
     sum ( IndividualPositions.AveragePosition ) AveragePosition 
  FROM IndividualPositions GROUP BY IndividualPositions.BookId ;