package com.activequant.interfaces.trading; import com.activequant.domainmodel.TimeStamp; import com.activequant.domainmodel.streaming.PNLChangeEvent; import com.activequant.interfaces.transport.ITransportFactory; public interface IRiskCalculator { /** * where to send risk events to. * @param transportFactory */ void setTransportFactory(ITransportFactory transportFactory); /** * to indicate which position row changed. * @param rowIndex */ PNLChangeEvent execution(TimeStamp ts, String tradInstId, double price, double quantity); void setPosition(String tidId, double price, double quantity); /** * to indicate with price row changed. * @param rowIndex */ PNLChangeEvent pricesUpdated(int rowIndex); }