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

309 lines
12 KiB
Python

from .__Option_1 import *
import typing
import System.Collections.Concurrent
import System
import QuantConnect.Securities.Option
import QuantConnect.Securities
import QuantConnect.Orders.OptionExercise
import QuantConnect.Orders
import QuantConnect.Data.Market
import QuantConnect.Data
import QuantConnect
import Python.Runtime
import datetime
# no functions
# classes
class ConstantQLRiskFreeRateEstimator(System.object, QuantConnect.Securities.Option.IQLRiskFreeRateEstimator):
"""
Class implements default flat risk free curve, implementing QuantConnect.Securities.Option.IQLRiskFreeRateEstimator.
ConstantQLRiskFreeRateEstimator(riskFreeRate: float)
"""
def Estimate(self, security: QuantConnect.Securities.Security, slice: QuantConnect.Data.Slice, contract: QuantConnect.Data.Market.OptionContract) -> float:
pass
def __init__(self, riskFreeRate: float) -> QuantConnect.Securities.Option.ConstantQLRiskFreeRateEstimator:
pass
class CurrentPriceOptionPriceModel(System.object, QuantConnect.Securities.Option.IOptionPriceModel):
"""
Provides a default implementation of QuantConnect.Securities.Option.IOptionPriceModel that does not compute any
greeks and uses the current price for the theoretical price.
This is a stub implementation until the real models are implemented
CurrentPriceOptionPriceModel()
"""
def Evaluate(self, security: QuantConnect.Securities.Security, slice: QuantConnect.Data.Slice, contract: QuantConnect.Data.Market.OptionContract) -> QuantConnect.Securities.Option.OptionPriceModelResult:
pass
class EmptyOptionChainProvider(System.object, QuantConnect.Interfaces.IOptionChainProvider):
"""
An implementation of QuantConnect.Interfaces.IOptionChainProvider that always returns an empty list of contracts
EmptyOptionChainProvider()
"""
def GetOptionContractList(self, symbol: QuantConnect.Symbol, date: datetime.datetime) -> typing.List[QuantConnect.Symbol]:
pass
class IOptionPriceModel:
""" Defines a model used to calculate the theoretical price of an option contract. """
def Evaluate(self, security: QuantConnect.Securities.Security, slice: QuantConnect.Data.Slice, contract: QuantConnect.Data.Market.OptionContract) -> QuantConnect.Securities.Option.OptionPriceModelResult:
pass
class Option(QuantConnect.Securities.Security, QuantConnect.Interfaces.IOptionPrice, QuantConnect.Securities.IDerivativeSecurity, QuantConnect.Interfaces.ISecurityPrice):
"""
Option Security Object Implementation for Option Assets
Option(exchangeHours: SecurityExchangeHours, config: SubscriptionDataConfig, quoteCurrency: Cash, symbolProperties: OptionSymbolProperties, currencyConverter: ICurrencyConverter, registeredTypes: IRegisteredSecurityDataTypesProvider)
Option(symbol: Symbol, exchangeHours: SecurityExchangeHours, quoteCurrency: Cash, symbolProperties: OptionSymbolProperties, currencyConverter: ICurrencyConverter, registeredTypes: IRegisteredSecurityDataTypesProvider, securityCache: SecurityCache)
"""
def EvaluatePriceModel(self, slice: QuantConnect.Data.Slice, contract: QuantConnect.Data.Market.OptionContract) -> QuantConnect.Securities.Option.OptionPriceModelResult:
pass
def GetAggregateExerciseAmount(self) -> float:
pass
def GetExerciseQuantity(self, quantity: float) -> float:
pass
def GetIntrinsicValue(self, underlyingPrice: float) -> float:
pass
def GetPayOff(self, underlyingPrice: float) -> float:
pass
def IsAutoExercised(self, underlyingPrice: float) -> bool:
pass
def SetDataNormalizationMode(self, mode: QuantConnect.DataNormalizationMode) -> None:
pass
@typing.overload
def SetFilter(self, minStrike: int, maxStrike: int) -> None:
pass
@typing.overload
def SetFilter(self, minExpiry: datetime.timedelta, maxExpiry: datetime.timedelta) -> None:
pass
@typing.overload
def SetFilter(self, minStrike: int, maxStrike: int, minExpiry: datetime.timedelta, maxExpiry: datetime.timedelta) -> None:
pass
@typing.overload
def SetFilter(self, minStrike: int, maxStrike: int, minExpiryDays: int, maxExpiryDays: int) -> None:
pass
@typing.overload
def SetFilter(self, universeFunc: typing.Callable[[QuantConnect.Securities.OptionFilterUniverse], QuantConnect.Securities.OptionFilterUniverse]) -> None:
pass
@typing.overload
def SetFilter(self, universeFunc: Python.Runtime.PyObject) -> None:
pass
def SetFilter(self, *args) -> None:
pass
@typing.overload
def __init__(self, exchangeHours: QuantConnect.Securities.SecurityExchangeHours, config: QuantConnect.Data.SubscriptionDataConfig, quoteCurrency: QuantConnect.Securities.Cash, symbolProperties: QuantConnect.Securities.Option.OptionSymbolProperties, currencyConverter: QuantConnect.Securities.ICurrencyConverter, registeredTypes: QuantConnect.Securities.IRegisteredSecurityDataTypesProvider) -> QuantConnect.Securities.Option.Option:
pass
@typing.overload
def __init__(self, symbol: QuantConnect.Symbol, exchangeHours: QuantConnect.Securities.SecurityExchangeHours, quoteCurrency: QuantConnect.Securities.Cash, symbolProperties: QuantConnect.Securities.Option.OptionSymbolProperties, currencyConverter: QuantConnect.Securities.ICurrencyConverter, registeredTypes: QuantConnect.Securities.IRegisteredSecurityDataTypesProvider, securityCache: QuantConnect.Securities.SecurityCache) -> QuantConnect.Securities.Option.Option:
pass
def __init__(self, *args) -> QuantConnect.Securities.Option.Option:
pass
AskPrice: float
BidPrice: float
ContractFilter: QuantConnect.Securities.IDerivativeSecurityFilter
ContractMultiplier: int
ContractUnitOfTrade: int
EnableGreekApproximation: bool
ExerciseSettlement: QuantConnect.SettlementType
Expiry: datetime.datetime
IsOptionChain: bool
IsOptionContract: bool
OptionExerciseModel: QuantConnect.Orders.OptionExercise.IOptionExerciseModel
PriceModel: QuantConnect.Securities.Option.IOptionPriceModel
Right: QuantConnect.OptionRight
StrikePrice: float
Style: QuantConnect.OptionStyle
Underlying: QuantConnect.Securities.Security
SubscriptionsBag: System.Collections.Concurrent.ConcurrentBag[QuantConnect.Data.SubscriptionDataConfig]
DefaultSettlementDays: int
DefaultSettlementTime: TimeSpan
class OptionCache(QuantConnect.Securities.SecurityCache):
"""
Option specific caching support
OptionCache()
"""
class OptionDataFilter(QuantConnect.Securities.SecurityDataFilter, QuantConnect.Securities.Interfaces.ISecurityDataFilter):
"""
Option packet by packet data filtering mechanism for dynamically detecting bad ticks.
OptionDataFilter()
"""
class OptionExchange(QuantConnect.Securities.SecurityExchange):
"""
Option exchange class - information and helper tools for option exchange properties
OptionExchange(exchangeHours: SecurityExchangeHours)
"""
def __init__(self, exchangeHours: QuantConnect.Securities.SecurityExchangeHours) -> QuantConnect.Securities.Option.OptionExchange:
pass
TradingDaysPerYear: int
class OptionHolding(QuantConnect.Securities.SecurityHolding):
"""
Option holdings implementation of the base securities class
OptionHolding(security: Option, currencyConverter: ICurrencyConverter)
"""
def __init__(self, security: QuantConnect.Securities.Option.Option, currencyConverter: QuantConnect.Securities.ICurrencyConverter) -> QuantConnect.Securities.Option.OptionHolding:
pass
class OptionMarginModel(QuantConnect.Securities.SecurityMarginModel, QuantConnect.Securities.IBuyingPowerModel):
"""
Represents a simple option margin model.
OptionMarginModel(requiredFreeBuyingPowerPercent: Decimal)
"""
def GetLeverage(self, security: QuantConnect.Securities.Security) -> float:
pass
def SetLeverage(self, security: QuantConnect.Securities.Security, leverage: float) -> None:
pass
def __init__(self, requiredFreeBuyingPowerPercent: float) -> QuantConnect.Securities.Option.OptionMarginModel:
pass
RequiredFreeBuyingPowerPercent: float
class OptionPortfolioModel(QuantConnect.Securities.SecurityPortfolioModel, QuantConnect.Securities.ISecurityPortfolioModel):
"""
Provides an implementation of QuantConnect.Securities.ISecurityPortfolioModel for options that supports
default fills as well as option exercising.
OptionPortfolioModel()
"""
def ProcessExerciseFill(self, portfolio: QuantConnect.Securities.SecurityPortfolioManager, security: QuantConnect.Securities.Security, order: QuantConnect.Orders.Order, fill: QuantConnect.Orders.OrderEvent) -> None:
pass
def ProcessFill(self, portfolio: QuantConnect.Securities.SecurityPortfolioManager, security: QuantConnect.Securities.Security, fill: QuantConnect.Orders.OrderEvent) -> None:
pass
class OptionPriceModelResult(System.object):
"""
Result type for QuantConnect.Securities.Option.IOptionPriceModel.Evaluate(QuantConnect.Securities.Security,QuantConnect.Data.Slice,QuantConnect.Data.Market.OptionContract)
OptionPriceModelResult(theoreticalPrice: Decimal, greeks: Greeks)
OptionPriceModelResult(theoreticalPrice: Decimal, impliedVolatility: Func[Decimal], greeks: Func[Greeks])
"""
@typing.overload
def __init__(self, theoreticalPrice: float, greeks: QuantConnect.Data.Market.Greeks) -> QuantConnect.Securities.Option.OptionPriceModelResult:
pass
@typing.overload
def __init__(self, theoreticalPrice: float, impliedVolatility: typing.Callable[[], float], greeks: typing.Callable[[], QuantConnect.Data.Market.Greeks]) -> QuantConnect.Securities.Option.OptionPriceModelResult:
pass
def __init__(self, *args) -> QuantConnect.Securities.Option.OptionPriceModelResult:
pass
Greeks: QuantConnect.Data.Market.Greeks
ImpliedVolatility: float
TheoreticalPrice: float
class OptionPriceModels(System.object):
""" Static class contains definitions of major option pricing models that can be used in LEAN """
@staticmethod
def AdditiveEquiprobabilities() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def BaroneAdesiWhaley() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def BinomialCoxRossRubinstein() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def BinomialJarrowRudd() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def BinomialJoshi() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def BinomialLeisenReimer() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def BinomialTian() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def BinomialTrigeorgis() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def BjerksundStensland() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def BlackScholes() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def CrankNicolsonFD() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
@staticmethod
def Integral() -> QuantConnect.Securities.Option.IOptionPriceModel:
pass
__all__: list