Lean  $LEAN_TAG$
QuantConnect.Brokerages.OandaBrokerageModel Class Reference

Oanda Brokerage Model Implementation for Back Testing. More...

Inheritance diagram for QuantConnect.Brokerages.OandaBrokerageModel:
[legend]

Public Member Functions

 OandaBrokerageModel (AccountType accountType=AccountType.Margin)
 Initializes a new instance of the DefaultBrokerageModel class More...
 
override bool CanSubmitOrder (Security security, Order order, out BrokerageMessageEvent message)
 Returns true if the brokerage could accept this order. This takes into account order type, security type, and order size limits. More...
 
override IBenchmark GetBenchmark (SecurityManager securities)
 Get the benchmark for this model More...
 
override IFeeModel GetFeeModel (Security security)
 Gets a new fee model that represents this brokerage's fee structure More...
 
override ISettlementModel GetSettlementModel (Security security)
 Gets a new settlement model for the security More...
 
- Public Member Functions inherited from QuantConnect.Brokerages.DefaultBrokerageModel
 DefaultBrokerageModel (AccountType accountType=AccountType.Margin)
 Initializes a new instance of the DefaultBrokerageModel class More...
 
virtual bool CanUpdateOrder (Security security, Order order, UpdateOrderRequest request, out BrokerageMessageEvent message)
 Returns true if the brokerage would allow updating the order as specified by the request More...
 
virtual bool CanExecuteOrder (Security security, Order order)
 Returns true if the brokerage would be able to execute this order at this time assuming market prices are sufficient for the fill to take place. This is used to emulate the brokerage fills in backtesting and paper trading. For example some brokerages may not perform executions during extended market hours. This is not intended to be checking whether or not the exchange is open, that is handled in the Security.Exchange property. More...
 
virtual void ApplySplit (List< OrderTicket > tickets, Split split)
 Applies the split to the specified order ticket More...
 
virtual decimal GetLeverage (Security security)
 Gets the brokerage's leverage for the specified security More...
 
virtual IFillModel GetFillModel (Security security)
 Gets a new fill model that represents this brokerage's fill behavior More...
 
virtual ISlippageModel GetSlippageModel (Security security)
 Gets a new slippage model that represents this brokerage's fill slippage behavior More...
 
ISettlementModel GetSettlementModel (Security security, AccountType accountType)
 Gets a new settlement model for the security More...
 
virtual IBuyingPowerModel GetBuyingPowerModel (Security security)
 Gets a new buying power model for the security, returning the default model with the security's configured leverage. For cash accounts, leverage = 1 is used. More...
 
virtual IShortableProvider GetShortableProvider (Security security)
 Gets the shortable provider More...
 
virtual IMarginInterestRateModel GetMarginInterestRateModel (Security security)
 Gets a new margin interest rate model for the security More...
 
IBuyingPowerModel GetBuyingPowerModel (Security security, AccountType accountType)
 Gets a new buying power model for the security More...
 

Public Attributes

override IReadOnlyDictionary< SecurityType, string > DefaultMarkets => DefaultMarketMap
 Gets a map of the default markets to be used for each security type More...
 
- Public Attributes inherited from QuantConnect.Brokerages.DefaultBrokerageModel
virtual decimal RequiredFreeBuyingPowerPercent => 0m
 Gets the brokerages model percentage factor used to determine the required unused buying power for the account. From 1 to 0. Example: 0 means no unused buying power is required. 0.5 means 50% of the buying power should be left unused. More...
 

Static Public Attributes

static new readonly IReadOnlyDictionary< SecurityType, string > DefaultMarketMap
 The default markets for the fxcm brokerage More...
 
- Static Public Attributes inherited from QuantConnect.Brokerages.DefaultBrokerageModel
static readonly IReadOnlyDictionary< SecurityType, string > DefaultMarketMap
 The default markets for the backtesting brokerage More...
 

Additional Inherited Members

- Static Public Member Functions inherited from QuantConnect.Brokerages.DefaultBrokerageModel
static bool IsValidOrderSize (Security security, decimal orderQuantity, out BrokerageMessageEvent message)
 Checks if the order quantity is valid, it means, the order size is bigger than the minimum size allowed More...
 
- Properties inherited from QuantConnect.Brokerages.DefaultBrokerageModel
virtual AccountType AccountType [get]
 Gets or sets the account type used by this model More...
 
virtual IReadOnlyDictionary< SecurityType, string > DefaultMarkets [get]
 Gets a map of the default markets to be used for each security type More...
 
- Properties inherited from QuantConnect.Brokerages.IBrokerageModel
AccountType AccountType [get]
 Gets the account type used by this model More...
 
decimal RequiredFreeBuyingPowerPercent [get]
 Gets the brokerages model percentage factor used to determine the required unused buying power for the account. From 1 to 0. Example: 0 means no unused buying power is required. 0.5 means 50% of the buying power should be left unused. More...
 
IReadOnlyDictionary< SecurityType, string > DefaultMarkets [get]
 Gets a map of the default markets to be used for each security type More...
 

Detailed Description

Oanda Brokerage Model Implementation for Back Testing.

Definition at line 30 of file OandaBrokerageModel.cs.

Constructor & Destructor Documentation

◆ OandaBrokerageModel()

QuantConnect.Brokerages.OandaBrokerageModel.OandaBrokerageModel ( AccountType  accountType = AccountType.Margin)

Initializes a new instance of the DefaultBrokerageModel class

Parameters
accountTypeThe type of account to be modelled, defaults to AccountType.Margin

Definition at line 61 of file OandaBrokerageModel.cs.

Member Function Documentation

◆ CanSubmitOrder()

override bool QuantConnect.Brokerages.OandaBrokerageModel.CanSubmitOrder ( Security  security,
Order  order,
out BrokerageMessageEvent  message 
)
virtual

Returns true if the brokerage could accept this order. This takes into account order type, security type, and order size limits.

For example, a brokerage may have no connectivity at certain times, or an order rate/size limit

Parameters
security
orderThe order to be processed
messageIf this function returns false, a brokerage message detailing why the order may not be submitted
Returns
True if the brokerage could process the order, false otherwise

Reimplemented from QuantConnect.Brokerages.DefaultBrokerageModel.

Definition at line 81 of file OandaBrokerageModel.cs.

◆ GetBenchmark()

override IBenchmark QuantConnect.Brokerages.OandaBrokerageModel.GetBenchmark ( SecurityManager  securities)
virtual

Get the benchmark for this model

Parameters
securitiesSecurityService to create the security with if needed
Returns
The benchmark for this brokerage

Reimplemented from QuantConnect.Brokerages.DefaultBrokerageModel.

Definition at line 120 of file OandaBrokerageModel.cs.

Here is the call graph for this function:

◆ GetFeeModel()

override IFeeModel QuantConnect.Brokerages.OandaBrokerageModel.GetFeeModel ( Security  security)
virtual

Gets a new fee model that represents this brokerage's fee structure

Parameters
securityThe security to get a fee model for
Returns
The new fee model for this brokerage

Reimplemented from QuantConnect.Brokerages.DefaultBrokerageModel.

Definition at line 131 of file OandaBrokerageModel.cs.

◆ GetSettlementModel()

override ISettlementModel QuantConnect.Brokerages.OandaBrokerageModel.GetSettlementModel ( Security  security)
virtual

Gets a new settlement model for the security

Parameters
securityThe security to get a settlement model for
Returns
The settlement model for this brokerage

Reimplemented from QuantConnect.Brokerages.DefaultBrokerageModel.

Definition at line 141 of file OandaBrokerageModel.cs.

Member Data Documentation

◆ DefaultMarketMap

new readonly IReadOnlyDictionary<SecurityType, string> QuantConnect.Brokerages.OandaBrokerageModel.DefaultMarketMap
static
Initial value:
= new Dictionary<SecurityType, string>
{
{SecurityType.Base, Market.USA},
{SecurityType.Equity, Market.USA},
{SecurityType.Option, Market.USA},
{SecurityType.Forex, Market.Oanda},
{SecurityType.Cfd, Market.Oanda}
}.ToReadOnlyDictionary()

The default markets for the fxcm brokerage

Definition at line 35 of file OandaBrokerageModel.cs.

◆ DefaultMarkets

override IReadOnlyDictionary<SecurityType, string> QuantConnect.Brokerages.OandaBrokerageModel.DefaultMarkets => DefaultMarketMap

Gets a map of the default markets to be used for each security type

Definition at line 54 of file OandaBrokerageModel.cs.


The documentation for this class was generated from the following file: