/******************************************************************************* * Copyright (c) 2013 Luigi Sgro. All rights reserved. This * program and the accompanying materials are made available under the terms of * the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Luigi Sgro - initial API and implementation ******************************************************************************/ package com.quantcomponents.algo; import com.quantcomponents.core.series.SimplePoint; /** * Provider of trading statistics */ public interface ITradingStatsProvider { /** * Returns the highest equity reached during the trading agent execution up to this moment * @return a value point, or null if no data has yet been produced */ SimplePoint getHighestEquityPoint(); /** * Returns the lowest equity reached during the trading agent execution up to this moment * @return a value point, or null if no data has yet been produced */ SimplePoint getLowestEquityPoint(); /** * Returns the worst trade in terms of P&L during the trading agent execution up to this moment * @return a trade statistics point, or null if no data has yet been produced */ ITradeStatsPoint getWorstTrade(); /** * Returns the best trade in terms of P&L during the trading agent execution up to this moment * @return a trade statistics point, or null if no data has yet been produced */ ITradeStatsPoint getBestTrade(); /** * Returns time and value of equity at the start of the maximum draw-down in equity up to this moment * @return a value point, or null if no data has yet been produced */ SimplePoint getStartOfMaxDrawdown(); /** * Returns time and value at of equity the end of the maximum draw-down in equity up to this moment * @return a value point, or null if no data has yet been produced */ SimplePoint getEndOfMaxDrawdown(); /** * Returns time and value at of equity the start of the maximum run-up in equity up to this moment * @return a value point, or null if no data has yet been produced */ SimplePoint getStartOfMaxRunup(); /** * Returns time and value at of equity the end of the maximum run-up in equity up to this moment * @return a value point, or null if no data has yet been produced */ SimplePoint getEndOfMaxRunup(); }