Files
QuantConnect Server Applications d4ca27f93f Adds autogenerated Python stubs via Travis for QCAlgorithm (Build 14115) (#4662)
Co-authored-by: Python Stubs Deployer <stubs-deploy@quantconnect.com>
2020-08-28 16:43:17 -03:00

332 lines
11 KiB
Python

from .__Statistics_1 import *
import typing
import System.Collections.Generic
import System
import QuantConnect.Statistics
import QuantConnect.Orders
import QuantConnect.Interfaces
import QuantConnect
import datetime
# no functions
# classes
class AlgorithmPerformance(System.object):
"""
The QuantConnect.Statistics.AlgorithmPerformance class is a wrapper for QuantConnect.Statistics.AlgorithmPerformance.TradeStatistics and QuantConnect.Statistics.AlgorithmPerformance.PortfolioStatistics
AlgorithmPerformance(trades: List[Trade], profitLoss: SortedDictionary[DateTime, Decimal], equity: SortedDictionary[DateTime, Decimal], listPerformance: List[float], listBenchmark: List[float], startingCapital: Decimal)
AlgorithmPerformance()
"""
@typing.overload
def __init__(self, trades: typing.List[QuantConnect.Statistics.Trade], profitLoss: System.Collections.Generic.SortedDictionary[datetime.datetime, float], equity: System.Collections.Generic.SortedDictionary[datetime.datetime, float], listPerformance: typing.List[float], listBenchmark: typing.List[float], startingCapital: float) -> QuantConnect.Statistics.AlgorithmPerformance:
pass
@typing.overload
def __init__(self) -> QuantConnect.Statistics.AlgorithmPerformance:
pass
def __init__(self, *args) -> QuantConnect.Statistics.AlgorithmPerformance:
pass
ClosedTrades: typing.List[QuantConnect.Statistics.Trade]
PortfolioStatistics: QuantConnect.Statistics.PortfolioStatistics
TradeStatistics: QuantConnect.Statistics.TradeStatistics
class FillGroupingMethod(System.Enum, System.IConvertible, System.IFormattable, System.IComparable):
"""
The method used to group order fills into trades
enum FillGroupingMethod, values: FillToFill (0), FlatToFlat (1), FlatToReduced (2)
"""
value__: int
FillToFill: 'FillGroupingMethod'
FlatToFlat: 'FillGroupingMethod'
FlatToReduced: 'FillGroupingMethod'
class FillMatchingMethod(System.Enum, System.IConvertible, System.IFormattable, System.IComparable):
"""
The method used to match offsetting order fills
enum FillMatchingMethod, values: FIFO (0), LIFO (1)
"""
value__: int
FIFO: 'FillMatchingMethod'
LIFO: 'FillMatchingMethod'
class FitnessScoreManager(System.object):
"""
Implements a fitness score calculator needed to account for strategy volatility,
returns, drawdown, and factor in the turnover to ensure the algorithm engagement
is statistically significant
FitnessScoreManager()
"""
def Initialize(self, algorithm: QuantConnect.Interfaces.IAlgorithm) -> None:
pass
@staticmethod
def SigmoidalScale(valueToScale: float) -> float:
pass
def UpdateScores(self) -> None:
pass
FitnessScore: float
PortfolioTurnover: float
ReturnOverMaxDrawdown: float
SortinoRatio: float
class KellyCriterionManager(System.object):
"""
Class in charge of calculating the Kelly Criterion values.
Will use the sample values of the last year.
KellyCriterionManager()
"""
def AddNewValue(self, newValue: float, time: datetime.datetime) -> None:
pass
def UpdateScores(self) -> None:
pass
KellyCriterionEstimate: float
KellyCriterionProbabilityValue: float
class PortfolioStatistics(System.object):
"""
The QuantConnect.Statistics.PortfolioStatistics class represents a set of statistics calculated from equity and benchmark samples
PortfolioStatistics(profitLoss: SortedDictionary[DateTime, Decimal], equity: SortedDictionary[DateTime, Decimal], listPerformance: List[float], listBenchmark: List[float], startingCapital: Decimal, tradingDaysPerYear: int)
PortfolioStatistics()
"""
@staticmethod
def GetRiskFreeRate() -> float:
pass
@typing.overload
def __init__(self, profitLoss: System.Collections.Generic.SortedDictionary[datetime.datetime, float], equity: System.Collections.Generic.SortedDictionary[datetime.datetime, float], listPerformance: typing.List[float], listBenchmark: typing.List[float], startingCapital: float, tradingDaysPerYear: int) -> QuantConnect.Statistics.PortfolioStatistics:
pass
@typing.overload
def __init__(self) -> QuantConnect.Statistics.PortfolioStatistics:
pass
def __init__(self, *args) -> QuantConnect.Statistics.PortfolioStatistics:
pass
Alpha: float
AnnualStandardDeviation: float
AnnualVariance: float
AverageLossRate: float
AverageWinRate: float
Beta: float
CompoundingAnnualReturn: float
Drawdown: float
Expectancy: float
InformationRatio: float
LossRate: float
ProbabilisticSharpeRatio: float
ProfitLossRatio: float
SharpeRatio: float
TotalNetProfit: float
TrackingError: float
TreynorRatio: float
WinRate: float
class Statistics(System.object):
"""
Calculate all the statistics required from the backtest, based on the equity curve and the profit loss statement.
Statistics()
"""
@staticmethod
def Alpha(algoPerformance: typing.List[float], benchmarkPerformance: typing.List[float], riskFreeRate: float) -> float:
pass
@staticmethod
def AnnualPerformance(performance: typing.List[float], tradingDaysPerYear: float) -> float:
pass
@staticmethod
def AnnualStandardDeviation(performance: typing.List[float], tradingDaysPerYear: float) -> float:
pass
@staticmethod
def AnnualVariance(performance: typing.List[float], tradingDaysPerYear: float) -> float:
pass
@staticmethod
def Beta(algoPerformance: typing.List[float], benchmarkPerformance: typing.List[float]) -> float:
pass
@staticmethod
def CompoundingAnnualPerformance(startingCapital: float, finalCapital: float, years: float) -> float:
pass
@staticmethod
def DrawdownPercent(equityOverTime: System.Collections.Generic.SortedDictionary[datetime.datetime, float], rounding: int) -> float:
pass
@staticmethod
def DrawdownValue(equityOverTime: System.Collections.Generic.SortedDictionary[datetime.datetime, float], rounding: int) -> float:
pass
@staticmethod
def Generate(pointsEquity: typing.List[QuantConnect.ChartPoint], profitLoss: System.Collections.Generic.SortedDictionary[datetime.datetime, float], pointsPerformance: typing.List[QuantConnect.ChartPoint], unsortedBenchmark: System.Collections.Generic.Dictionary[datetime.datetime, float], startingCash: float, totalFees: float, totalTrades: float, tradingDaysPerYear: float) -> System.Collections.Generic.Dictionary[str, str]:
pass
@staticmethod
def InformationRatio(algoPerformance: typing.List[float], benchmarkPerformance: typing.List[float]) -> float:
pass
@staticmethod
def ObservedSharpeRatio(listPerformance: typing.List[float]) -> float:
pass
@staticmethod
def ProbabilisticSharpeRatio(listPerformance: typing.List[float], benchmarkSharpeRatio: float) -> float:
pass
@staticmethod
def ProfitLossRatio(averageWin: float, averageLoss: float) -> float:
pass
@staticmethod
def SharpeRatio(algoPerformance: typing.List[float], riskFreeRate: float) -> float:
pass
@staticmethod
def TrackingError(algoPerformance: typing.List[float], benchmarkPerformance: typing.List[float], tradingDaysPerYear: float) -> float:
pass
@staticmethod
def TreynorRatio(algoPerformance: typing.List[float], benchmarkPerformance: typing.List[float], riskFreeRate: float) -> float:
pass
class StatisticsBuilder(System.object):
""" The QuantConnect.Statistics.StatisticsBuilder class creates summary and rolling statistics from trades, equity and benchmark points """
@staticmethod
def Generate(trades: typing.List[QuantConnect.Statistics.Trade], profitLoss: System.Collections.Generic.SortedDictionary[datetime.datetime, float], pointsEquity: typing.List[QuantConnect.ChartPoint], pointsPerformance: typing.List[QuantConnect.ChartPoint], pointsBenchmark: typing.List[QuantConnect.ChartPoint], startingCapital: float, totalFees: float, totalTransactions: int) -> QuantConnect.Statistics.StatisticsResults:
pass
__all__: list
class StatisticsResults(System.object):
"""
The QuantConnect.Statistics.StatisticsResults class represents total and rolling statistics for an algorithm
StatisticsResults(totalPerformance: AlgorithmPerformance, rollingPerformances: Dictionary[str, AlgorithmPerformance], summary: Dictionary[str, str])
StatisticsResults()
"""
@typing.overload
def __init__(self, totalPerformance: QuantConnect.Statistics.AlgorithmPerformance, rollingPerformances: System.Collections.Generic.Dictionary[str, QuantConnect.Statistics.AlgorithmPerformance], summary: System.Collections.Generic.Dictionary[str, str]) -> QuantConnect.Statistics.StatisticsResults:
pass
@typing.overload
def __init__(self) -> QuantConnect.Statistics.StatisticsResults:
pass
def __init__(self, *args) -> QuantConnect.Statistics.StatisticsResults:
pass
RollingPerformances: System.Collections.Generic.Dictionary[str, QuantConnect.Statistics.AlgorithmPerformance]
Summary: System.Collections.Generic.Dictionary[str, str]
TotalPerformance: QuantConnect.Statistics.AlgorithmPerformance
class Trade(System.object):
"""
Represents a closed trade
Trade()
"""
Direction: QuantConnect.Statistics.TradeDirection
Duration: datetime.timedelta
EndTradeDrawdown: float
EntryPrice: float
EntryTime: datetime.datetime
ExitPrice: float
ExitTime: datetime.datetime
MAE: float
MFE: float
ProfitLoss: float
Quantity: float
Symbol: QuantConnect.Symbol
TotalFees: float
class TradeBuilder(System.object, QuantConnect.Interfaces.ITradeBuilder):
"""
The QuantConnect.Statistics.TradeBuilder class generates trades from executions and market price updates
TradeBuilder(groupingMethod: FillGroupingMethod, matchingMethod: FillMatchingMethod)
"""
def HasOpenPosition(self, symbol: QuantConnect.Symbol) -> bool:
pass
def ProcessFill(self, fill: QuantConnect.Orders.OrderEvent, conversionRate: float, feeInAccountCurrency: float, multiplier: float) -> None:
pass
def SetLiveMode(self, live: bool) -> None:
pass
def SetMarketPrice(self, symbol: QuantConnect.Symbol, price: float) -> None:
pass
def __init__(self, groupingMethod: QuantConnect.Statistics.FillGroupingMethod, matchingMethod: QuantConnect.Statistics.FillMatchingMethod) -> QuantConnect.Statistics.TradeBuilder:
pass
ClosedTrades: typing.List[QuantConnect.Statistics.Trade]