bbstrader package
Module contents
Simplified Investment & Trading Toolkit with Python & C++
Subpackages
- bbstrader.api package
- bbstrader.btengine package
- Module contents
- Submodules
- bbstrader.btengine.backtest module
- bbstrader.btengine.data module
- bbstrader.btengine.event module
- bbstrader.btengine.execution module
- bbstrader.btengine.performance module
- bbstrader.btengine.portfolio module
PortfolioPortfolio.construct_all_holdings()Portfolio.construct_all_positions()Portfolio.construct_current_holdings()Portfolio.create_equity_curve_dataframe()Portfolio.generate_order()Portfolio.output_summary_stats()Portfolio.update_fill()Portfolio.update_holdings_from_fill()Portfolio.update_positions_from_fill()Portfolio.update_signal()Portfolio.update_timeindex()
- bbstrader.btengine.strategy module
BacktestStrategyBacktestStrategy.buy_limit()BacktestStrategy.buy_mkt()BacktestStrategy.buy_stop()BacktestStrategy.buy_stop_limit()BacktestStrategy.cashBacktestStrategy.check_pending_orders()BacktestStrategy.close_positions()BacktestStrategy.dataBacktestStrategy.eventsBacktestStrategy.get_asset_values()BacktestStrategy.get_update_from_portfolio()BacktestStrategy.holdingsBacktestStrategy.ordersBacktestStrategy.positionsBacktestStrategy.sell_limit()BacktestStrategy.sell_mkt()BacktestStrategy.sell_stop()BacktestStrategy.sell_stop_limit()BacktestStrategy.tradesBacktestStrategy.update_trades_from_fill()
- bbstrader.core package
- Module contents
- Submodules
- bbstrader.core.data module
- bbstrader.core.strategy module
StrategyTradeActionTradeAction.BLMTTradeAction.BMKTTradeAction.BSTPTradeAction.BSTPLMTTradeAction.BUYTradeAction.EXITTradeAction.EXIT_ALL_ORDERSTradeAction.EXIT_ALL_POSITIONSTradeAction.EXIT_LIMITTradeAction.EXIT_LONGTradeAction.EXIT_LONG_LIMITTradeAction.EXIT_LONG_STOPTradeAction.EXIT_LONG_STOP_LIMITTradeAction.EXIT_LOSINGSTradeAction.EXIT_PROFITABLESTradeAction.EXIT_SHORTTradeAction.EXIT_SHORT_LIMITTradeAction.EXIT_SHORT_STOPTradeAction.EXIT_SHORT_STOP_LIMITTradeAction.EXIT_STOPTradeAction.LONGTradeAction.SELLTradeAction.SHORTTradeAction.SLMTTradeAction.SMKTTradeAction.SSTPTradeAction.SSTPLMT
TradeSignalTradingModegenerate_signal()
- bbstrader.metatrader package
- Module contents
- Submodules
- bbstrader.metatrader.account module
AccountAccount.balanceAccount.brokerAccount.currencyAccount.equityAccount.get_account_info()Account.get_currency_rates()Account.get_orders()Account.get_orders_history()Account.get_positions()Account.get_rate_info()Account.get_stocks_from_country()Account.get_stocks_from_exchange()Account.get_symbol_info()Account.get_symbol_type()Account.get_symbols()Account.get_terminal_info()Account.get_tick_info()Account.get_today_deals()Account.get_trades_history()Account.infoAccount.leverageAccount.nameAccount.numberAccount.serverAccount.shutdown()Account.timezone
- bbstrader.metatrader.broker module
BrokerBroker.adjust_tick_values()Broker.countries_stocksBroker.exchangesBroker.get_broker_time()Broker.get_currency_conversion_factor()Broker.get_leverage_for_symbol()Broker.get_min_stop_level()Broker.get_symbol_type()Broker.get_symbols()Broker.get_symbols_by_category()Broker.get_terminal_timezone()Broker.initialize_connection()Broker.nameBroker.timezoneBroker.to_dict()Broker.validate_lot_size()
check_mt5_connection()
- bbstrader.metatrader.copier module
RunCopier()RunMultipleCopier()TradeCopierTradeCopier.copy_new_order()TradeCopier.copy_new_position()TradeCopier.copy_new_trade()TradeCopier.copy_orders()TradeCopier.copy_positions()TradeCopier.custom_loggerTradeCopier.destination_orders()TradeCopier.destination_positions()TradeCopier.destinationsTradeCopier.end_timeTradeCopier.errorsTradeCopier.filter_positions_and_orders()TradeCopier.get_copy_symbol()TradeCopier.get_orders()TradeCopier.get_positions()TradeCopier.handle_retcode()TradeCopier.iscopy_time()TradeCopier.isorder_modified()TradeCopier.isposition_modified()TradeCopier.log_error()TradeCopier.log_message()TradeCopier.log_queueTradeCopier.modify_order()TradeCopier.modify_position()TradeCopier.process_all_orders()TradeCopier.process_all_positions()TradeCopier.remove_order()TradeCopier.remove_position()TradeCopier.run()TradeCopier.runningTradeCopier.shutdown_eventTradeCopier.sleeptimeTradeCopier.slippage()TradeCopier.sourceTradeCopier.source_idTradeCopier.source_isuniqueTradeCopier.source_orders()TradeCopier.source_positions()TradeCopier.start_copy_process()TradeCopier.start_timeTradeCopier.stop()
config_copier()copier_worker_process()get_symbols_from_string()
- bbstrader.metatrader.rates module
- bbstrader.metatrader.risk module
RiskManagementRiskManagement.calculate_var()RiskManagement.currency_risk()RiskManagement.dailyddRiskManagement.expected_profit()RiskManagement.get_break_even()RiskManagement.get_currency_risk()RiskManagement.get_deviation()RiskManagement.get_hours()RiskManagement.get_lot()RiskManagement.get_minutes()RiskManagement.get_pchange_stop()RiskManagement.get_std_stop()RiskManagement.get_stop_loss()RiskManagement.get_take_profit()RiskManagement.get_trade_risk()RiskManagement.is_risk_ok()RiskManagement.max_trade()RiskManagement.maxriskRiskManagement.risk_level()RiskManagement.validate_currency_risk()RiskManagement.var_loss_value()RiskManagement.volume()
- bbstrader.metatrader.trade module
TradeTrade.beposTrade.break_even()Trade.break_even_request()Trade.bulk_close()Trade.buyposTrade.check()Trade.close_order()Trade.close_orders()Trade.close_position()Trade.close_positions()Trade.close_request()Trade.current_datetime()Trade.current_time()Trade.days_end()Trade.get_average_fees()Trade.get_current_buy_limits()Trade.get_current_buy_stop_limits()Trade.get_current_buy_stops()Trade.get_current_buys()Trade.get_current_losings()Trade.get_current_orders()Trade.get_current_positions()Trade.get_current_profitables()Trade.get_current_sell_limits()Trade.get_current_sell_stop_limits()Trade.get_current_sell_stops()Trade.get_current_sells()Trade.get_filtered_tickets()Trade.get_stats()Trade.get_today_deals()Trade.initialize()Trade.is_max_trades_reached()Trade.loggerTrade.modify_order()Trade.open_buy_position()Trade.open_position()Trade.open_sell_position()Trade.ordersTrade.positionsTrade.positive_profit()Trade.prepare_symbol()Trade.profit_target()Trade.request_result()Trade.retcodesTrade.risk_managment()Trade.select_symbol()Trade.sellposTrade.set_break_even()Trade.sharpe()Trade.sleep_time()Trade.statistics()Trade.summary()Trade.trading_time()Trade.win_trade()
create_trade_instance()
- bbstrader.metatrader.utils module
- bbstrader.models package
- bbstrader.trading package
- Module contents
- Submodules
- bbstrader.trading.execution module
- bbstrader.trading.strategy module
LiveStrategyLiveStrategy.accountLiveStrategy.cashLiveStrategy.eventsLiveStrategy.exit_positions()LiveStrategy.get_active_orders()LiveStrategy.get_asset_values()LiveStrategy.get_positions_prices()LiveStrategy.ispositions()LiveStrategy.ordersLiveStrategy.positionsLiveStrategy.send_trade_report()LiveStrategy.signal()
- bbstrader.trading.utils module
Submodules
bbstrader.compat module
bbstrader.config module
- class bbstrader.config.CustomFormatter(fmt=None, datefmt=None, style='%', validate=True, *, defaults=None)[source]
Bases:
Formatter- formatTime(record: LogRecord, datefmt: str | None = None) str[source]
Return the creation time of the specified LogRecord as formatted text.
This method should be called from format() by a formatter which wants to make use of a formatted time. This method can be overridden in formatters to provide for any specific requirement, but the basic behaviour is as follows: if datefmt (a string) is specified, it is used with time.strftime() to format the creation time of the record. Otherwise, an ISO8601-like (or RFC 3339-like) format is used. The resulting string is returned. This function uses a user-configurable function to convert the creation time to a tuple. By default, time.localtime() is used; to change this for a particular formatter instance, set the ‘converter’ attribute to a function with the same signature as time.localtime() or time.gmtime(). To change it for all formatters, for example if you want all logging times to be shown in GMT, set the ‘converter’ attribute in the Formatter class.
- class bbstrader.config.CustomLogger(name: str, level: int = 0)[source]
Bases:
Logger- log(level: int, msg: object, *args: object, custom_time: datetime | None = None, **kwargs: Any) None[source]
Log ‘msg % args’ with the integer severity ‘level’.
To pass exception information, use the keyword argument exc_info with a true value, e.g.
logger.log(level, “We have a %s”, “mysterious problem”, exc_info=True)